Support => Wish List => Topic started by: Paul_W on April 17, 2017, 01:37:56 PM

Title: Improvement for Make Solid?
Post by: Paul_W on April 17, 2017, 01:37:56 PM
I avoid the Make Solid function because of the defects that are invariably generated in the kinds of models I use which are not organic.
I'm not very familiar with the techniques used, (marching cubes etc) but I was thinking of a much lighter method that would preserve the majority of the surface detail - completely unchanged.

You can determine if a whole range of triangles are on the outside, and not intersecting with others.  Copy those as-is.  Only apply the fancy stuff in the transition zones, eliminating small cracks. 

Is that a do-able approach?
Title: Re: Improvement for Make Solid?
Post by: MagWeb on April 17, 2017, 06:27:40 PM
Don't get me wrong. Things exists just to get better. I'm dreaming as well of something like this...

To explain what MakeSolid does (simplified as I understand) and its awesome power:

It's a voxelizing ( rasterizing )  reconstruction of a given 3D shape. Meaning it builds a cubic 3D grid of smaller cubes around your source object. Each cube (cell) intersected by the given surface calculates a 3d point which represents the given intersecting surface. For there's a known stacking of the cubes one can find the order to connect the points (vertices) to a mesh , to ignore interior stuff and to find connections between outmost surfaces.

The better the resolution(smaller the size) of the cells (voxels), the better will be the result of this attempt.
Besides the cell size (in MM terms: "SolidAccuracy") gives you the parameter MeshDensity. This forces a triangle of a size fitting into a defined XYZ cell size again.
This advanced attempt needs some user's experience. Basically for both parameters: The bigger is the better (at costs of processing time and resulting file size). (BTW: Are you aware of the fact of the possibility to drag a slider over its limit by moving the mouse little upwards while dragging or simply set its target value by setting its value manually by double clicking its displayed value?)

In MakeSolid you may also reproject hard edges of the source mesh onto its result by setting SharpEdgePreseve as SolidType globally.


For MM keeps the source mesh (hidden): You can reproject  the MakeSolid result onto its source set as a Target (magnet icon activated in ObjectBrowser).
Either by selecting a region of the MakeSolid result and running SELECT/Edit/AttractToTarget
Or: By SCULPT/Attract brush and do it manually on any region you wish to be attracted/refined.

Title: Re: Improvement for Make Solid?
Post by: Paul_W on April 18, 2017, 02:00:28 AM
Thank you for your suggestions.
I have tried all of those options (except for re-projecting).

In order to keep sharp details in very large models that's going to be a ton of triangles, and time, and still seems to end up with some damage - the voxels don't line up or some such. 

So I'm back to wondering - would it be possible to have adaptive resampling - don't re-sample the entire object if you don't have to, just the bits near boundaries.  Much less triangles, much less time, less chance of error.

Title: Re: Improvement for Make Solid?
Post by: Onisaki on May 11, 2017, 03:15:11 AM
I have benefited from your information a lot.