Question about boleans

Next
 From:  Denman
1835.1 
Hi all, I am pretty new to 3d but even more new to MoI.

I have some questions about boleans. For a test i tried to create a car-tyre with the profiles cut out of the tyre as geometry.

Let's say that i wanted to creat a tyre like the picture below.
I made the following steps:

1 I created a half tire wich I can mirror when it's done.
2 I created the profiles of the tyre as geometry wich i want to cut out of the tyre with a bolean command. (i think i have to use the merge command here so I can cut out the outer profiles and keep the inner profiles in the tyre)
3 I try the bolean command and it doesn't work. When i select one little profile piece and the base tyre it works for some of the object. But i think it's strange that for other objects it doesn't works.

My questions:
Q1: Is it possible to merge a bunch of objects (the little profile pieces Let's say 40 of them) with one base object (the base tyre geometry) by using one time a bolean command ?
Q2: When try to bolean 1 object at the time from the base tyre it works for some of the object but for other objects wich are basically identical only located on an other place on the tyre it doesn't work.
Q3: Should I use the merge command ? because the differance command will cut a hole and ik want to keep the profiles on the inside of the tyre.
Q4: When i try to union or join theprofile pieces it doens't works

THNX in advance
PS: Sorry for my bad english, I tried to explain myself the best I can, but it is a little hard for me in English.
Image Attachments:
Size: 40.6 KB, Downloaded: 37 times, Dimensions: 400x512px
Size: 77 KB, Downloaded: 17 times, Dimensions: 843x688px
Size: 140.6 KB, Downloaded: 54 times, Dimensions: 843x688px
Size: 54.7 KB, Downloaded: 30 times, Dimensions: 843x688px
Size: 133.3 KB, Downloaded: 62 times, Dimensions: 843x688px
  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
1835.2 In reply to 1835.1 
Hi Denman, is it possible for you to post the .3dm model file with the pieces in it that you are having problems with?

There are a lot of different potential things that can cause problems with booleans.

For example if you surfaces have fold back on themselves with "self-intersecting" areas, that can cause problems.

Areas that have barely overlapping edges or faces can cause problems, it is better if pieces push all the way through each other instead of barely touch.

It is difficult to know what particular problems you may be running into just by looking at a screenshot, I really have to look at the model.

But it looks like you may have a lot of pieces that barely touch each other though, it will be better in general if you make the pieces to be cut out to be a bit larger than the base piece instead of sharing a common surface area with the base piece.


> Q1: Is it possible to merge a bunch of objects (the little profile pieces
> Let's say 40 of them) with one base object (the base tyre geometry)
> by using one time a bolean command ?

Normally yes that is possible, but if there is a problem with the calculation of one particular piece out of the batch it can cause problems with the whole operation when done in a large set like that.


> Q2: When try to bolean 1 object at the time from the base tyre it
> works for some of the object but for other objects wich are basically
> identical only located on an other place on the tyre it doesn't work.

I would need to examine the area that you are talking about to be able to give you some more information on this one. Maybe the other area has some additional edges nearby which are complicating things.


> Q3: Should I use the merge command ? because the differance
> command will cut a hole and ik want to keep the profiles on the
> inside of the tyre.

The merge command will cut up everything and keep all the pieces, so if you want to keep all the pieces then yes use Merge.

But if you want to keep only the cutting objects, then the best way to do that currently is to use Ctrl+C to copy them before running the boolean, then run the boolean which will delete the cutting objects, then use Ctrl+V to paste the cutting objects back in again.

If you use Merge, everything including the cutting objects gets sliced up which may not be what you want.



> Q4: When i try to union or join theprofile pieces it doens't works

Join is only for surfaces that have open edges (by open meaning edges that are not already attached to another surface) that are next to one another.

To give you some more information on why Union might be having difficulty, I will need to look at the model.

- 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:  Denman
1835.3 In reply to 1835.2 
Hi michael thank you very much,

Here is the 3dm-file.

I post two files here, because the file 'test3' is the file you have seen screenshots of and actually no bolean works here. I have to say that I did a uniun on a couple of objects with the ring, just to try things out.
But that shouldn't matter too much for the purpose.

The file 'test2' is actually the same concept but only a little simpeler. With 'test2' I was able to do the bolean with some of the objects (as you can see in the file, so you can also see what I try to manage with the boleans) but there are still some problem objects wich i can't get to bolean 'merge'.


Thanks in advance and for the fast reply.

Denman

EDITED: 1 Aug 2008 by DENMAN

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:  manz
1835.4 In reply to 1835.3 
Hi Denman,

"Test3" model. Not all parts are solid.
"Test2" again not all parts are solid. It looks like they where, but the model as broken while boolean.
  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:  DannyT (DANTAS)
1835.5 In reply to 1835.3 
Hi Denman and welcome,

As manz said your tyre profile is not solid, boolean operations are mainly solid tools so if you put some body to the profile it should work.

~Danny~
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
1835.6 In reply to 1835.3 
Hi Denman, thanks for posting the models, that really helps!

Yeah for "test2", like Steve and Danny mentioned something happened to "un-solidify" that part, it isn't connected together into just one single solid anymore.

But also notice this area here:




That's where your cutting object just kind of comes very flush and sort of grazes the tire surface. This kind of situation makes things much more difficult for the booleans to calculate.

It's better if you can set things up like this instead:



Here I used Transform / Scale / Scale1D to kind of stretch out your cutting object a little bit so that it has a more definite protrusion through the tire body, that is the kind of thing that will work better for booleans.

I've also solidified the tire body, and set it up to just do half of it and then the results can be mirrored. Also I moved the tire so that it was centered around the origin point, that tends to be a convenient way to position things because it is easy to snap back to that origin point later on.

That base model is attached here as test2_new.zip .


So then the steps to finish it are:

Select the new slightly longer cutter:




Use Transform / Array / Circular to replicate it (looks like you had 45 copies):



Now select the base tire, run Construct / Boolean / Difference, and select all the cutting pieces. With the cutter arranged like this the boolean can be done more easily:




Now to mirror it, select the flat face on the opposite side:



And delete it:



This now has an open edge there, now this shape can be mirrored, and then use Edit/Join to glue the 2 pieces together along that open edge to form the final solid:



- 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
1835.7 In reply to 1835.3 
Hi Denman, and yeah for tire3 like Danny mentioned the issue there is your base tire is not a solid, to get the kind of behavior you would expect from the booleans you want to make that a closed solid instead of an open surface.

Danny showed one way to do that, which is to make your original profile curve to be a closed curve before you revolve it.

That's probably the best way since you probably want your tire to have a kind of slim thickness like that.

Here is another way to show you some other techniques on how to solidify it by building some additional surfaces:


Select this edge:



Run Construct / Extrude. Uncheck the "Cap ends" option, and move your mouse to snap on to the point on the back side, that will extrude out to that distance:



Now select those 2 pieces, and use Edit/Join to glue them together. Now select that joined piece, and use Construct / Planar to turn it into a Solid:



The Construct / Planar command can be used to fill in planar openings in a open object to turn it into a solid.


With your base piece as a solid then the booleans should work a lot more like you would expect - although you can use surfaces in the booleans the typical sense for which pieces are kept and discarded are mostly oriented around volumes, so you probably want to have closed volumes (instead of open surfaces) to get the most sort of "normal" expected results.

- 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:  Denman
1835.8 
Thank you very much, manz, Danny and Michael for the helpfull and very fast replys.

This really helped me to understand better how to deal with these kind of bolean operations.
Now I am going to try this all by myself :D

I want to keep participating in this forum so you guys will se me around here. Thanks again.

-Denman
  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:  manz
1835.9 In reply to 1835.8 
Hi Denman,

I would suggest that you set up a shortcut key to select solids, that way you can check during boolean operations if the model does get broken. It is an habit of mine now, and can save problems as it is easier to check and then make changes if needed.

For the shortcut, go into options/ shortcut keys, and add a key to use and then the script:-

script:moi.geometryDatabase.getObjects().getSolids().setProperty( 'selected', true );


Sorry for my abrupt earlier reply, I was just passing by and just wanted to inform you of the problem,.. I should, on reflection, given you more info.

Regards, and welcome.

- Steve
  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:  Denman
1835.10 In reply to 1835.9 
Hi Steve,
thank you for the suggestion I am definetely going to use a shortcut for that script.

-Denman
  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