# Python: module fabmetheus_utilities.fabmetheus_tools.interpret_plugins.xml_plugins.artofillusion

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.
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.geometry.geometry_utilities.boolean_geometry
fabmetheus_utilities.geometry.geometry_utilities.boolean_solid

fabmetheus_utilities.geometry.solids.cube
fabmetheus_utilities.geometry.solids.cylinder
fabmetheus_utilities.euclidean

fabmetheus_utilities.geometry.geometry_tools.face
fabmetheus_utilities.geometry.solids.group
fabmetheus_utilities.geometry.geometry_utilities.matrix

fabmetheus_utilities.geometry.solids.sphere
fabmetheus_utilities.geometry.solids.triangle_mesh

Classes

``

fabmetheus_utilities.geometry.geometry_utilities.boolean_solid.BooleanSolid(fabmetheus_utilities.geometry.solids.group.Group)
  BooleanSolid
fabmetheus_utilities.geometry.solids.cube.Cube(fabmetheus_utilities.geometry.solids.triangle_mesh.TriangleMesh)
  Cube
fabmetheus_utilities.geometry.solids.cylinder.Cylinder(fabmetheus_utilities.geometry.solids.cube.Cube)
  Cylinder
fabmetheus_utilities.geometry.solids.group.Group(fabmetheus_utilities.geometry.geometry_tools.dictionary.Dictionary)
  Group
fabmetheus_utilities.geometry.solids.sphere.Sphere(fabmetheus_utilities.geometry.solids.cube.Cube)
  Sphere
fabmetheus_utilities.geometry.solids.triangle_mesh.TriangleMesh(fabmetheus_utilities.geometry.solids.group.Group)
  TriangleMesh

class BooleanSolid(fabmetheus_utilities.geometry.geometry_utilities.boolean_solid.BooleanSolid)
`` | `An Art of Illusion CSG object info.`

Method resolution order:
  BooleanSolid
  fabmetheus_utilities.geometry.geometry_utilities.boolean_solid.BooleanSolid
  fabmetheus_utilities.geometry.solids.group.Group
  fabmetheus_utilities.geometry.geometry_tools.dictionary.Dictionary

Methods defined here:

setToArtOfIllusionDictionary(self)
  `Set the shape of this carvable object info.`

Methods inherited from fabmetheus_utilities.geometry.geometry_utilities.boolean_solid.BooleanSolid:

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.`

getTransformedPaths(self)
  `Get all transformed paths.`

getUnion(self, importRadius, visibleObjectLoopsList)
  `Get joined loops sliced through shape.`

getXMLLocalName(self)
  `Get xml class name.`

Methods inherited from fabmetheus_utilities.geometry.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.`

getMatrix4X4(self)
  `Get the matrix4X4.`

getMatrixChainTetragrid(self)
  `Get the matrix chain tetragrid.`

getVisible(self)
  `Get visible.`

setToElementNode(self, elementNode)
  `Set to elementNode.`

