Identify wall thickness in shelled solid

I have made models for 3D print. The shell command didn’t work so I did it by hand (copying each section and scaling down and then subtract boolean). However, the print service says that my model has areas with less than 1mm thickness. I tried not to shell aggressively, but how do identify the wall thickness now???

Hi Karen,

in Rhino you could use the ClippingPlane command to inspect your mesh visually by clipping parts away. Same is possible using the ThicknessAnalysis command.

does this help ?


Hi KarenE

You might be helped with the command _ThicknessAnalysis.
See helpfile on this command here:


Karen, many will agree that Rhino needs a more useful thickness analysis tool. Something other than just pretty colors showing thickness difference. There are some model clean up tools out there for other products that show the exact thickness at point of selection, Rhino should have the same thing. Perhaps one of the more intrepid plugin writers has something or will be creating something for us soon.
I’m not fully aware of all of this forum’s posting rules so I don’t want to link to another product here. Contact me privately and I will share.

Hi Karen- in case it helps, I’ve attached an old script I dug up that allows you to measure thickness at specific locations- I think it works ok- it is pretty old and clunky but I cleaned up a little and it seems OK.

Thickness (2).zip (1.9 KB)

To use the script, extract and save the .rvb file from the attached zip archive, then drag and drop the saved rvb over an open Rhino V4 or v5 window. This will load the script, set it up to load on startup in the future and register the alias

Thickness (measures thickness perpendicular to the object at the pick location)
ThicknessDir (measures thickness in a user set direction to the object at the pick location)

that will run the script much like a regular command. An alias can be typed or added to a toolbar button or keyboard shortcut (F-key).


Pascal, Thanks for this, it works well for me. I knew there were things like this floating around. What would it take to get the thickness measurement output to a dimension leader so it would stick around for later reference?
thanks again.

Thank you all!! Your advice was VERY helpful. The print is being made!

Hi Carvecream- see the attached- it has an option to mark the thickness- currently a dot, because that was easiest, but a leader is also possible though it will involve more UI steps probably… And these could go on a layer or something as well, it does not do any of that. Akso, a little error trapping added.

Thickness (3).zip (2.0 KB)


Version 3 isn’t working here; it won’t allow me to select the object. V2 is great though! I usually pop my object over to Netfabb, they have a very nice implementation of this tool which marks both sides and has a persistent label, but of course it would be better to have a native tool.

I also like your Clearance script for finding a minimum thickness, but I have to explode the part first and check between individual surfaces.

Feature request for V6: Thickness Dimension tool with dynamic updating, and options to find minimum or maximum thickness

Hi Mark- what is not working? Any error message? Did you replace V2 with the new one, or are they both loading?

The script can easily mark both sides or draw a line at the pick point indicating thickness, with a label if needed - would that help?


Hi Pascal,
I too am having (3) work here (using loadscript). Nothing happens at all.
And I have not tried (2).

I should mention: Version 5 SR7 64-bit
(5.7.31105.12495, 11/5/2013)

thanks Pascal,
this v3 works fine on my end. The dots work great , but if I could get a standard dimension type entity with an extended leader, would be greater. But this is saves me from netfabb for some things.
thanks again.


Yes, a line through both pick points and label would be great. Thanks!

V3 asks me to select an object, but then I cannot do so. Window, crossing, selall, nothing selects. Pre-selection un-selects when command is invoked. Tried on builds 10-28 and 11-5, Win7 64. No error message.

Mark, the script will not let you select an open surface I think - I need to handle that better- I did make some changes to allow zero thickness to be registered - if there is no surface opposite the pick point, but I think it still filters out open surfaces - I’ll take a look and meantime please try on a box or something to be sure…



Well, turns out V3 does work here, just not on the special case I had quickly tried it on, which was a closed, single surface, such as a revolved form or an ellipsoid. I happened to test out V2 on a polysurface, and when it worked I thought the problem was V3. Now that I understand, I will mesh closed single surfaces and then use Thickness on the mesh.

Thanks for all your scripts, I use them often.

Hi Mark, all- here’s an update- it makes leaders in the current dimstyle… now, since leaders need a plane and the surface could be in any orientation it gets a bit tricky, which is why the Dots initially. I assume the leader should try to be readable level with the current CPlane in this script- if I’ve done it right it should be but I can imagine you will find cases that mess up.

-a line is drawn if Mark=Yes
-Lines and labels are all grouped- not sure if that if good or not.
-when the label is on, I do not pop up the message box with the thickness results.
-accepts surfaces now

See how that works for you…

Thickness (4).zip (2.4 KB)



Wow, that was quick–Thickness (4) now works on closed single surfaces, with all the bells and whistles! Yes, I like the labels grouped, makes for easy clean-up after checking an object.

Hi Mark- Sorry- I fixed a bug- the ThicknessDir part was broken, should be OK now.

Thickness (5).zip (2.4 KB)


Thanks Pascal. I tried it out, and my first custom Plug-in worked great. I haven’t found a use for it, but I bet I do. It has opened up a whole new interest in writing custom scripts. is there an easy way to paypal you a small donation for your time ?

Heh heh- no, but if you are ever in Seattle, I’ll gladly accept a beer!


1 Like