I have a surface that I’m trying to put custom colors (color banding) to. A long frustration of mine with C3D. I believe that I’m close to making this work, but on my color range my first color is blue and then all of the other banding is white. I’m not sure how to fix this and would like to know if anyone else has any insight.
Thanks!
You need to provide the max and min elevations as a lists related to the bands
Colour range value is between 0 and 1
2 Likes
You can also use Math.RemapRange to get a clamped value for the elevation interval.
Oh, I just realised that you’ve actually used Math.RemapRange in your OP but for a different purpose. Clamp the elevations and that should help.
1 Like
You can also use the nodes from The Civil Nodes package:
No need to create a range, just apply a list of colors to one or more Surfaces, enter the min and max elevation and a stepsize:
3 Likes
feature request for you next time you use this: let the min and max be ‘null’ by default, if null extract the min and the max from the surface.
It is not common to use the exact min and max elevation but a floor and ceiling of the min and max of all Surfaces. But not always in full meters. We’ve done analyses in millimeters of concrete floors, so an automated rounding is also not generic.
Although I am in favour of input ports with default values, I am not quite sure if this will be helpful here. But maybe I can do some magic with automatic values. I’ll put it on the list.
3 Likes
My developments don’t mirror yours, so take this with a grain of salt.
My current working standard is no more than two inputs without a default per node. Even if the assumed doesn’t make sense in all cases, having a default or a retrieved value seems to result in less “this feels broken” from end users who otherwise might not know what to put in there. I assume that you can’t just use a value of “0” for the minimum as a project in say Death Valley would always be below that, and you can’t use a value of “100” for the maximum as a project on Mount Everest would have similar issues. But extracting the values from the surface seems to make sense at first glance.
1 Like
That’s a solid standard to live by, Jacob. Extracting the values directly from the surface definitely feels more robust than hardcoding a 0 or 100. It keeps the graph cleaner and way more user-friendly for people who aren’t as comfortable with Dynamo.