Methods inherited from fabmetheus_utilities.geometry.geometry_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.`

createShape(self)
  `Create the shape.`

getAttributes(self)
  `Get attribute table.`

getComplexTransformedPathLists(self)
  `Get complex transformed path lists.`

getFabricationExtension(self)
  `Get fabrication extension.`

getFabricationText(self, addLayerTemplate)
  `Get fabrication text.`

getGeometryOutput(self)
  `Get geometry output dictionary.`

getMinimumZ(self)
  `Get the minimum z.`

getPaths(self)
  `Get all paths.`

getTransformedVertexes(self)
  `Get all transformed vertexes.`

getTriangleMeshes(self)
  `Get all triangleMeshes.`

getType(self)
  `Get type.`

getVertexes(self)
  `Get all vertexes.`

transformGeometryOutput(self, geometryOutput)
  `Transform the geometry output by the local matrix4x4.`

class Cube(fabmetheus_utilities.geometry.solids.cube.Cube)
`` | `An Art of Illusion Cube object.`

Method resolution order:
  Cube
  fabmetheus_utilities.geometry.solids.cube.Cube
  fabmetheus_utilities.geometry.solids.triangle_mesh.TriangleMesh
  fabmetheus_utilities.geometry.solids.group.Group
  fabmetheus_utilities.geometry.geometry_tools.dictionary.Dictionary

Methods defined here:

setToArtOfIllusionDictionary(self)
  `Set the shape of this carvable object info.`

Methods inherited from fabmetheus_utilities.geometry.solids.cube.Cube:

addXMLSection(self, depth, output)
  `Add the xml section for this object.`

createShape(self)
  `Create the shape.`

setToElementNode(self, elementNode)
  `Set to elementNode.`

Methods inherited from fabmetheus_utilities.geometry.solids.triangle_mesh.TriangleMesh:

__init__(self)
  `Add empty lists.`

getCarveBoundaryLayers(self)
  `Get the boundary layers.`

getCarveCornerMaximum(self)
  `Get the corner maximum of the vertexes.`

getCarveCornerMinimum(self)
  `Get the corner minimum of the vertexes.`

getCarveLayerHeight(self)
  `Get the layer height.`

getFabmetheusXML(self)
  `Return the fabmetheus XML.`

getGeometryOutput(self)
  `Get geometry output dictionary.`

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.`

getMinimumZ(self)
  `Get the minimum z.`

getTransformedVertexes(self)
  `Get all transformed vertexes.`

getTriangleMeshes(self)
  `Get all triangleMeshes.`

getVertexes(self)
  `Get all vertexes.`

setCarveImportRadius(self, importRadius)
  `Set the import radius.`

setCarveIsCorrectMesh(self, isCorrectMesh)
  `Set the is correct mesh flag.`

setCarveLayerHeight(self, layerHeight)
  `Set the layer height.`

setEdgesForAllFaces(self)
  `Set the face edges of all the faces.`

Methods inherited from fabmetheus_utilities.geometry.solids.group.Group:

addXMLInnerSection(self, depth, output)
  `Add xml inner section for this object.`

getMatrix4X4(self)
  `Get the matrix4X4.`

getMatrixChainTetragrid(self)
  `Get the matrix chain tetragrid.`

getVisible(self)
  `Get visible.`

Methods inherited from fabmetheus_utilities.geometry.geometry_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.`

getAttributes(self)
  `Get attribute table.`

getComplexTransformedPathLists(self)
  `Get complex transformed path lists.`

getFabricationExtension(self)
  `Get fabrication extension.`

getFabricationText(self, addLayerTemplate)
  `Get fabrication text.`

getPaths(self)
  `Get all paths.`

getTransformedPaths(self)
  `Get all transformed paths.`

getType(self)
  `Get type.`

getXMLLocalName(self)
  `Get xml local name.`

transformGeometryOutput(self, geometryOutput)
  `Transform the geometry output by the local matrix4x4.`

class Cylinder(fabmetheus_utilities.geometry.solids.cylinder.Cylinder)
`` | `An Art of Illusion Cylinder object.`

Method resolution order:
  Cylinder
  fabmetheus_utilities.geometry.solids.cylinder.Cylinder
  fabmetheus_utilities.geometry.solids.cube.Cube
  fabmetheus_utilities.geometry.solids.triangle_mesh.TriangleMesh
  fabmetheus_utilities.geometry.solids.group.Group
  fabmetheus_utilities.geometry.geometry_tools.dictionary.Dictionary

Methods defined here:

setToArtOfIllusionDictionary(self)
  `Set the shape of this carvable object info.`

Methods inherited from fabmetheus_utilities.geometry.solids.cylinder.Cylinder:

__init__(self)
  `Add empty lists.`

createShape(self)
  `Create the shape.`

setToElementNode(self, elementNode)
  `Set to elementNode.`

Methods inherited from fabmetheus_utilities.geometry.solids.cube.Cube:

addXMLSection(self, depth, output)
  `Add the xml section for this object.`

Methods inherited from fabmetheus_utilities.geometry.solids.triangle_mesh.TriangleMesh:

getCarveBoundaryLayers(self)
  `Get the boundary layers.`

getCarveCornerMaximum(self)
  `Get the corner maximum of the vertexes.`

getCarveCornerMinimum(self)
  `Get the corner minimum of the vertexes.`

getCarveLayerHeight(self)
  `Get the layer height.`

getFabmetheusXML(self)
  `Return the fabmetheus XML.`

getGeometryOutput(self)
  `Get geometry output dictionary.`

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.`

