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

arnholm at arnholm.org arnholm at arnholm.org
Fri Nov 15 02:18:19 EST 2019

On 2019-11-15 01:25, Jordan Brown wrote:
> Good question, but you don't need self-intersection to have to answer
> that question.  What color do you get if you have two independent
> strokes of different color that overlap?

Since this is an analogy of booleans the answer is that you will have to 
apply the proper colour model (additive or subtractive or something 
else)  to find the answer. This is possible in a union of two bodies, 
see below.

> Yes.  (It need not be vertices.  Strictly, I think it's that one or
> more edges penetrate one or more faces.)

Agreed, I just simplified it.

> Indeed, two material objects cannot occupy the same space.  But again
> you don't have to get self-intersection to have that problem; you
> can't have two independent steel rods overlap either.  We *do* allow
> two cylinders to overlap, via union, so our cylinders are not steel
> rods.  Two independent cylinders are allowed to occupy the same space,
> so why isn't a bent cylinder allowed to have two parts that occupy the
> same space?

The answer is that when you union two different cylinders we have a well 
understood process (boolean union) to resolve overlaps that typically 
also offer a way to handle a way to handle properties, at least I 
believe that is the case in Carve even if I have not used those 
features. I don't know if CGAL has something in that area.

However, there is no union operator that I know of that is able to 
handle "self-unions", and thus no way to handle the properties that may 
not necessarily be constant throughout the solid.

Since this is about manifoldness, it is worth mentioning that solids 
with different subvolumes consisting of different materials (e.g. 
different plastic colour) is a good example where something else than 
2-manifold solids is both useful and even required. The internal 
boundary between the materials causes the body to have N-manifold edges, 
and faces with no "outside". This is is perfectly meaningful both 
topologically and physically, such solids are all around us.

Returning to the bent cylinder case, if it was all one material you 
could argue that selecting the material in the resulting overlap would 
not matter since it would be the same either way (assuming the property 
was constant that is, but you still have to figure out how to do self 
union). If the bar was N-manifold with different materials you would 
have to resolve the property issue.

So I think the answer to your question about the difference between two 
overlapping cylinders vs. one self-overlapping bent cylinder is that 
union is defined for the first case, but I am not so sure about the 
other. Perhaps a self-union can be defined that resolves self overlaps, 
I have not studied that.

Carsten Arnholm

More information about the Discuss mailing list