[OpenSCAD] Discuss manifoldness, co-incident faces edges etc

Michael Marx michael at marx.id.au
Fri Nov 15 21:59:07 EST 2019

On the topic of, can we detect and/or fix it. I started with an edge.


Netfabb reports two 10x10x10 cubes with a shared edge, as having two holes, and also highlights the
edge as a self-intersection.

GUI repair doesn't fully fix it, the holes go away (ie the count in the repair stats = 0), but
there is still a self-intersection, on export it shows:


It splits the shared edge into three:


The blue edge (also an edge shared on one triangle on the back of that - left - cube) is no longer
the same edge as the two on the other cube (also two matching triangles behind the right cube). 


That seems like cheating??


The two vertices on the ends of the blue line are identical to the outer-ends of the red/yellow
respectively, mesh lab labels them non-manifold vertices.


So I presume the repair is targeted at making it printable, rather than fully manifold.

Also, isn't a vertex effectively in the middle of the larger blue-sided triangle breaking another
topology rule?


It still leaves, basically, a zero thickness join. Indeterminate on whether that is one object or
two. I looked at the STL, it hasn't[*] changed the position of the edges they are still co-axial. 

Just not the exact same segment along the axis.

Even nudging two of the four non-manifold vertices won't fix it.


[*] it actually did change them, by the tolerance in the above dialogue box, but it changed them
all, so they are effectively the same.


I imagine properly fixing it would require (assuming a mandate that 'touching' means joining)
turning the edge into a minimalist thickness solid.

e.g. using a cubic to overlap the edge:


If that thickness was something like three times the grid size, it would have little effect.


That in itself could cause other edges to become co-incident, requiring them to be 'thickened' too,
but at a grid like size it would be an extremely intricate model for that to cascade.


A similar strategy for a shared point, would be to make the point a minimal cube.


So, if there was a mode/option/parameter that said 'touch'=='join', is there a down side to
solidify an edge/point to create a solid join?









-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscad.org/pipermail/discuss_lists.openscad.org/attachments/20191116/d9693c4d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.jpg
Type: image/jpeg
Size: 17311 bytes
Desc: not available
URL: <http://lists.openscad.org/pipermail/discuss_lists.openscad.org/attachments/20191116/d9693c4d/attachment.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image004.jpg
Type: image/jpeg
Size: 21786 bytes
Desc: not available
URL: <http://lists.openscad.org/pipermail/discuss_lists.openscad.org/attachments/20191116/d9693c4d/attachment-0001.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image006.jpg
Type: image/jpeg
Size: 7107 bytes
Desc: not available
URL: <http://lists.openscad.org/pipermail/discuss_lists.openscad.org/attachments/20191116/d9693c4d/attachment-0002.jpg>

More information about the Discuss mailing list