getMinimumZ(self)
  `Get the minimum z.`

getTransformedVertexes(self)
  `Get all transformed vertexes.`

getTriangleMeshes(self)
  `Get all triangleMeshes.`

getVertexes(self)
  `Get all vertexes.`

setCarveImportRadius(self, importRadius)
  `Set the import radius.`

setCarveIsCorrectMesh(self, isCorrectMesh)
  `Set the is correct mesh flag.`

setCarveLayerHeight(self, layerHeight)
  `Set the layer height.`

setEdgesForAllFaces(self)
  `Set the face edges of all the faces.`

Methods inherited from fabmetheus_utilities.geometry.solids.group.Group:

addXMLInnerSection(self, depth, output)
  `Add xml inner section for this object.`

getMatrix4X4(self)
  `Get the matrix4X4.`

getMatrixChainTetragrid(self)
  `Get the matrix chain tetragrid.`

getVisible(self)
  `Get visible.`

Methods inherited from fabmetheus_utilities.geometry.geometry_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.`

getAttributes(self)
  `Get attribute table.`

getComplexTransformedPathLists(self)
  `Get complex transformed path lists.`

getFabricationExtension(self)
  `Get fabrication extension.`

getFabricationText(self, addLayerTemplate)
  `Get fabrication text.`

getPaths(self)
  `Get all paths.`

getTransformedPaths(self)
  `Get all transformed paths.`

getType(self)
  `Get type.`

getXMLLocalName(self)
  `Get xml local name.`

transformGeometryOutput(self, geometryOutput)
  `Transform the geometry output by the local matrix4x4.`

class Group(fabmetheus_utilities.geometry.solids.group.Group)
`` | `An Art of Illusion Group object.`

Method resolution order:
  Group
  fabmetheus_utilities.geometry.solids.group.Group
  fabmetheus_utilities.geometry.geometry_tools.dictionary.Dictionary

Methods defined here:

setToArtOfIllusionDictionary(self)
  `Set the shape of this group.`

Methods inherited from fabmetheus_utilities.geometry.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.`

getLoops(self, importRadius, z)
  `Get loops sliced through shape.`

getMatrix4X4(self)
  `Get the matrix4X4.`

getMatrixChainTetragrid(self)
  `Get the matrix chain tetragrid.`

getVisible(self)
  `Get visible.`

setToElementNode(self, elementNode)
  `Set to elementNode.`

