bf-blender / Windows (2004/09/07) Boolean build

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

Moderators: jesterKing, stiv

pildanovak
Posts: 18
Joined: Fri Oct 25, 2002 9:32 am
Contact:

Post by pildanovak » Fri Sep 10, 2004 3:08 pm

i've done a simple test, please look at the file and try to do booleans with the two objects. maybe the bools should handle the type of exceptions?

http://server.ffa.vutbr.cz/~novak/dwnflz/boolean.blend

LozarB
Posts: 0
Joined: Tue Sep 07, 2004 5:26 pm

Post by LozarB » Sat Sep 11, 2004 7:12 pm

pildanovak wrote:i've done a simple test, please look at the file and try to do booleans with the two objects. maybe the bools should handle the type of exceptions?

http://server.ffa.vutbr.cz/~novak/dwnflz/boolean.blend
Hi, thanks for taking the time to test it! I looked at the blend, object 1 contains polygons that overlap, that means it's very hard for the boolean op to work out what's inside and what's outside the object, this knowledge is the basis of all boolean operations. For better results you might consider taking the union of the 2 overlapping objects in the first blender object and then performing the op with the 2nd object on the result. However, my excuse is a bit mathematical but thats a limitation of "orientable, closed, non-intersecting, manifold surfaces" that are required by this implementation. Blender allows you far more flexibility with objects than those that give decent results from this method.

Cheers,
Lozar

SpookyElectric
Posts: 0
Joined: Thu Aug 19, 2004 11:28 am

Post by SpookyElectric » Sat Sep 18, 2004 11:38 am

Yeah, in that case, you'd have to separate the meshes and do a union first. Though it's not a case I'd imagine would be encountered much, and so I don't think it makes sense to have special handing for it. For my boolean operation, there are similar requirements of the shapes involved to produce good results. It will only work right when the intersection between the two objects can be defined as a set of closed, non-intersecting loops. Which is guaranteed when your meshes are closed, non-intersecting, etc. Basically any object whose mesh could exist in reality as a solid object with volume. In that example, the intersection is two intersecting circles, and thus will not work right.

For anyone interested in testing my booleans, my python script now (as of today) nolonger needs a specially modified version of blender. The produce a minimal number of edges in the resulting mesh, taking advantage of using quads for filling. Check out the elysiun thread for details.
http://www.elysiun.com/forum/viewtopic.php?t=29200

jm
Posts: 0
Joined: Mon Aug 25, 2003 11:31 am
Contact:

Post by jm » Tue Sep 21, 2004 11:50 am

hey man
this is much more better then old booleans.
I tryied a few meshes and it works for me as I want. :D
without blind-absurd vertex on schape.

jm

levon
Posts: 0
Joined: Thu Jul 31, 2003 6:06 am
Location: adelaide

Post by levon » Wed Dec 08, 2004 5:19 pm

any news on these better booleans? it would be a great thing for these to be in 2.37, if i see electric on irc ill ask him how hes going, and if he is still working on it. great work so far though.

SpookyElectric
Posts: 0
Joined: Thu Aug 19, 2004 11:28 am

Post by SpookyElectric » Thu Dec 16, 2004 7:35 am

They're still work in progress. There were some special cases that caused problems with my first approach. So my python script has been completely rewritten. Latest versions are updated on my thread on Elysiun. Once that's stablized its time to move to the C version. Hopefully that'll be soon. But I thought that in September. Assuming ~2 months till 2.37 I suppose its possible, but I dunno.

winfried
Posts: 0
Joined: Mon Dec 06, 2004 2:56 pm

Post by winfried » Thu Dec 30, 2004 4:50 pm

I tried the debug windows version with the .blend file that I submitted with bug report 1860 (boolean tool crashes blender). If use the unmodified mesh as indicated in the bug report, blender still crashes. If I remove the doubles and subdive the top face of the beveled cube a bit as Ton suggested, blender doesn't crash, but the result is wrong.

ps: The python script of SpookyElectric also can't do the job, but I'll post that on his thread at Elysiun.

winfried
Posts: 0
Joined: Mon Dec 06, 2004 2:56 pm

Post by winfried » Thu Dec 30, 2004 6:22 pm

Update on the previous post: if I recalculate normals outside, remove doubles and subdivide all sides of the beveled cube twice, then union and intersection work ok, but difference still gives a wrong result in my opinion.

Moreover: if the objects do not meet the requirements for the boolean operation, please show an error message instead of crash.

For the rest: very good initiative, I'm looking forward to the final result

Post Reply