Network and boolean diff problem, Mar 27 2009

Next
 From:  Yenmonger (OTTERMAN)
2527.1 
Ahoy Mr. Gibson, while trying to make a Terran Federation Navy light cruiser I came across some oddities.

The first part involves not being able to make a network (see first picture). So, I just extruded a curve into a 2D sheet thing, then extruded that downward.



I then tried to diff that shape out of the main hull, but the hull vaporized instead (see second and third pictures).









Any hints? I can probably stumble onto some workarounds, but was curious as to your opinions.

  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
2527.2 In reply to 2527.1 
Hi Otterman,

re:
> I then tried to diff that shape out of the main hull, but the hull
> vaporized instead (see second and third pictures).

It's a little hard to see without increasing the display mesh density to be tighter, but that small piece has edges that are just barely grazing along the surface of the main piece:



Often times what is actually happening there is that the edges are in some places just a micro amount underneath that main object's surface and in other places just a micro amount above it. Sometimes this leads to confusion in the booleans where it has problems with this "skipping in and out" type of intersection.

It is possible for me to make some adjustment to how tolerances are handled so that these kinds of things sort of glom together better. But unfortunately that then causes problems in other situations where things glom together where you don't really want them to.

It's a pretty tough problem to solve without causing other bad side effects, at least currently. I think the current setup where it is tuned for "less glomming" helps in more situations overall, but it actually hurts in this one.

At the moment the easiest workaround is to move the cutting piece up just very slightly so that its edges are not hugging right along that other main object's outer surface.

- Michael
Attachments:

  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
2527.3 In reply to 2527.1 
Hi Otterman - re: Network - the particular curves you used for trying the Network do not seem to be in that file...

But from the ones that were in there on the one side it looks like it is split up into a couple of different curves there:



You'll need to join those together - without them joined together Network will consider them to be 2 independent parts of the network and get confused when it is unable to determine the grid layout.

- Michael
Attachments:

  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
2527.4 In reply to 2527.1 
Hi Otterman - re: weird boolean - I have made a small adjustment to the tolerances used in booleans which makes this particular example work now in the next v2 beta.

But I'm sure there will still be other similar issues with edges that skim along surfaces, it depends on how close they are to the surface and stuff like that. So it will still be a good idea to set things up more so an object punches all the way through another one rather than just skims along its surface, if it is easy to do so. That tends to avoid the whole area of calculation that is difficult.

Also I think I'll go ahead and set up the booleans with the relative tolerance mechanism now as well.

- 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
 From:  Yenmonger (OTTERMAN)
2527.5 
Thanks for your time and care in this matter, MG!
  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