Methods inherited from fabmetheus_utilities.geometry.geometry_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.`

createShape(self)
  `Create the shape.`

getAttributes(self)
  `Get attribute table.`

getComplexTransformedPathLists(self)
  `Get complex transformed path lists.`

getFabricationExtension(self)
  `Get fabrication extension.`

getFabricationText(self, addLayerTemplate)
  `Get fabrication text.`

getGeometryOutput(self)
  `Get geometry output dictionary.`

getMinimumZ(self)
  `Get the minimum z.`

getPaths(self)
  `Get all paths.`

getTransformedPaths(self)
  `Get all transformed paths.`

getTransformedVertexes(self)
  `Get all transformed vertexes.`

getTriangleMeshes(self)
  `Get all triangleMeshes.`

getType(self)
  `Get type.`

getVertexes(self)
  `Get all vertexes.`

getXMLLocalName(self)
  `Get xml local name.`

transformGeometryOutput(self, geometryOutput)
  `Transform the geometry output by the local matrix4x4.`

class Sphere(fabmetheus_utilities.geometry.solids.sphere.Sphere)
`` | `An Art of Illusion Sphere object.`

Method resolution order:
  Sphere
  fabmetheus_utilities.geometry.solids.sphere.Sphere
  fabmetheus_utilities.geometry.solids.cube.Cube
  fabmetheus_utilities.geometry.solids.triangle_mesh.TriangleMesh
  fabmetheus_utilities.geometry.solids.group.Group
  fabmetheus_utilities.geometry.geometry_tools.dictionary.Dictionary

Methods defined here:

setToArtOfIllusionDictionary(self)
  `Set the shape of this carvable object.`

Methods inherited from fabmetheus_utilities.geometry.solids.sphere.Sphere:

createShape(self)
  `Create the shape.`

setToElementNode(self, elementNode)
  `Set to elementNode.`

Methods inherited from fabmetheus_utilities.geometry.solids.cube.Cube:

addXMLSection(self, depth, output)
  `Add the xml section for this object.`

Methods inherited from fabmetheus_utilities.geometry.solids.triangle_mesh.TriangleMesh:

__init__(self)
  `Add empty lists.`

getCarveBoundaryLayers(self)
  `Get the boundary layers.`

getCarveCornerMaximum(self)
  `Get the corner maximum of the vertexes.`

getCarveCornerMinimum(self)
  `Get the corner minimum of the vertexes.`

getCarveLayerHeight(self)
  `Get the layer height.`

getFabmetheusXML(self)
  `Return the fabmetheus XML.`

getGeometryOutput(self)
  `Get geometry output dictionary.`

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.`

getMinimumZ(self)
  `Get the minimum z.`

getTransformedVertexes(self)
  `Get all transformed vertexes.`

getTriangleMeshes(self)
  `Get all triangleMeshes.`

getVertexes(self)
  `Get all vertexes.`

setCarveImportRadius(self, importRadius)
  `Set the import radius.`

setCarveIsCorrectMesh(self, isCorrectMesh)
  `Set the is correct mesh flag.`

setCarveLayerHeight(self, layerHeight)
  `Set the layer height.`

setEdgesForAllFaces(self)
  `Set the face edges of all the faces.`

Methods inherited from fabmetheus_utilities.geometry.solids.group.Group:

addXMLInnerSection(self, depth, output)
  `Add xml inner section for this object.`

getMatrix4X4(self)
  `Get the matrix4X4.`

getMatrixChainTetragrid(self)
  `Get the matrix chain tetragrid.`

getVisible(self)
  `Get visible.`

Methods inherited from fabmetheus_utilities.geometry.geometry_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.`

getAttributes(self)
  `Get attribute table.`

getComplexTransformedPathLists(self)
  `Get complex transformed path lists.`

getFabricationExtension(self)
  `Get fabrication extension.`

getFabricationText(self, addLayerTemplate)
  `Get fabrication text.`

getPaths(self)
  `Get all paths.`

getTransformedPaths(self)
  `Get all transformed paths.`

getType(self)
  `Get type.`

getXMLLocalName(self)
  `Get xml local name.`

transformGeometryOutput(self, geometryOutput)
  `Transform the geometry output by the local matrix4x4.`

class TriangleMesh(fabmetheus_utilities.geometry.solids.triangle_mesh.TriangleMesh)
`` | `An Art of Illusion triangle mesh object.`

Method resolution order:
  TriangleMesh
  fabmetheus_utilities.geometry.solids.triangle_mesh.TriangleMesh
  fabmetheus_utilities.geometry.solids.group.Group
  fabmetheus_utilities.geometry.geometry_tools.dictionary.Dictionary

Methods defined here:

setToArtOfIllusionDictionary(self)
  `Set the shape of this carvable object info.`

Methods inherited from fabmetheus_utilities.geometry.solids.triangle_mesh.TriangleMesh:

__init__(self)
  `Add empty lists.`

addXMLSection(self, depth, output)
  `Add the xml section for this object.`

getCarveBoundaryLayers(self)
  `Get the boundary layers.`

getCarveCornerMaximum(self)
  `Get the corner maximum of the vertexes.`

getCarveCornerMinimum(self)
  `Get the corner minimum of the vertexes.`

getCarveLayerHeight(self)
  `Get the layer height.`

getFabmetheusXML(self)
  `Return the fabmetheus XML.`

getGeometryOutput(self)
  `Get geometry output dictionary.`

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.`

