2
$\begingroup$

The solidify modifier creates new geometry normal to the surface of a base mesh. This works well in many applications but creates intersecting faces for many geometries beyond a critical thickness.

Solidify modifier.

Are there any straight-forward, reliable methods of creating a more desirable internal mesh? There are two acceptable outcomes:

  • Preserve the detail of the base mesh
  • Simplify the geometry (beyond a critical thickness)

Desired outcome.

There are manual methods of addressing the problem but this does not scale well; achieving a uniform wall thickness across any non-trivial mesh presents quite the undertaking.

This problem crops up frequently in the world of 3D printing where solid parts are needlessly resource-intensive.

$\endgroup$
  • 3
    $\begingroup$ I am not aware of any relatively automated method to achieve this since it is not trivial to calculate intersections and solve the resulting geometry. There are far better tools for these kinds of operations in the realm of NURBS and Solid modelling in CAD applications. With meshes you'd much better luck doing the opposite: designing the inner tighter curved "concave" geometry and add thickness outwards, though doubly curved meshes would still remain an issue. $\endgroup$ – Duarte Farrajota Ramos Jan 24 '18 at 0:29
  • $\begingroup$ @DuarteFarrajotaRamos : Agreed; I commonly use solid modeling tools but for models that were generated in a mesh-based application this is not an option. $\endgroup$ – splic Jan 24 '18 at 2:44
1
$\begingroup$

Yes. Depends on your definition of straightforward. Using python and MetaBalls. MetaBalls are volume based so you are guaranteed a manifold outcome with no self intersections. However detail preservation will only be to the resolution of your offset and to the detail of the volumetric isosurface calculation with the metaballs. I use several methods

1) Add a metaball at every vertex of radius R = offset 2) Add a metaball at every vertex and a meta elipse at the center of every face (circumscribed by the face)

I pre-process a copy of the mesh to have vertex density such that distance between metaballs is about 1/2 the desired offset.

Works great. If you want code. It's going to be a bear to read because it's part of an enormous dental project.

https://github.com/patmo141/d3guard/blob/master/meta_modelling.py

https://www.youtube.com/watch?v=Ih4_wb1tegE

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.