Boolean conundrum.

About Truespace Archives

These pages are a copy of the official truespace forums prior to their removal somewhere around 2011.

They are retained here for archive purposes only.

Boolean conundrum. // New Users

1  |  

Post by metamonkey // Dec 29, 2008, 7:14am

metamonkey
Total Posts: 4
Good day,


I just started using tS7.6 after a long hiatus (since tS3.2).


I was playing around with the interface and much of it (at least in the modeling mode) is quite similar to what I remember.


That said, I seem to have run into some strange behavior when trying to do Boolean operations:


If I make a cube, and then subtract from it any other primitives, like a sphere or a cylinder there are no problems, and the resulting geometry looks as one would expect.


However, if I subtract a number of cubes (polyhedrons really, W:1 D:1 H:4) from a cube, operations after the first subtraction go weird. The result looks like the faces of the drill objects remain, and are not cut by the consequent subtractions.


To demonstrate I am attaching a picture. On the right is a cube with a bunch of cylinders subtracted from it. On the left is a cube that was put through the same subtractions, except the drills were cube primitives.


I tried playing with Boolean properties (delete edges, triangulate first), but that doesn't seem to do anything.


Any help would be much appreciated.


Thank you,

SV

Post by TomG // Dec 29, 2008, 7:35am

TomG
Total Posts: 3397
Not sure of the expected result here - is the cube hollow? If not, then this is as expected. Looks like the cylinders overlapped the cube by enough that the resulting holes met, but the cubes did not penetrate enough to meet. Although it could be correct too and just an illusion of the lighting.


Would need to see some grabs, wireframe and from several angles, of the pre-boolean set up to see what would be expected.


Also, is this workspace or Model side? Workspace is more reliable for booleans than Model side, overall, and it could well make a difference. And are the cubes separate objects, subtracted one by one? Or a group, subtracted all at once?


Thanks!

Tom

Post by Norm // Dec 29, 2008, 9:27am

Norm
Total Posts: 862
pic
You will get better, more predictable results, if you quad divide the cube a few times. With few number of edges and faces, a default cube leaves too much room for trueSpace to make decisions of this kind. By adding geometry to the "drill", you avoid these types of problems.

Post by metamonkey // Dec 29, 2008, 2:44pm

metamonkey
Total Posts: 4
Hi Tom,


Thank you for your reply.


The whole set-up is as follows:


- The initial cube is a basic primitive 2x2x2m (figure 1 one the image below).

- The drill parts were also originally cubes, but then I scaled them to be 1x1x4m (figure 2).

- After creating the first drill object I made two copies of it.

- I then rotated each of the copies by 90 degrees, one along the Y axis and he other along the X axis.

- I then subtracted all of the 3 drill objects from the original 2x2x2m cube.


I expected to have a cube with square tunnels going through all of its sides. There should also be a hollow space where the drill objects intersected. After the initial subtraction that worked as expected , the consequent ones produced faces that "blocked" the tunnel made by the initial subtraction (as visible in figure 5 on the image below).


BTW: I tried doing a union of all the drill objects prior to subtracting them from the cube, and it worked as I had expected it to (as shown on the top right of the second image). Why doesn't it work the same when you subtract the drill cubes one by one (bottom left of the second image)?


Many thanks,

SV

Post by metamonkey // Dec 29, 2008, 3:04pm

metamonkey
Total Posts: 4
Norm,


Using quad divide did not seem to fix the problem, although it did make tS complain that it can't complete the Boolean operation and needed me to increase precision. Go figure.


I am assuming the problem lies in what faces, and sides of faces. are set to be visible, and which are not.

Post by TomG // Dec 30, 2008, 3:25am

TomG
Total Posts: 3397
Booleans are tricky things, mathematically and procedurally speaking, even though they seem "trivial" to the human mind. So I guess here is just a case where the math breaks down and gives an undesired result. Not sure if this was workspace or Model side, sounds like Model side as you mention precision - the workspace side tends to be more robust and effective, so you might want to try that. I've certainly seen workspace-side handle booleans that the Model side might not cope with or get correct.


Indeed, workspace-side you can enable history, and move or scale your drill object AFTER the boolean subtract, so it will give you some flexibility in getting just what you want. Making the cube a fraction thicker, like 0.001, would probably remove the left over face, without it being visible to the end user that the sizes are not the same (although the workspace side may get this correct in the first place and avoid that question).


Other solutions are to do the boolean operations in a different order, or to look for replacement ways of doing it like you did by adding all the drills together and doing the subtract in one go. Those can let tS figure the math differently and maybe get the result you expect. Quad dividing can also give tS more to work with, with more faces, and so get different calculations that might get around a problem. You may also find that it is just this exact size of cubes that cause an issue, hard to say - but booleans can be as sensitive as that.


As a note, this kind of thing is one of the reason that booleans are recommended to be avoided as much as possible ;) If there is a way to do it by adding, sweeping and deleting faces, sometimes that is a better route.


HTH!

Tom

Post by Norm // Dec 30, 2008, 7:00am

Norm
Total Posts: 862
pic
Precision and identity are at play I believe.
By creating a single drill object, you specify for trueSpace more details about what is to be done. By using multiple drill objects, trueSpace creates faces where you do not wish to have them.

I agree with Tom that booleans are complex and require a little knowledge and experience to get the result you want. You can spend a little time tinkering with settings and see what they produce, however using or relying on only default settings will work most of the time, but are not intended for all scenarios.

Workspace booleans are a different breed from the Model side booleans. It would be useful to get a handle on them as well, giving you the benefit of both in your modeling efforts.

Post by metamonkey // Jan 1, 2009, 4:36am

metamonkey
Total Posts: 4
Thanks for the advice guys!


I just started going through the training videos, and so I am getting a bit more familiar with the workspace side of trueSpace. I will give it a whirl once I'm a bit more comfortable working there.


Another question though: is there anything you can't do in workspace mode that you can in model mode? or is model mode there as a left over from previous versions of tS?


Thanks again for your help, it's very reassuring to know that there are people here who're willing to give advice should I get stuck on something else in the future.

Post by jrboddie // Jan 1, 2009, 5:53am

jrboddie
Total Posts: 91
pic
FWIW, I was able to easily duplicate the problem on the Model side but the boolean worked fine on the Workspace side.


There are several tools on the Model side that are not yet available to the Workspace--Nurbs or the Lathe tool for example.


My plan is to do work primarily in the Workspace and take objects to the Model side temporarily to use the unique tools.


Also, if you don't have Vray, you will have to use the Model side to access the non-realtime renderers.

Post by TomG // Jan 5, 2009, 3:17am

TomG
Total Posts: 3397
NURBs and Lathe are the main items in Model side that don't have equivalents in the workspace side. Others would be Bevel, and the taper/twist tools. And I still prefer the Material Editor on the Model side too, especially if I'm planning on exporting to OBJ or other non-tS7 file format.


The other side of the coin is that the workspace side handles much higher poly counts than the Model side without bogging down, has infinitely better animation and character rigging tools, has improved booleans, is much more extensible by third parties, has much nicer sweeping tools, has good loop handling, etc. And of course features a much better real-time engine, real-time rendering, collaboration, etc.


HTH!

Tom
Awportals.com is a privately held community resource website dedicated to Active Worlds.
Copyright (c) Mark Randall 2006 - 2024. All Rights Reserved.
Awportals.com   ·   ProLibraries Live   ·   Twitter   ·   LinkedIn