Page 1 of 1

Soc project: Booleans -- win/linux (2005/09/09)

Posted: Fri Sep 09, 2005 4:09 pm
by Hos
Here are some updated builds of Marc Freixas' boolean
project for summer of code. Some bugs were addressed.

The previous thread about this work is here:
http://www.blender.org/forum/viewtopic.php?t=6872

Instructions: Select two mesh objects
and press 'w' as always. Output has less points,
less bad geometry, and uses quads too.

http://bebop.cns.ualberta.ca/~cwant/ble ... -09.tar.gz
http://bebop.cns.ualberta.ca/~cwant/ble ... -09-09.zip

More info on this project is here:

http://wiki.blender.org/bin/view.pl/Ble ... evelopment

Test it out and provide feedback, please.

Regards,
Chris

first feedback

Posted: Fri Sep 09, 2005 8:41 pm
by myselfhimself
hey

you've done a great work, the booleans are now much cleaner than those in the previous blender versions..

So this is for a cube/uv sphere difference operation (we remove the sphere part out of the cube)

Image
Here you see two vertices which ought not to be there (in my opinion)
I drew in blue what the mesh should have been instead.
Maybe, your algorithm could try and simplify, as far as the affected and/or newly created faces are concerned, the surfaces having edges in their middle which separate two faces with a very small angle between them. But that would rather go in an "optimize" plugin as in 3d studio.[/img]

Posted: Fri Sep 09, 2005 8:58 pm
by lucky3
I still get blender to crash when I model something, then I do a boolean operation (difference), and I edit my original mesh (move vertices...) and i redo the same boolean operation. -crash

Apart from this, you've done a great work! Meshes are cleaner, and boolean becomes really useful. I wonder if we could have a build with boolean modifier, from cvs (for realtime boolean op?)

Posted: Fri Sep 09, 2005 9:26 pm
by Pinucset
It is an amazing work!!!

The best booleans i've never seen, I suppose that in 2.40 this booleans will be as a modifier :)

Then i'll watch for bugs :D

Great work!

PD : Bon treball Marc Freixes ;) gracies :)

Posted: Fri Sep 09, 2005 11:05 pm
by JoOngle
That is some SERIOUS Boolean!!! Congratulations on this excellent job (to the coder behind the new Boolean).

The old boolen totally destroyed eg. 2 cubes in union followed by bevel.
Now it Bevel's PERFECTLY! :D That means that the mesh structure is
kept so clean it can be modeled on manually after boolean! Thumbs up!

I've not even seen such cool working Boolean back in the days when I used 3dstudio max
Their boolean doesn't even reach it by the socks!

Posted: Sat Sep 10, 2005 8:31 am
by Hos
lucky3 wrote:I still get blender to crash when I model something, then I do a boolean operation (difference), and I edit my original mesh (move vertices...) and i redo the same boolean operation. -crash

Apart from this, you've done a great work! Meshes are cleaner, and boolean becomes really useful. I wonder if we could have a build with boolean modifier, from cvs (for realtime boolean op?)
Hi Lucky,

I've tried to reproduce this behavior, but could not.
What os are you using? Can you supply a blend of the
meshes that fail, or is this common to all meshes?

Regards,
Chris

Posted: Sat Sep 10, 2005 9:55 am
by crsrma
A few (random) situations for crashing:

Default scene cube + 32x32 uvsphere (sphere at: LocX: 1, LocY: 1, LocZ: 1)

-That works fine, but once subdividing cube 3,4 times there is a crash once doing the boolean operation.
-Another was even more random, just involving some edge selection in edge mode on the resulting mesh.
-Recalcing Normals & exiting edit mode w/ the resulting mesh.

This is with the Windows build on XP SP2.

Hmm, could it have anything to do with not having a material assigned to the uvsphere before the boolean operation? I noticed it creates vertex groups in the resulting mesh.

The geometry is definitely cleaner, however, not quite suitable for subsurfing yet. Easier to cleanup the resulting mesh now, I'd guess. :wink:

Posted: Sun Sep 11, 2005 4:22 pm
by lucky3
What os are you using? Can you supply a blend of the
meshes that fail, or is this common to all meshes?
OS: WinXP
Seems to be common to all meshes.
How to make blender crash (maybe at least using winXP?):
-Start with default scene
(Cube[0,0,0], material assigned)
-Add a Sphere[1,0,1]
-Select Cube-Sphere
-Wkey -> Difference
-Select the new mesh created after boolean op and erase it.
-Edit Cube, select its back face( [0,0,-1] ), extrude it and move it down.
-Exit edit mode.
-Select Cube-Sphere
-Wkey -> Difference
-Crash!

Posted: Tue Sep 20, 2005 7:14 pm
by malefico
Hi, I tried the binary and the exercise of substracting three orthogonal cylinders from a cube.

After first failed attempts, I realized you need to follow a "strategy". I first made UNION of two cylinders. Perfect.

Then UNION between this new figure and the third cylinder. Not so perfect, there were 4 vertices instead of two in two locations. I merged those, and turn those four triangles into two quads.

Then I made DIFFERENCE between this last figure and the cube. PERFECT.

If I forget to merge the offending vertices I got a freeze.

Anyway it's far better than current booleans.

BTW, I also tried the "crash recipe" from above and couldn't reproduce it.

Regards

malefico.

Posted: Wed Sep 21, 2005 12:36 am
by LetterRip
Malefico - yep I agee that it is a unmerged vert - more specifically - any vert shared by two edges that are shared by two faces causes crashes. (Visualize two faces side by side, then adding a vert in the middle of the shared edge).

Same thing happens in the loop cut code.

LetterRip

Posted: Wed Sep 21, 2005 10:29 pm
by solmax
hm, keeps crashing for no obvious reason. first boolean operation works, maybe second, but then it crashes (simple operations like cubes, spheres). XP on athlon

Posted: Wed Sep 21, 2005 10:29 pm
by solmax
hm, keeps crashing for no obvious reason. first boolean operation works, maybe second, but then it crashes (simple operations like cubes, spheres). XP on athlon

Posted: Wed Oct 12, 2005 6:12 am
by Hos