boolean troubles

Next
 From:  yophie
7004.1 
I'm not sure if this is the place to ask about problems with personal projects, so feel free to move/delete.

I've managed to create exactly the shape that I want to boolean out of the main cup shape



but it needs to be repeated twelve times and that's where we run into problems. For some reason the first 'lobe' cuts out just fine using the difference boolean


but after that the boolean just creates a hole


Zooming in on the lobes showed me that the guides I used to sweep the lobe shape were not perfectly aligned. I'm sure this is where the trouble stems from. Ideally each guideline for the lobes should link up perfectly to create a single surface (or better yet, solid) with which to boolean, but I have no idea how to do this. I've tried using the join and align functions to no avail - what should I be doing differently?

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
7004.2 In reply to 7004.1 
Why not just circular array the good section?

Please post .3dm

- Brian
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
7004.3 In reply to 7004.1 
Hi yophie, yes like Brian says above if you manage to get one good section, you can possibly use Transform > Array > Circular to replicate it around and then join the pieces together.

If you're still having problems, if you can please post the 3DM model file of your object before you tried the boolean on it, that would then make it a lot easier to zoom in and see what's going on and give some better feedback.

Also which version of MoI are you using? There have been some tune-ups to some of these kinds of "coming to a single crown point" type intersection calculations in MoI version 3.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  yophie
7004.4 
Thanks for the responses. I'm using the trial version of 3 — I just started using the program last week; I'll purchase soon.

I had tried the array method before posting, and couldn't get the one good section "cut out" of the rest of the body because objects weren't perfectly aligned. After being more meticulous about which lines I selected, the array worked, but since the first section wasn't perfect, I still have double (or triple?) lines in places. You'll see that in the top view of the .3dm file.

This is creating a new set of problems:

1) When exporting .stl or .obj at both high and low poly counts, the geometry is not symmetrical and I get artifacts that are not trivial to remedy in other programs (like subsurf lumps and holes in Blender)


2) When insetting/offsetting to create thickness, all calculations fail, whether I select a single surface at a time, or try for the whole object at once (ideal)

3) In order to bypass that problem, I just scaled one section down and arrayed. That worked, but in order to create a lip merging the two surfaces at the top, I tried blending. The first section blended fine, but all subsequent sections failed. Both inside and outside edges are made of many little bits as a result of previous functions. This can't be helping.

With a lot of futzing and time these shapes will probably function, but I'd rather work with clean geometry from the start.

I started with just the interior and exterior curve of the lobe. I was careful (I thought) to make the two lines fall precisely on two dimensions, then rotated one 15°. Is it possible when I swept a surface between those curves, something moved a fraction of a degree?

Thanks again for the help,

Sophie

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
7004.5 In reply to 7004.4 
Hi Sophie, so unfortunately some of your new problems are fairly expected in nature.

> 1) When exporting .stl or .obj at both high and low poly counts, the geometry is not
> symmetrical and I get artifacts that are not trivial to remedy in other programs (like
> subsurf lumps and holes in Blender)

Applying subdivision surface smoothing on a mesh needs some careful arrangement in the mesh topology - the mesh needs to be specially designed to work well for subdivision smoothing and the mesh output from MoI is not designed for that, it's designed for rendering directly or 3D printing, not for applying sub-d smoothing on it.

You generally would need to reconstruct a mesh using retopologizing tools in order to get one suitable for sub-d smoothing. But usually with NURBS modeling you generate a smoothed object directly by things like fillets on it, so typically the model in its exported state is already in the smooth shape and does not have further sub-d smoothing applied on top of that.


> 2) When insetting/offsetting to create thickness, all calculations fail, whether I select a single surface at a time, or
> try for the whole object at once (ideal)

Unfortunately inset/offset in the geometry library that MoI uses is not particularly robust, it will get confused if you have various types of complex corner junctures which is easy to arrive at when you have several surfaces all at different angles to one another meeting at sharp corners. The offset of such structures is kind of more complicated than it would initially seem. You'll probably need to make an inner core piece by doing scaling rather than offsetting.


> I was careful (I thought) to make the two lines fall precisely on two dimensions, then rotated one 15°.
> Is it possible when I swept a surface between those curves, something moved a fraction of a degree?

Hmmm, difficult to say without seeing the specific 2 lines in their before and after rotated state.

Possibly you're running into the same thing discussed in this previous thread here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=6835.1

That's where if you have angled something in one of the 2D views, if you then rotate it in the top view it's just a normal result that you will not have the same angle in the original projected view anymore...

