CGTalk > Software Specific Forums > Autodesk Maya > Maya Programming
Login register
reply share thread « Previous Thread | Next Thread »
 
Thread Tools Search this Thread Display Modes
Old 03-15-2012, 11:03 AM   #1
zoharl
A newbie
 
zoharl's Avatar
portfolio
Zohar
A student
Haifa, Israel
 
Join Date: Mar 2009
Posts: 1,815
BoolPro: A better mesh boolean

This node version superseded the boolop command (obsolete):

http://forums.cgsociety.org/showthr...ighlight=boolop

By Zohar and friends.

Usage:

1. Download the plugin and put it in your %MAYA_HOME%\bin\plug-ins
(e.g. c:\Program Files\Autodesk\Maya2013\bin\plug-ins\).

http://svn.code.sf.net/p/mymayaplug.../trunk/boolPro/

The link includes the source and binaries for Windows Maya 2010-2014.
Thanks to @sit10, we now have binaries for Mac x64 2012-2013.

2. Load the plugin inside maya: Window> setttings/pref> plugin manager

If the plugin doesn't load on windows you are probably missing vcredist, so install the one for your platform:

http://www.microsoft.com/download/e...ls.aspx?id=8328
http://www.microsoft.com/download/e...s.aspx?id=13523

For more troubleshooting

http://forums.cgsociety.org/showthread.php?p=7277884#post7277884


3. Select a few meshes.
4. Run the python script 'connect_boolPro.py' (copy-paste to script editor) :

http://svn.code.sf.net/p/mymayaplug.../trunk/boolPro/

5. Create a button shelf from the script.


Additional notes:

- boolPro can accept more than two meshes, and it's preferable that way, since the inner data is kept as double precision, and thus doesn't suffer from the following limitation that can break a chain of booleans:

http://forums.cgsociety.org/showthr...?f=89&t=1040477

To connect a new object to the node, first create a new item slot with the 'Add new item' button in the plugin attribute editor, then use the connection editor to connect the new object to the slot similar to the connections that are already there. See also the next note.

- To setup the plugin manually (without the python script), see post #33 on:

http://forums.cgsociety.org/showthr...531#post7568531

It can be used, for example, to set the boolean operation before connecting complex objects to work on.

- boolPro tries to preserve the original input meshes topology. Thus the meshes are not triangulated before the boolean op. In can of problems the first thing to do is to triangulate the input meshes.

- If the operation fails, first check the validity of the input meshes. Each input mesh should pass the Mesh> Cleanup with all the parameters on. If the problem persists please post here a link to your two meshes (.obj or .fbx).

- Boolean operations are defined for solids. Thus, any input object should be watertight and with planar faces (preferably triangles). Whatever booPro does with other objects is magic, which might fail.

Limitations and future work:

- Please send me compiled versions for your platform, and I'll add them.
- Add CGAL boolean operations as an alternative to carve lib. CGAL uses exact computation, which makes is slower, but robust to the more trickier meshes.
- boolPro preserves normals, and preservation of UV coordinates and vertex color should be added.
- BUG: In a boolean operation (e.g. union) between two objects A and B, if A is fully contained inside a face in B, then the face would disappear. Temporary solution: refine the face (Mesh> smooth). See post #79 on this thread.

Changes

