fabmetheus_utilities.fabmetheus_tools.interpret_plugins.xml_plugins.artofillusion ($Date: 2008/21/04 $)
index
/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/xml_plugins/artofillusion.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.solids.solid_utilities.boolean_carving
fabmetheus_utilities.solids.solid_utilities.booleansolid
fabmetheus_utilities.solids.cube
fabmetheus_utilities.solids.cylinder
fabmetheus_utilities.euclidean
fabmetheus_utilities.solids.solid_tools.face
fabmetheus_utilities.solids.group
fabmetheus_utilities.solids.solid_tools.matrix4x4
fabmetheus_utilities.solids.solid_utilities.solid
fabmetheus_utilities.solids.sphere
fabmetheus_utilities.solids.trianglemesh

 
Classes
       
fabmetheus_utilities.solids.cube.Cube(fabmetheus_utilities.solids.trianglemesh.TriangleMesh)
Cube
fabmetheus_utilities.solids.cylinder.Cylinder(fabmetheus_utilities.solids.cube.Cube)
Cylinder
fabmetheus_utilities.solids.group.Group(fabmetheus_utilities.solids.solid_tools.dictionary.Dictionary)
Group
fabmetheus_utilities.solids.solid_utilities.booleansolid.BooleanSolid(fabmetheus_utilities.solids.group.Group)
BooleanSolid
fabmetheus_utilities.solids.sphere.Sphere(fabmetheus_utilities.solids.cube.Cube)
Sphere
fabmetheus_utilities.solids.trianglemesh.TriangleMesh(fabmetheus_utilities.solids.group.Group)
TriangleMesh

 
class BooleanSolid(fabmetheus_utilities.solids.solid_utilities.booleansolid.BooleanSolid)
    An Art of Illusion CSG object info.
 
 
Method resolution order:
BooleanSolid
fabmetheus_utilities.solids.solid_utilities.booleansolid.BooleanSolid
fabmetheus_utilities.solids.group.Group
fabmetheus_utilities.solids.solid_tools.dictionary.Dictionary

Methods defined here:
setToObjectAttributeDictionary(self)
Set the shape of this carvable object info.

Methods inherited from fabmetheus_utilities.solids.solid_utilities.booleansolid.BooleanSolid:
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.

 
class Cube(fabmetheus_utilities.solids.cube.Cube)
    An Art of Illusion Cube object.
 
 
Method resolution order:
Cube
fabmetheus_utilities.solids.cube.Cube
fabmetheus_utilities.solids.trianglemesh.TriangleMesh
fabmetheus_utilities.solids.group.Group
fabmetheus_utilities.solids.solid_tools.dictionary.Dictionary

Methods defined here:
setToObjectAttributeDictionary(self)
Set the shape of this carvable object info.

Methods inherited from fabmetheus_utilities.solids.cube.Cube:
addXMLSection(self, depth, output)
Add the xml section for this object.
createShape(self, matrixChain)
Create the shape.

Methods inherited from fabmetheus_utilities.solids.trianglemesh.TriangleMesh:
__init__(self)
Add empty lists.
getCarveCornerMaximum(self)
Get the corner maximum of the vertices.
getCarveCornerMinimum(self)
Get the corner minimum of the vertices.
getCarveLayerThickness(self)
Get the layer thickness.
getCarveRotatedBoundaryLayers(self)
Get the rotated boundary layers.
getInterpretationSuffix(self)
Return the suffix for a triangle mesh.
getLoops(self, importRadius, z)
Get loops sliced through shape.
getLoopsFromMesh(self, z)
Get loops from a carve of a mesh.
getVertices(self)
Get all vertices.
getZAddExtruderPaths(self, z)
Get next z and add extruder loops.
setCarveBridgeLayerThickness(self, bridgeLayerThickness)
Set the bridge layer thickness.  If the infill is not in the direction of the bridge, the bridge layer thickness should be given as None or not set at all.
setCarveImportRadius(self, importRadius)
Set the import radius.
setCarveIsCorrectMesh(self, isCorrectMesh)
Set the is correct mesh flag.
setCarveLayerThickness(self, layerThickness)
Set the layer thickness.
setEdgesForAllFaces(self)
Set the face edges of all the faces.
transformSetBottomTopEdges(self, matrixChain)
Create the shape.

Methods inherited from fabmetheus_utilities.solids.group.Group:
addXMLInnerSection(self, depth, output)
Add xml inner section for this object.
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.
getXMLClassName(self)
Get xml class name.

 
class Cylinder(fabmetheus_utilities.solids.cylinder.Cylinder)
    An Art of Illusion Cylinder object.
 
 
