Extensions:2.4/Py/Scripts/Object/MegaBool

提供: wiki
< Extensions:2.4‎ | Py‎ | Scripts‎ | Object
移動先: 案内検索

MegaBool

About

Megabool
Preform Boolean operations on meshes with nice results.
UI location Group: Object
Version r15 pre1 - 2007 Author(s) Theodore K Schundler
Blender 2.43 & 2.45 License n/a


Executable information
File name megabool_r15_pre1.py


Links http://epii.info/oss/blender/boolean/


Support


Usage

-By Menu-

  • Put this file in ~/.blender/scripts/
  • Select two objects, then choose "MegaBool" from the scripts menu.

-By Running the script-

  • Load this file into blender's internal text editor
  • Select two objects, then press Alt+P in the test editor

OPERATIONS: On execution of the script, there are four operations:

  • Intersect - Intersection of the two meshes (logical AND)
  • Union - Union of the two meshes (logical OR)
  • Difference - First selected mesh - Last selected mesh
  • Cookie Cutter - First mesh's faces are subdivided where they intersect with the second mesh

After the script executes, all "inside" vertices are selected


Notes

Like any boolean algorithm, normals on the source meshes must be all facing outside. To fix normals, select a mesh, enter edit mode, select all verticies, and press Ctrl+N. Also, all intersections must create closed loops. (Basically the meshes should be closed.) If you find a set of meshes that do not work send me the .blend file and an explaination of the problem. Subsurf and Edge Split should be turned off before using this script. (Actually any modifiers are best disabled.)

Known Issues

n/a

Additional Information

n/a

To-Do list

  • Set vertex colors & groups & weights
  • Intersection of curves? (use splines for smooth shapes)

Credits

Thanks go to:

  • Theodore K Schundler

History

 Date:        Updates:                                          
16-Aug-2004 Initial Revision - working(?) & ready to go
17-Aug-2004 Fixed some bugs based on incorrect assumptions.
that means even more computation. Also made more
use of the traversalCookies to speed up a some
sections
24-Aug-2004 Smart filling & other stuff...
26-Aug-2004 Much cleanup, nothing new / fancy
18-Sep-2004 Re-did filling. (per discussion with toloban)
Also, 2nd object can now be a set of edge loops.
And other minor refinements.
24-Sep-2004 Fixed a wrong assumption about vertex ordering
26-Sep-2004 Got rid of special filling stuff that made face
selection work better because with the new edit
modes, it isn't necissary.
27-Oct-2004 Made some headway with the coplanar problem, but
there is still a colinear problem, and sometimes
an issue if a point lies in another objects plane
01-Nov-2004 Fixed edge crossing tests in joinconcentric
10-Dec-2004 Rewrite of almost everything
08-Apr-2005 Rewrite of alot - completely changed how inside
vs outside determination works
24-Apr-2005 Rewrite filling (handles complicated cases faster)
fixed dumb mistakes in intersecting edges, fixed
transform of vertex normals.
25-Apr-2005 Fixed compatability issues with released versions
of Blender for Vector() constructor.
02-May-2005 Fixed some issues with certain angles in building
loops. Better detection of intersecting edges.
Filling avoids making faces with an area of zero.
Debugging data doesn't display by default, so it
runs faster. Creates a new mesh instead of
writting over an old one.
14-Apr-2007 Updated with fixes from Henrik Pitkala, Hoehrer,
and intrr. This fixes some version compatability
issues. It makes the order and selection the same
as Blender's internal bools. Also, the default
recusion depth is increased - you can increase
it further by updating the max_recusion variable.
Lastly, I added progress bar support
21-Apr-2007 Faces now keep material and UVs.
02-Jun-2007 Rewrote intersection system again. New approach
splits things into tris first, avoiding nonplanar
quad problems, and laying the ground work for
f/n-gon support.