<jmbldwn>
(FWIW, this model is entirely done with polyhedrons, no unions or differences)
<InPhase>
Do these polyhedrons touch?
<InPhase>
There is always an implicit union of all objects at the top level.
<jmbldwn>
Yes, all vertexes are computed to be identical.
<InPhase>
That is in general not sufficient.
<InPhase>
In some specific cases it will work, but not generally in all cases. The dividing line for failure is tricky to reason about. (For example it's not obvious to most people why the "Invalid!" example in that note should be invalid, given that people trust the math to be exact. It's just, not.
<InPhase>
)
<InPhase>
Although if you are using polyhedron manually, the other possibility is that you have some faces with the wrong winding order. You should also preview it with View, Thrown Together, and look for purple highlighted faces indicating they are inside out.
<jmbldwn>
I've done that, and indeed had to fix a few face rotations, but still no love from render.
<InPhase>
Then probably overlap rule.
<InPhase>
It is also possible you have a face inside out at one of the intersecting parts that you cannot see, so you might have to examine the polyhedrons individually.
<InPhase>
Polyhedron errors and stl inputs make up the bulk of the other reasons for bad renders. Failure to overlap is the most common though.
snaked has quit [Quit: Leaving]
<jmbldwn>
Ah, so there's no easy way to debug this. I've looked at every face in this model and don't see any remaining errors. Look how pretty: https://capture.dropbox.com/8TCXGBD7K9tEAIdM
<InPhase>
Why not make that one polyhedron call?
<jmbldwn>
What about degenerate triangles? It's possible I have some that have two identical points at extremes.
<InPhase>
Can you share source code for this?
<jmbldwn>
Like the top of the sphere, where multiple faces come together at the north pole.
<jmbldwn>
Would love to. Do I just paste it here or is there a better way?
<InPhase>
Never paste into IRC, it's frowned upon.
<teepee>
that pretty pinkish color means the object is turned inside-out
<jmbldwn>
I had it the other way and flipped it (playing whack-a-mole)
<InPhase>
jmbldwn: There are some potential weird issues with the centerpiece of that spiral as well.
<teepee>
oh, it tries to patch together single faces as polygons
<teepee>
that's not supported at all
<InPhase>
jmbldwn: The vertices don't exactly align because they are actually not angularly aligned, so you have vertices in the middle.
<teepee>
the result of a polyhedon call needs to be a solid object
<InPhase>
Oh yeah, also that. :)
<jmbldwn>
Ah, so I shouldn't think of this as a surface modeler.
<jmbldwn>
I assumed I'd be able to just specify the piece parts of the model as surfaces and they'd join together.
<teepee>
only if you collect all surface data and push that into a single polyhedron
<jmbldwn>
That'd be hard. I'll try to make each chunk of the hemisphere into a solid.
<teepee>
in general the subtitle "solid modeller" is sort-of enforced in the geometry engine so there's only rare cases where some cheating is possible
<teepee>
why, if you already generate the surface data, that should be fine
<teepee>
the only problem is collecting it into a single point / faces
<jmbldwn>
I just generate it a slice at a time.
<teepee>
hmm
<jmbldwn>
I'd just have to collect all of my points and funnel it into a single polyhedron. It'd be a rewrite. I also ran into a snag with for loops having too many iterations in my first attempt. This tool is a little finicky.
<teepee>
the screenshot looks pretty blocky, so how is that triggering 1 million iteration limits?
FearTheCowboy has joined #openscad
<jmbldwn>
I didn't see the iteration limit issue.
Guest93 has joined #openscad
Guest93 has quit [Client Quit]
<jmbldwn>
Oh, the iteration issue was in my first attempt where I did the spiral continuously, wrapping a theta variable around the horn multiple times.
<jmbldwn>
I broke it down into 360-degree loops to simplify it.
jmbldwn has quit [Quit: Ping timeout (120 seconds)]
<InPhase>
The version I did requires some serious clean-up (too much cruft carried over from the original that isn't needed anymore), and has an artifact to fix, but it renders at least. :)
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
teepee has quit [Remote host closed the connection]
<InPhase>
jmbldwn: The version I did requires some serious clean-up (too much cruft carried over from the original that isn't needed anymore), and has an artifact to fix, but it renders at least. :)
<InPhase>
I did not take the time to understand your math, but just grabbed the values that worked out without thinking for demo purposes. Presumably you could clean it up from there.
jmbldwn has quit [Quit: Ping timeout (120 seconds)]
<J1A8484>
it looks like there would be a simpler solution - if it is not an exercise why people often choose the hard way?
<InPhase>
There probably isn't a simpler solution (other than cleaning up the cruft). That spiral structure inside the object is basically a thread, so it's equivalent to the challenge of making good threads.
<J1A8484>
ah didn't see it is a spiral .. well ok - should have suggested close points then Ü
<J1A8484>
open points?
<retrosenator>
everone like hard way
<J1A8484>
is this art? a spherical thread wouldn't make sense from a technical POV