How to make a slope map?

I have the topography for a site. I would like to make a map that shows different colors for different slopes. Then I can easily see the steep sloped areas of the site and gentle slope areas. Anybody know a simple way to do that?

You could take a look at the extension warehouse. A quick search produced these by Chris Fullmer.


CLF Color by Slope seems to be aiming at exactly what I want. However, I couldn’t seem to get very readable results from it.
Here is an example.ColorBySlope
Although there are very significant differences in slope on this topography, they are almost invisible in the graphic. I tried a number of different settings, but could seem to get anything that made the slope differences stand out.

I have used that extension a few times before and got good results… resolution detail of course depends on your facemesh sizes, last use was in 2018…

Not at my PC so will open up an old file and check settings later today

The challenge here is 3 things: 1. slope mesh detail, 2. color choice, and 3. number of color divisions, ie slope gradient.

See my quick comparison. I tried using your colors first which makes it harder to see the slope against a dark color. Next, I switched my lowest slope color to white so that steepest slope color (red) pops better. The next two variations are testing different subdivision numbers. 10 seems to work the best as it shows most of the lower slopes as white with the steeper slopes transitioning from pink to red.

Lastly, I copied just the steepest slopes from my ‘3 divisions’ version and placed them over my ‘10 divisions’ version in order to really ‘pop’ the difference.

Let me know if that helps clarify things a bit. Also, I used Artisan extension to subdivided my terrain mesh so I could get a bit more detail from the color gradations. If I were to subdivided it again it would look even better.

*Edit. Also, make sure to turn off ‘Use sun for shading’ in your Shadows settings as that can make it harder to see color as well. Good luck.


Thanks. That helped a lot.
One mistake I was making, I didn’t know how to specify colors with RGB numbers. I was starting with RGB 0,0,0 which I was thinking was white, but is black. and RGB 0,0,255 starting with blue, which is just as bad as black.
Anyway, your recommended values worked well.

Awesome. Yeah the colors make a big difference. I’ll talk to Chris Fullmer and see if I can get him to rewrite the script with a color picker. Ha wouldn’t that be better than looking up RGB numbers? @ChrisFullmer :wink:

he does have an on-screen color picker that he could utilise…


Do you know an easy way to get the slope of a plane as a numerical value?

Like as a percentage? like auto calculating rise over run?

Yes, that would be excellent. An angle in degrees also works.

You could give this extension a try. I just tested it out and it seems to work ok. It provides Rise, Run and Slope %. No angles but you can get that with another extension here.

See example:

With XRAY mode on so you can see how it inserts the slope info direction into the slope after you’ve set a start and end point of your slope. I also copied it off to the side to do they angle measurement. Notice how I stayed within the dark red color only here so that I can get just the percentage of the steepest slope only.

Does that answer your question?

FYI CLF Color by Slope gives a slope range. When I said ‘steepest’ slope color, after checking several points within that color range, it’s giving me back a range from approx. 68%-90%. I’m going to try it again with either less or more ‘color divisions’ to see if it will kick back a consistent percentage.

1 Like

Ok, since I’m learning as I’m going here and thinking out loud, I think I’ll wrap up by saying that you can measure smaller segments for more accuracy or larger areas for slope average. See example where I measured both segments then did them as one and you can see how it splits the difference and provides and average:

Hi Eric,
Interesting plug-ins.
I think there is a problem with the calculation. Each line on the face would have a different slope. All lines perpendicular to the face have the same slope. It is 90 degrees different than the slope of the plane. If you know the perpendicular line you can calculate the slope of the plane.
A long time ago I used to know the mathematics for calculating that line from 3 points on the plane. But I have forgotten it.
You can create it graphically with push pull. Then draw a vertical line from a point on one of the perpendicular edges. Then measure the angle between. But that is a lot of work for what I had in mind.

You could try the slope markers extension John McClenahan and I recently posted on the sketchucation plugin store.

Hi Steve,
Your extension gives the information I am looking for.
Unfortunately, it doesn’t display it in the way I’m hoping to manage. Partly because there are thousands of faces that I need to categorize. And because the markers are too small when they are displayed on so many faces.

I’m looking for a simple way to show the buildable areas of this site or clearly demarcate areas of different steepness. The Color by Slope extension doesn’t come out very clear. The ideal thing would be if there was strong color distinction between areas of different slope. For example, everything with greater than 12:12 would be red. Everything between 9:12 and 4:12 yellow, between 4:12 and 2:12 light green, less than 2:12 dark green. Or something like that. The site is rather large. Actually larger than what is shown in the drawing I uploaded. I’m uploading a more recent version that has a scene with scenes that have a traditional topo with contours and one using Color by Slope.PtMolate.skp (5.2 MB)


I quickly wrote a single-file plugin, Fredo6_ColorBySlopeThreshold.rb that assigns colors to a mesh of faces based on a list of slope angles (in degrees).

  • The color is constant in each slope interval. It is interpolated from the colors specified for the lowest and highest slopes.
  • Slopes are computed based on the angle of their normal with the horizontal plane
  • You can optionally specify a legend, which is created as a FaceMe component. It optionally includes the face areas for each slope interval.
  • You can freely modify the specifications of slope angles, colors and legend.
  • IMPORTANT: the plugin assumes that faces are enclosed within a Group or a Component.

To use the plugin

  1. Select the Group or Component enclosing the faces (note that you can select several ones)
  2. Invoke the plugin, from its menu located in the Extension menu
  3. Specify the angles, colors and legend parameters in the dialog box
  4. Press OK and this is done
  5. When the faces are colorized, you can invoke the plugin again and change the specifications. Colors will be reassign and the legend replaced if it is displayed.


I produced a short video to explain the principles.

The plugin is now published as a regular extension FredoTools::ColorBySlope on Sketchucation.


PS: I’ll probably integrate the plugin in the FredoTools extension, as it is standalone. If any artist around has an idea for a toolbar icon…
EDIT: this is done by now


Merci Fredo! Can’t wait to test this out!

Update - Fantastic! Works great with the addition of TIG’s Contour Maker.

Wow! This is wonderful. Thank you.

Now I feel like a maniac to ask another question. Can you think of a way that I can project this onto a map of the site? That is, see the color superimposed on the roads, or contours, or even the aerial photo of the site?

just capture as a plan view image (png) in SU then overlay in your presentation software,… Powerpoint in my case…if in a hurry just use screen capture, but for consistency and reapeatability, set up plan view scenes in SU.