28-Mar-2012: Added normal preservation
27-Mar-2012: Added preservation of the original topology as much as possible (doesn't triangulate the meshes before the boolean op).

Last edited by zoharl : 08-23-2013 at 03:36 AM.
 
Old 03-17-2012, 12:54 PM   #2
lostparanoia
Care bear
Mikael
VFX artist - 3D
Malmö, Sweden
 
Join Date: Dec 2005
Posts: 636
this sounds really great, if it works as well as you say.

would it be possible to get some kind of user friendliness? not necessarily a user interface but just simple commands. so you can just select the objects to be affected and then run the command or something? connecting it by hand isn't really intuitive if you're handling many objects at once for example. my knowledge of mel stretches only to the copy paste method.
__________________
"No, the movement is good, it just has to travel faster from spot A to spot B in the same amount of time."
 
Old 03-17-2012, 01:50 PM   #3
zoharl
A newbie
 
zoharl's Avatar
portfolio
Zohar
A student
Haifa, Israel
 
Join Date: Mar 2009
Posts: 1,815
Mikael,

For you, done!

Select a few meshes and just run the script above .
 
Old 03-19-2012, 06:35 PM   #4
zoharl
A newbie
 
zoharl's Avatar
portfolio
Zohar
A student
Haifa, Israel
 
Join Date: Mar 2009
Posts: 1,815
Added binaries for:

Windows Maya 2010-2012 win32 & x64

using my build all script:

http://forums.cgsociety.org/showthr...393#post7274393
 
Old 03-19-2012, 07:14 PM   #5
Robosity
Know-it-All
portfolio
Rob
Rochester, USA
 
Join Date: Nov 2009
Posts: 322
@ Zoharl, this looks very promising. For those of us who are less savvy with this, how do we install? I downloaded the .mll, now what?
__________________
noise Noise NOISE NOISE
 
Old 03-19-2012, 07:14 PM   #6
SePu
Expert
 
SePu's Avatar
portfolio
Hernan S
Senior 3D / VFX Artist
Sony Entertainment
San Francisco, USA
 
Join Date: Jan 2003
Posts: 747
Send a message via AIM to SePu
any chance to get a OSX build? thanks
__________________
LDEA Kon Kuatica
 
Old 03-19-2012, 07:47 PM   #7
zoharl
A newbie
 
zoharl's Avatar
portfolio
Zohar
A student
Haifa, Israel
 
Join Date: Mar 2009
Posts: 1,815
@Robosity, install the plugin like any other, e.g.

http://simplymaya.com/forum/showthread.php?t=26223
http://www.realflowforum.com/view_topic.php?pid=612

basically put it in your maya bin dir, e.g.:

c:\Program Files\Autodesk\Maya2012\bin\

Then load it inside maya: Window> setttings/pref> plugin manager

Then follow my usage in the first post.

@SePu, sorry my build script works only for windows. Please ask one of the forum members who has OSX.
 
Old 03-19-2012, 08:32 PM   #8
lostparanoia
Care bear
Mikael
VFX artist - 3D
Malmö, Sweden
 
Join Date: Dec 2005
Posts: 636
Quote:
Originally Posted by zoharl
Mikael,

For you, done!

Select a few meshes and just run the script above .


Sweet, thanks a bunch mate!
__________________
"No, the movement is good, it just has to travel faster from spot A to spot B in the same amount of time."
 
Old 03-19-2012, 09:07 PM   #9
lostparanoia
Care bear
Mikael
VFX artist - 3D
Malmö, Sweden
 
Join Date: Dec 2005
Posts: 636
hmm, when I try to load it I get this error message:

// Error: Unable to dynamically load : C:/Program Files/Autodesk/Maya2012/bin/plug-ins/boolPro_2012_x64.mll
The specified module could not be found.
//
// Error: The specified module could not be found.
//
// Error: The specified module could not be found.
(boolPro_2012_x64) //

which is weird, because this is exactly the place where I put your .mll file: C:\Program Files\Autodesk\Maya2012\bin\plug-ins

do you have an idea why this is?
__________________
"No, the movement is good, it just has to travel faster from spot A to spot B in the same amount of time."
 
Old 03-20-2012, 02:09 AM   #10
zoharl
A newbie
 
zoharl's Avatar
portfolio
Zohar
A student
Haifa, Israel
 
Join Date: Mar 2009
Posts: 1,815
1. I mixed the versions. Please download a new version.

2. You missing some dlls. Please install:

http://www.microsoft.com/download/e...ls.aspx?id=8328

If there is still the same error, please download depends:

http://www.dependencywalker.com/

Load into it the plugin, and tell me what dlls does it say you are missing.
 
Old 03-20-2012, 09:25 PM   #11
zoharl
A newbie
 
zoharl's Avatar
portfolio
Zohar
A student
Haifa, Israel
 
Join Date: Mar 2009
Posts: 1,815
Ho, you probably need the x64 version:

http://www.microsoft.com/download/e...s.aspx?id=13523
 
Old 03-21-2012, 06:28 PM   #12
YourDaftPunk
Have Polygons/Will Travel
 
YourDaftPunk's Avatar
portfolio
Shawn Lipowski
3D Artist
Look Effects, Inc.
New York, US
 
Join Date: Jun 2002
Posts: 439
Send a message via AIM to YourDaftPunk
Great job zoharl! I just booleaned a high poly scan with a torus and animated it without errors or crashes. This is a godsend!



-shawn
__________________
twitter | vimeo
 
Old 03-21-2012, 08:41 PM   #13
zoharl
A newbie
 
zoharl's Avatar
portfolio
Zohar
A student
Haifa, Israel
 
Join Date: Mar 2009
Posts: 1,815
Good to hear, I'll try to pass it on. I am also interested in examples that breaks it (two meshes in .fbx / .obj).
 
Old 03-21-2012, 11:20 PM   #14
m0z
SOuP cook
 
m0z's Avatar
portfolio
Mathias Markovits
CG Allrounder
ViennaPaint
Austria
 
Join Date: Apr 2010
Posts: 413
great plugin zoharl. I'm glad that you created this out of the hilarious boolean thread discussion
__________________
mathiasmarkovits[dot]com
 
Old 03-23-2012, 11:07 AM   #15
Dansolo
Expert
portfolio
Daniel Baddeley
Stoke On Trent, United Kingdom
 
Join Date: Sep 2002
Posts: 211
Quote:
Originally Posted by zoharl
1. I mixed the versions. Please download a new version.

2. You missing some dlls. Please install:

http://www.microsoft.com/download/e...ls.aspx?id=8328

If there is still the same error, please download depends:

http://www.dependencywalker.com/

Load into it the plugin, and tell me what dlls does it say you are missing.


Hi,

Tried to use the 2010 x64 version and I got the
// Error: Unable to dynamically load : C:/Program Files/Autodesk/Maya2010/bin/plug-ins/boolPro_2010_x64.mll
The specified module could not be found.
//
// Error: The specified module could not be found.
//
// Error: The specified module could not be found.
(boolPro_2010_x64) //

Ran http://www.dependencywalker.com/ and it says

both
MSVCR90.DLL
and
IESHIMS.DLL
are missing.

Any ideas where I can get them from ?
 
reply share thread


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright ©2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 02:25 PM.


Powered by vBulletin
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.