But it's difficult to know for sure what you were running into here without seeing individual steps and the actual lines and so forth...

I'll take a look at your file and see if I can give you any feedback based off of that.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
7004.6 In reply to 7004.4 
Hi Sophie, so off the bat after looking at your model I'd say you're running into some problems from some super skinny compressed geometry. When surfaces are compressed down to some really skinny needle like shape it can make a lot of operations that involve complex calculations like surface extensions and intersections to become a lot more difficult to do well.

Your skinny compressed shape starts in this area here:



And then continues down down down to the end like this getting skinnier and skinnier:




It's going to just generally cause problems to have that type of slivery shapes.

Another problem area is a little gap between pieces here:






These areas need to be a bit more crisply defined, like the transition between the pieces would want to be edges that are shaped more like this:





Looking at some of the surfaces involved it looks like you may have ended up with this by cutting 2 pieces that have a lot of shared surface area meaning that the original surface and the cutting surface approached each other and kind of skimmed along each other with a lot of overlapping area rather than meeting at a more sharp and distinct intersection.

Maybe we should go back a few steps and see how just one individual section was formed so that can get tuned up with better quality non-slivery geometry more at the start, once you have things like that in your shape as its main pieces other operations that try to construct things off of them like offsetting will tend to inherit and even exaggerate the problems.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
7004.7 In reply to 7004.4 
the skimming thing is this piece here:



In the upper area, that surface skims along the main body part up here:



And it also skims along the very same shape along that needle area - for things like this it's usually better if a cutting surface more sharply cuts through the other surface. 2 surfaces that follow along a largely similar shape across a large region will tend to produce complex intersections, a more sharply pushing through one would be shaped more like this maybe:



- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  yophie
7004.8 In reply to 7004.6 
This is so great.

After posting, I was starting to figure as much about the way that I created the booleans, so I started from scratch with clean geometry and got something much closer to what I was imagining. You are absolutely correct about the fact that my two profiles - the clean one and the one that I used to boolean - were very close to each other. I will definitely make the next one more like your sketch.

Thank you so much for the detailed explanation. Understanding the underlying structure, where the various geometries have trouble interfacing and such, is really helpful.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  yophie
7004.9 In reply to 7004.7 
I created some elaborate surfaces to construct a better boolean


and it worked! Sort of. The first 11 worked, the twelfth created what must be a bug.

I've attached the .3dm, and as you'll see, the area where the lobes are have developed a pixelated half-covering that thinks it's part of the surface of my cup. I don't know where it came from, or have any idea how to remove it. Thoughts?


  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
7004.10 In reply to 7004.9 
Hi Sophie things like that usually means that a trimming boundary has become malformed in some way, like too large of gaps between segments or also if it has trim curves that criss-cross back over top of themselves instead of making an orderly boundary.

Usually such things have to be "untrimmed" and retrimmed again in order to repair it, I'll take a look at your model and see if I can help you with that. I haven't taken a look at your model yet but if you also have the step _before_ you did the boolean that got the bad result if you could post that as well that might help to see what's going on.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
7004.11 In reply to 7004.9 
Hi Sophie, it's probably related to some of these same type of "needle thin" type areas such as here:



Those edges come down to a fair amount of area where the edges on opposite side are very very close to one another:



That type of structure where 2 different edges from the same boundary are so close to overlapping can make some mechanisms consider the trim boundary to have self-intersections, and a trim boundary that intersects itself basically messes up the sense of inside and outside of the boundary, you can get stuff that sort of appears to "leak out" from the boundary since it doesn't know which side is supposed to be the active side anymore.

However in this particular case the confusion seems fairly limited to the display mesher, that's used for preparing triangles for the shaded viewport screen display. If you go to do an export to a polygon mesh format a different export mesher will be used and it's somewhat less sensitive to certain things at a cost of taking somewhat more time to calculate stuff.

If you do a file export like to .obj format for example you'll get what looks like an ok result like this:



So it's possible if you just ignore the messy on screen display and do the file export you may be able to get a good result.

Other than that those needly thin type structures can just tend to cause various problems.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  yophie
7004.12 In reply to 7004.11 
looks good! I found some workarounds for that strange bug, and the next iteration I will work harder on eliminating those needle thin spots.

Thanks again for your help :)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Metin Seven (SEVENSHEAVEN)
7004.13 
I've never seen a developer so dedicated to his users as you are, Michael, kudos.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All