fabmetheus_utilities.solids.solid_utilities.booleansolid ($Date: 2008/21/04 $)
index
/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/fabmetheus_utilities/solids/solid_utilities/booleansolid.py

Previous / Next / Contents


The xml.py script is an import translator plugin to get a carving from an Art of Illusion xml file.

An import plugin is a script in the interpret_plugins folder which has the function getCarving. It is meant to be run from the interpret tool. To ensure that the plugin works on platforms which do not handle file capitalization properly, give the plugin a lower case name.

The getCarving function takes the file name of an xml file and returns the carving.

This example gets a triangle mesh for the xml file boolean.xml. This example is run in a terminal in the folder which contains boolean.xml and xml.py.


> python
Python 2.5.1 (r251:54863, Sep 22 2007, 01:43:31)
[GCC 4.2.1 (SUSE Linux)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import xml
>>> xml.getCarving().getCarveRotatedBoundaryLayers()
[-1.159765625, None, [[(-18.925000000000001-2.4550000000000001j), (-18.754999999999981-2.4550000000000001j)
..
many more lines of the carving
..


An xml file can be exported from Art of Illusion by going to the "File" menu, then going into the "Export" menu item, then picking the XML choice. This will bring up the XML file chooser window, choose a place to save the file then click "OK". Leave the "compressFile" checkbox unchecked. All the objects from the scene will be exported, this plugin will ignore the light and camera. If you want to fabricate more than one object at a time, you can have multiple objects in the Art of Illusion scene and they will all be carved, then fabricated together.


Previous / Next / Contents


 
Modules
       
__init__
fabmetheus_utilities.euclidean
fabmetheus_utilities.gcodec
fabmetheus_utilities.solids.solid_utilities.geomancer
fabmetheus_utilities.intercircle
math
fabmetheus_utilities.solids.trianglemesh

 
Classes
       
fabmetheus_utilities.solids.group.Group(fabmetheus_utilities.solids.solid_tools.dictionary.Dictionary)
BooleanSolid

 
class BooleanSolid(fabmetheus_utilities.solids.group.Group)
    A boolean solid object.
 
 
Method resolution order:
BooleanSolid
fabmetheus_utilities.solids.group.Group
fabmetheus_utilities.solids.solid_tools.dictionary.Dictionary

Methods defined here:
createShape(self, matrixChain)
Create the shape.
getDifference(self, importRadius, visibleObjectLoopsList)
Get subtracted loops sliced through shape.
getIntersection(self, importRadius, visibleObjectLoopsList)
Get intersected loops sliced through shape.
getLoops(self, importRadius, z)
Get loops sliced through shape.
getLoopsFromObjectLoopsList(self, importRadius, visibleObjectLoopsList)
Get loops from visible object loops list.
getUnion(self, importRadius, visibleObjectLoopsList)
Get joined loops sliced through shape.
getXMLClassName(self)
Get xml class name.
reverseArchivableObjects(self)
Reverse the archivable objects and set the operation function.
setArchivableObjectOrder(self)
Set the archivable object order.

Methods inherited from fabmetheus_utilities.solids.group.Group:
__init__(self)
Add empty lists.
addXMLInnerSection(self, depth, output)
Add xml inner section for this object.
addXMLSection(self, depth, output)
Add the xml section for this object.
getVertices(self)
Get all vertices.
getVisible(self)
Get visible.

Methods inherited from fabmetheus_utilities.solids.solid_tools.dictionary.Dictionary:
__repr__(self)
Get the string representation of this object info.
addXML(self, depth, output)
Add xml for this object.
addXMLArchivableObjects(self, depth, output)
Add xml for this object.
getAttributeDictionary(self)
Get attribute table.
getType(self)
Get type.
setToObjectAttributeDictionary(self)
Set the shape of this carvable object info.

 
Functions
       
addLineLoopsIntersections(loopLoopsIntersections, loops, pointBegin, pointEnd)
Add intersections of the line with the loops.
addLineXSegmentIntersection(lineLoopsIntersections, segmentFirstX, segmentSecondX, vector3First, vector3Second, y)
Add intersections of the line with the x segment.
addLoopLoopsIntersections(loop, loopsLoopsIntersections, otherLoops)
Add intersections of the loop with the other loops.
addLoopXSegmentIntersections(lineLoopsIntersections, loop, segmentFirstX, segmentSecondX, segmentYMirror, y)
Add intersections of the loop with the x segment.
addLoopsXSegmentIntersections(lineLoopsIntersections, loops, segmentFirstX, segmentSecondX, segmentYMirror, y)
Add intersections of the loops with the x segment.
getInBetweenPointsFromLoops(importRadius, loops)
Get the in between points from loops.
getInBetweenPointsFromLoopsBoundarySideOtherLoops(inside, importRadius, loops, otherLoops, radiusSide)
Get the in between points from loops.
getJoinedList(originalLists)
Get the lists as one joined list.
getLoopsListsIntersections(loopsList)
Get intersections betweens the loops lists.
getLoopsLoopsIntersections(loops, otherLoops)
Get all the intersections of the loops with the other loops.
getPointsBoundarySideLoops(inside, loops, points, radius)
Get the points inside the loops.
getUnifiedLoops(importRadius, visibleObjectLoops, visibleObjectLoopsList)
Get joined loops sliced through shape.
getVisibleObjectLoopsList(importRadius, visibleObjects, z)
Get visible object loops list.
isPointOrEitherBoundarySideInsideLoops(inside, loops, pointBegin, pointCenter, pointEnd, radius)
Determine if the point or a point on either side of the point, is inside the loops.
isPointOrEitherLineBoundarySideInsideLoops(inside, loops, pointBegin, pointCenter, pointEnd, radius)
Determine if the point or a point on either side of the point, is inside the loops.

 
Data
        __author__ = 'Enrique Perez (perez_enrique@yahoo.com)'
__credits__ = 'Nophead <http://hydraraptor.blogspot.com/>\nArt of Illusion <http://www.artofillusion.org/>'
__date__ = '$Date: 2008/21/04 $'
__license__ = 'GPL 3.0'
absolute_import = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)

 
Author
        Enrique Perez (perez_enrique@yahoo.com)

 
Credits
        Nophead <http://hydraraptor.blogspot.com/>
Art of Illusion <http://www.artofillusion.org/>