ZBrushCentral

Dynamesh Shell Thickness Calculator [External]

This seemed like the most appropriate section to post this, despite not being a ZScript… I plan to make it one in the future though, once I’ve studied up on that more.

As someone who does a lot of 3D print work, it became very tedious to keep measuring to see if I got the right shell thickness after blindly selecting a thickness value.

What ‘Thickness’ your shell will end up is relative to the Dynamesh ‘Density’, ‘Thickness’ and your scene’s ‘Output Scale’ value, so to know the true thickness a given ‘Thickness’ value will give you isn’t very simple. This tool makes it very straight forward.

http://invertex.xyz/DynameshThicknessCalculator/

All the instructions are on the webpage.

(*Output Scale is a feature not many people know about, but often when you import an object it will have a custom ‘Output Scale’ applied, and this has an effect on your shell thickness generation, as well as what value shows in the “3D Print Exporter”. It’s also a handy way to scale everything in your scene for export and shell generation, without having to use the manipulator, nor will it affect how the ‘Dynamesh Density’ calculates your poly density, so you can scale as much as you want without needing to adjust the Density.)

(*Shell Creation tip: If you want to create a hollow mesh with no openings, you can simply use the 'Insert Sphere; brush, draw out a very tiny sphere on the mesh while holding ‘ALT’, clear the mask and then do your ‘Create Shell’ operation. The sphere will be meshed away since it was much smaller than your shell thickness, and you end up with a water-tight hollow mesh.)

(The math behind this is: (Thickness / Output Scale) * 0.5 * Dynamesh Resolution.
Hopefully in the future, Pixologic can integrate this math into the ‘Create Shell’ function so that actual scene units can be input instead of the current arbitrary value.)

Nicely done figuring out the math behind the shell thickness :+1:

I don’t do any 3D prints but I am sure those that do will find this very useful.

Thanks , that’s very good to know…

Thanks for the tip Invertex. :+1:small_orange_diamond:+1:small_orange_diamond:+1:small_orange_diamond:+1:small_orange_diamond:+1:
Adding to Calipers soon

1 Like

I was going crazy trying every time a different value of thickness …

Just tried and bookmarked your calculator.
It is very handy and useful: thank you very much!

1 Like

Hi Invertex, just checked out your work. My question is how on earth did you figure out the calculation behind this feature? Was it something intuitive? Was it through complete trial and error? Was it through somehow reading the source code within ZBrush?

Also, based on this, is it possible to derive equations between real world measurements and other ZBrush functions like Extract thickness, Unify Scale, etc.

1 Like

I had recognized the issue when dealing with preparing hollowed out prints for work and wanted a way to speed up the process instead of having to slice and measure the model everytime. It just took a bit of trial and error, testing different extremes and re-measuring to find an equation that always resulted in a consistent result.

In regards to those other options, for extract thickness at least I’d imagine so yeah. I haven’t touched Unify Scale much to speak on that one though.

Hey, this is an awesome little script and super helpful! This is very close to the last remaining piece I need to release a new plugin I’m working on for zbrush. But I’m looking to do it in a more custom way for the end user. Essentially what this part of the script is supposed to do is look at the mesh and inflate an unmasked area by a certain value. But currently that value is hard coded in the script. I’m noticing the same issue with mesh scale on my script as well. So if the mesh scale changes, I need a way to update the value in my script accordingly to adjust for this. I’m thinking either it will be a slider that the user just inputs their mesh scale and then it calculates the inflation amount and updates the script or even code that looks a the mesh scale and automatically updates the inflation amount. Is this possible? I’m really new to scripting. Currently my output mesh scale is set to “17.22964” and the inflation amount that works best is “10”. Thanks so much in advance, I know it’s not easy to calculate this stuff so any help is much appreciated!