getMinimumZ(self)
  `Get the minimum z.`

getTransformedVertexes(self)
  `Get all transformed vertexes.`

getTriangleMeshes(self)
  `Get all triangleMeshes.`

getVertexes(self)
  `Get all vertexes.`

setCarveImportRadius(self, importRadius)
  `Set the import radius.`

setCarveIsCorrectMesh(self, isCorrectMesh)
  `Set the is correct mesh flag.`

setCarveLayerHeight(self, layerHeight)
  `Set the layer height.`

setEdgesForAllFaces(self)
  `Set the face edges of all the faces.`

Methods inherited from fabmetheus_utilities.geometry.solids.group.Group:

addXMLInnerSection(self, depth, output)
  `Add xml inner section for this object.`

getMatrix4X4(self)
  `Get the matrix4X4.`

getMatrixChainTetragrid(self)
  `Get the matrix chain tetragrid.`

getVisible(self)
  `Get visible.`

setToElementNode(self, elementNode)
  `Set to elementNode.`

Methods inherited from fabmetheus_utilities.geometry.geometry_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.`

createShape(self)
  `Create the shape.`

getAttributes(self)
  `Get attribute table.`

getComplexTransformedPathLists(self)
  `Get complex transformed path lists.`

getFabricationExtension(self)
  `Get fabrication extension.`

getFabricationText(self, addLayerTemplate)
  `Get fabrication text.`

getPaths(self)
  `Get all paths.`

getTransformedPaths(self)
  `Get all transformed paths.`

getType(self)
  `Get type.`

getXMLLocalName(self)
  `Get xml local name.`

transformGeometryOutput(self, geometryOutput)
  `Transform the geometry output by the local matrix4x4.`

Functions

``

getCarvableObject(elementNode, globalObject, object)
  `Get new carvable object info.`

getCarvingFromParser(xmlParser)
  `Get the carving for the parser.`

getTransformElementNode(coords, transformName)
  `Get the transform attributes.`

processAppendElementNode(archivableObjects, elementNode, parentNode)
  `Add the object info if it is carvable.`

processElementNode(elementNode)
  `Process the xml element.`

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__ = 'GNU Affero General Public License http://www.gnu.org/licenses/agpl.html'
absolute_import = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)
globalCarvableClassObjectTable = {'CSGObject': <class fabmetheus_utilities.fabmetheus_tools.int...t_plugins.xml_plugins.artofillusion.BooleanSolid>, 'Cube': <class fabmetheus_utilities.fabmetheus_tools.interpret_plugins.xml_plugins.artofillusion.Cube>, 'Cylinder': <class fabmetheus_utilities.fabmetheus_tools.interpret_plugins.xml_plugins.artofillusion.Cylinder>, 'Sphere': <class fabmetheus_utilities.fabmetheus_tools.interpret_plugins.xml_plugins.artofillusion.Sphere>, 'TriangleMesh': <class fabmetheus_utilities.fabmetheus_tools.int...t_plugins.xml_plugins.artofillusion.TriangleMesh>, 'artofillusion.object.NullObject': <class fabmetheus_utilities.fabmetheus_tools.interpret_plugins.xml_plugins.artofillusion.Group>}

Author
`` |  | Enrique Perez (perez_enrique@yahoo.com)

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