Method resolution order:
Cylinder
fabmetheus_utilities.solids.cylinder.Cylinder
fabmetheus_utilities.solids.cube.Cube
fabmetheus_utilities.solids.trianglemesh.TriangleMesh
fabmetheus_utilities.solids.group.Group
fabmetheus_utilities.solids.solid_tools.dictionary.Dictionary

Methods defined here:
setToObjectAttributeDictionary(self)
Set the shape of this carvable object info.

Methods inherited from fabmetheus_utilities.solids.cylinder.Cylinder:
__init__(self)
Add empty lists.
createShape(self, matrixChain)
Create the shape.

Methods inherited from fabmetheus_utilities.solids.cube.Cube:
addXMLSection(self, depth, output)
Add the xml section for this object.

Methods inherited from fabmetheus_utilities.solids.trianglemesh.TriangleMesh:
getCarveCornerMaximum(self)
Get the corner maximum of the vertices.
getCarveCornerMinimum(self)
Get the corner minimum of the vertices.
getCarveLayerThickness(self)
Get the layer thickness.
getCarveRotatedBoundaryLayers(self)
Get the rotated boundary layers.
getInterpretationSuffix(self)
Return the suffix for a triangle mesh.
getLoops(self, importRadius, z)
Get loops sliced through shape.
getLoopsFromMesh(self, z)
Get loops from a carve of a mesh.
getVertices(self)
Get all vertices.
getZAddExtruderPaths(self, z)
Get next z and add extruder loops.
setCarveBridgeLayerThickness(self, bridgeLayerThickness)
Set the bridge layer thickness.  If the infill is not in the direction of the bridge, the bridge layer thickness should be given as None or not set at all.
setCarveImportRadius(self, importRadius)
Set the import radius.
setCarveIsCorrectMesh(self, isCorrectMesh)
Set the is correct mesh flag.
setCarveLayerThickness(self, layerThickness)
Set the layer thickness.
setEdgesForAllFaces(self)
Set the face edges of all the faces.
transformSetBottomTopEdges(self, matrixChain)
Create the shape.

Methods inherited from fabmetheus_utilities.solids.group.Group:
addXMLInnerSection(self, depth, output)
Add xml inner section for this object.
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.
getXMLClassName(self)
Get xml class name.

 
class Group(fabmetheus_utilities.solids.group.Group)
    An Art of Illusion Group object.
 
 
Method resolution order:
Group
fabmetheus_utilities.solids.group.Group
fabmetheus_utilities.solids.solid_tools.dictionary.Dictionary

Methods defined here:
setToObjectAttributeDictionary(self)
Set the shape of this group.

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.
createShape(self, matrixChain)
Create the shape.
getLoops(self, importRadius, z)
Get loops sliced through shape.
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.
getXMLClassName(self)
Get xml class name.

 
class Sphere(fabmetheus_utilities.solids.sphere.Sphere)
    An Art of Illusion Sphere object.
 
 
Method resolution order:
Sphere
fabmetheus_utilities.solids.sphere.Sphere
fabmetheus_utilities.solids.cube.Cube
fabmetheus_utilities.solids.trianglemesh.TriangleMesh
fabmetheus_utilities.solids.group.Group
fabmetheus_utilities.solids.solid_tools.dictionary.Dictionary

Methods defined here:
setToObjectAttributeDictionary(self)
Set the shape of this carvable object.

Methods inherited from fabmetheus_utilities.solids.sphere.Sphere:
createShape(self, matrixChain)
Create the shape.

Methods inherited from fabmetheus_utilities.solids.cube.Cube:
addXMLSection(self, depth, output)
Add the xml section for this object.

Methods inherited from fabmetheus_utilities.solids.trianglemesh.TriangleMesh:
__init__(self)
Add empty lists.
getCarveCornerMaximum(self)
Get the corner maximum of the vertices.
getCarveCornerMinimum(self)
Get the corner minimum of the vertices.
getCarveLayerThickness(self)
Get the layer thickness.
getCarveRotatedBoundaryLayers(self)
Get the rotated boundary layers.
getInterpretationSuffix(self)
Return the suffix for a triangle mesh.
getLoops(self, importRadius, z)
Get loops sliced through shape.
getLoopsFromMesh(self, z)
Get loops from a carve of a mesh.
getVertices(self)
Get all vertices.
getZAddExtruderPaths(self, z)
Get next z and add extruder loops.
setCarveBridgeLayerThickness(self, bridgeLayerThickness)
Set the bridge layer thickness.  If the infill is not in the direction of the bridge, the bridge layer thickness should be given as None or not set at all.
setCarveImportRadius(self, importRadius)
Set the import radius.
setCarveIsCorrectMesh(self, isCorrectMesh)
Set the is correct mesh flag.
setCarveLayerThickness(self, layerThickness)
Set the layer thickness.
setEdgesForAllFaces(self)
Set the face edges of all the faces.
transformSetBottomTopEdges(self, matrixChain)
Create the shape.

