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

User-contributed CVS development builds. Please test and give feedback!

Moderators: jesterKing, stiv

Post Reply
Hos
Posts: 185
Joined: Wed Oct 16, 2002 12:06 am

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

Post by Hos » Fri Sep 09, 2005 4:09 pm

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
Last edited by Hos on Wed Oct 12, 2005 6:10 am, edited 1 time in total.

myselfhimself
Posts: 0
Joined: Sun Jan 30, 2005 4:44 pm

first feedback

Post by myselfhimself » Fri Sep 09, 2005 8:41 pm

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]

lucky3
Posts: 12
Joined: Thu Oct 17, 2002 6:08 pm

Post by lucky3 » Fri Sep 09, 2005 8:58 pm

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?)

Pinucset
Posts: 0
Joined: Sat Sep 03, 2005 10:27 pm

Post by Pinucset » Fri Sep 09, 2005 9:26 pm

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 :)
You can add me at pinucset@gmail.com on Gmail/Jabber (this adress is not contempled in the profile).

JoOngle
Posts: 0
Joined: Sat Jan 24, 2004 4:12 pm
Contact:

Post by JoOngle » Fri Sep 09, 2005 11:05 pm

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!

Hos
Posts: 185
Joined: Wed Oct 16, 2002 12:06 am

Post by Hos » Sat Sep 10, 2005 8:31 am

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

crsrma
Posts: 0
Joined: Tue Mar 30, 2004 3:47 pm

Post by crsrma » Sat Sep 10, 2005 9:55 am

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:

lucky3
Posts: 12
Joined: Thu Oct 17, 2002 6:08 pm

Post by lucky3 » Sun Sep 11, 2005 4:22 pm

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!

malefico
Posts: 43
Joined: Mon Oct 14, 2002 6:51 am

Post by malefico » Tue Sep 20, 2005 7:14 pm

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.

LetterRip
Posts: 0
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip » Wed Sep 21, 2005 12:36 am

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

solmax
Posts: 86
Joined: Fri Oct 18, 2002 2:47 am
Contact:

Post by solmax » Wed Sep 21, 2005 10:29 pm

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

solmax
Posts: 86
Joined: Fri Oct 18, 2002 2:47 am
Contact:

Post by solmax » Wed Sep 21, 2005 10:29 pm

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

Hos
Posts: 185
Joined: Wed Oct 16, 2002 12:06 am

Post by Hos » Wed Oct 12, 2005 6:12 am


Post Reply