Methods inherited from fabmetheus_utilities.solids.group.Group:
addXMLInnerSection(self, depth, output)
Add xml inner section for this object.
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.
getXMLClassName(self)
Get xml class name.

 
class TriangleMesh(fabmetheus_utilities.solids.trianglemesh.TriangleMesh)
    An Art of Illusion triangle mesh object.
 
 
Method resolution order:
TriangleMesh
fabmetheus_utilities.solids.trianglemesh.TriangleMesh
fabmetheus_utilities.solids.group.Group
fabmetheus_utilities.solids.solid_tools.dictionary.Dictionary

Methods defined here:
setToObjectAttributeDictionary(self)
Set the shape of this carvable object info.

Methods inherited from fabmetheus_utilities.solids.trianglemesh.TriangleMesh:
__init__(self)
Add empty lists.
addXMLSection(self, depth, output)
Add the xml section for this object.
createShape(self, matrixChain)
Create the shape.
getCarveCornerMaximum(self)
Get the corner maximum of the vertices.
getCarveCornerMinimum(self)
Get the corner minimum of the vertices.
getCarveLayerThickness(self)
Get the layer thickness.
getCarveRotatedBoundaryLayers(self)
Get the rotated boundary layers.
getInterpretationSuffix(self)
Return the suffix for a triangle mesh.
getLoops(self, importRadius, z)
Get loops sliced through shape.
getLoopsFromMesh(self, z)
Get loops from a carve of a mesh.
getVertices(self)
Get all vertices.
getZAddExtruderPaths(self, z)
Get next z and add extruder loops.
setCarveBridgeLayerThickness(self, bridgeLayerThickness)
Set the bridge layer thickness.  If the infill is not in the direction of the bridge, the bridge layer thickness should be given as None or not set at all.
setCarveImportRadius(self, importRadius)
Set the import radius.
setCarveIsCorrectMesh(self, isCorrectMesh)
Set the is correct mesh flag.
setCarveLayerThickness(self, layerThickness)
Set the layer thickness.
setEdgesForAllFaces(self)
Set the face edges of all the faces.
transformSetBottomTopEdges(self, matrixChain)
Create the shape.

Methods inherited from fabmetheus_utilities.solids.group.Group:
addXMLInnerSection(self, depth, output)
Add xml inner section for this object.
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.
getXMLClassName(self)
Get xml class name.

 
Functions
       
getCarvableObject(globalObject, object, xmlElement)
Get new carvable object info.
getCarvingFromParser(xmlParser)
Get the carving for the parser.
getTransformAttributeDictionary(coords, transformName)
Get the transform attributes.
processXMLElement(archivableObjects, xmlElement)
Add the object info if it is carvable.
removeListArtOfIllusionFromDictionary(dictionary, scrubKeys)
Remove the list and art of illusion keys from the dictionary.

 
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)
globalCarvableClassObjectTable = {'CSGObject': <class fabmetheus_utilities.fabmetheus_tools.int...plugins.artofillusion.BooleanSolid at 0xb763d89c>, 'Cube': <class fabmetheus_utilities.fabmetheus_tools.int...ins.xml_plugins.artofillusion.Cube at 0xb763d92c>, 'Cylinder': <class fabmetheus_utilities.fabmetheus_tools.int...xml_plugins.artofillusion.Cylinder at 0xb763d95c>, 'Sphere': <class fabmetheus_utilities.fabmetheus_tools.int...s.xml_plugins.artofillusion.Sphere at 0xb763d9bc>, 'TriangleMesh': <class fabmetheus_utilities.fabmetheus_tools.int...plugins.artofillusion.TriangleMesh at 0xb763d9ec>, 'artofillusion.object.NullObject': <class fabmetheus_utilities.fabmetheus_tools.int...ns.xml_plugins.artofillusion.Group at 0xb763d98c>}

 
Author
        Enrique Perez (perez_enrique@yahoo.com)

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