importIFClegacy Namespace Reference

Classes

class  IfcDocument
 
class  IfcEntity
 
class  IfcFile
 
class  IfcSchema
 
class  IfcWriter
 

Functions

def create (ifcdoc=None, ifcname=None, arguments=[])
 
def decode (name)
 
def explore (filename=None)
 
def explorer (filename, schema="IFC2X3_TC1.exp")
 
def export (exportList, filename)
 
def getAttr (entity, attr)
 
def getCleanName (name, ifcid, ifctype)
 
def getConfig ()
 
def getIfcBrepFacesData (obj, scale=1, sub=False, tessellation=1)
 
def getIfcElevation (obj)
 
def getIfcExtrusionData (obj, scale=1, nosubs=False)
 
def getIfcOpenShell ()
 
def getMesh (obj)
 
def getPlacement (entity)
 
def getPropertyNames (entity)
 
def getSchema ()
 
def getShape (obj, objid)
 
def getTuple (vec)
 
def getTuples (data, scale=1, placement=None, normal=None, close=True)
 
def getValueAndDirection (vec)
 
def getVector (entity)
 
def getWire (entity, placement=None)
 
def group (entity, ifc, mode=None)
 
def insert (filename, docname, skip=None)
 
def makeRoof (entity, shape=None, name="Roof")
 
def makeSite (entity, shape=None, name="Site")
 
def makeSpace (entity, shape=None, name="Space")
 
def makeStructure (entity, shape=None, ifctype=None, name="Structure")
 
def makeWall (entity, shape=None, name="Wall")
 
def makeWindow (entity, shape=None, name="Window")
 
def now (string=False)
 
def open (filename, skip=None)
 
def read (filename, skip=None)
 
def uid ()
 

Variables

bool APPLYFIX = True
 
bool DEBUG = True
 
 holder = _tempEntityHolder()
 
 IFCLINE_RE = re.compile("#(\d+)[ ]?=[ ]?(.*?)\‍((.*)\‍);[\\r]?$")
 
bool MAKETEMPFILES = False
 
int PRECISION = 4
 
 pyopen = open
 
string SCHEMA = "http://www.steptools.com/support/stdev_docs/ifcbim/ifc4.exp"
 
list SKIP = ["IfcBuildingElementProxy","IfcFlowTerminal","IfcFurnishingElement"]
 
list subtractiveTypes = ["IfcOpeningElement"]
 
list supportedIfcTypes
 

Function Documentation

◆ create()

◆ decode()

def importIFClegacy.decode (   name)

Referenced by open().

◆ explore()

def importIFClegacy.explore (   filename = None)

References explorer(), getConfig(), and getSchema().

◆ explorer()

def importIFClegacy.explorer (   filename,
  schema = "IFC2X3_TC1.exp" 
)

Referenced by explore().

◆ export()

def importIFClegacy.export (   exportList,
  filename 
)

◆ getAttr()

def importIFClegacy.getAttr (   entity,
  attr 
)

◆ getCleanName()

def importIFClegacy.getCleanName (   name,
  ifcid,
  ifctype 
)

Referenced by read().

◆ getConfig()

def importIFClegacy.getConfig ( )

Referenced by explore(), export(), insert(), and open().

◆ getIfcBrepFacesData()

def importIFClegacy.getIfcBrepFacesData (   obj,
  scale = 1,
  sub = False,
  tessellation = 1 
)
getIfcBrepFacesData(obj,[scale,tessellation]): returns a list(0) of lists(1) of lists(2) of lists(3), 
list(3) being a list of vertices defining a loop, list(2) describing a face from one or 
more loops, list(1) being the whole solid made of several faces, list(0) being the list
of solids inside the object. Scale can indicate a scaling factor. Tessellation is the tessellation
factor to apply on curved faces.

References getTuples(), and DraftVecUtils.neg().

Referenced by export().

◆ getIfcElevation()

def importIFClegacy.getIfcElevation (   obj)
getIfcElevation(obj): Returns the lowest height (Z coordinate) of this object

Referenced by export().

◆ getIfcExtrusionData()

def importIFClegacy.getIfcExtrusionData (   obj,
  scale = 1,
  nosubs = False 
)
getIfcExtrusionData(obj,[scale,nosubs]): returns a closed path (a list of tuples), a tuple expressing an extrusion
vector, and a list of 3 tuples for base position, x axis and z axis. Or returns None, if a base loop and 
an extrusion direction cannot be extracted. Scale can indicate a scale factor.

References DraftVecUtils.angle(), DraftVecUtils.equals(), getTuples(), and DraftVecUtils.rounded().

Referenced by export().

◆ getIfcOpenShell()

def importIFClegacy.getIfcOpenShell ( )

Referenced by read().

◆ getMesh()

def importIFClegacy.getMesh (   obj)

Referenced by read().

◆ getPlacement()

def importIFClegacy.getPlacement (   entity)

◆ getPropertyNames()

def importIFClegacy.getPropertyNames (   entity)
getPropertyNames(entity): Returns a dictionary with 
the numbers and names of the pythonproperties available for
this entity

Referenced by importIFClegacy.IfcWriter.addProduct().

◆ getSchema()

def importIFClegacy.getSchema ( )

References ArchCommands.download().

Referenced by explore(), and read().

◆ getShape()

def importIFClegacy.getShape (   obj,
  objid 
)

References getAttr(), getPlacement(), and pyopen.

Referenced by read().

◆ getTuple()

def importIFClegacy.getTuple (   vec)
getTuple(vec): returns a tuple from other coordinate
structures: tuple, list, 3d vector, or occ vertex

Referenced by importIFClegacy.IfcWriter.addFace(), importIFClegacy.IfcWriter.addPlacement(), importIFClegacy.IfcWriter.addProfile(), and getValueAndDirection().

◆ getTuples()

def importIFClegacy.getTuples (   data,
  scale = 1,
  placement = None,
  normal = None,
  close = True 
)
getTuples(data,[scale,placement,normal,close]): returns a tuple or a list of tuples from a vector
or from the vertices of a shape. Scale can indicate a scale factor

References DraftVecUtils.angle(), and DraftVecUtils.rounded().

Referenced by getIfcBrepFacesData(), and getIfcExtrusionData().

◆ getValueAndDirection()

def importIFClegacy.getValueAndDirection (   vec)
getValueAndDirection(vec): returns a length and a tuple
representing a normalized vector from a tuple

References getTuple().

Referenced by importIFClegacy.IfcWriter.addExtrusion().

◆ getVector()

def importIFClegacy.getVector (   entity)

References getAttr().

Referenced by getPlacement(), getWire(), and makeWall().

◆ getWire()

def importIFClegacy.getWire (   entity,
  placement = None 
)

References getVector().

Referenced by makeStructure(), makeWall(), and makeWindow().

◆ group()

def importIFClegacy.group (   entity,
  ifc,
  mode = None 
)

References getPlacement().

◆ insert()

def importIFClegacy.insert (   filename,
  docname,
  skip = None 
)

References getConfig(), and read().

◆ makeRoof()

def importIFClegacy.makeRoof (   entity,
  shape = None,
  name = "Roof" 
)

Referenced by read().

◆ makeSite()

def importIFClegacy.makeSite (   entity,
  shape = None,
  name = "Site" 
)

Referenced by read().

◆ makeSpace()

def importIFClegacy.makeSpace (   entity,
  shape = None,
  name = "Space" 
)

Referenced by read().

◆ makeStructure()

def importIFClegacy.makeStructure (   entity,
  shape = None,
  ifctype = None,
  name = "Structure" 
)

References getPlacement(), and getWire().

Referenced by read().

◆ makeWall()

def importIFClegacy.makeWall (   entity,
  shape = None,
  name = "Wall" 
)

References getPlacement(), getVector(), and getWire().

Referenced by read().

◆ makeWindow()

def importIFClegacy.makeWindow (   entity,
  shape = None,
  name = "Window" 
)

References getPlacement(), and getWire().

Referenced by read().

◆ now()

def importIFClegacy.now (   string = False)

◆ open()

def importIFClegacy.open (   filename,
  skip = None 
)

References decode(), getConfig(), and read().

◆ read()

◆ uid()

Variable Documentation

◆ APPLYFIX

bool importIFClegacy.APPLYFIX = True

◆ DEBUG

bool importIFClegacy.DEBUG = True

◆ holder

importIFClegacy.holder = _tempEntityHolder()

◆ IFCLINE_RE

importIFClegacy.IFCLINE_RE = re.compile("#(\d+)[ ]?=[ ]?(.*?)\‍((.*)\‍);[\\r]?$")

◆ MAKETEMPFILES

bool importIFClegacy.MAKETEMPFILES = False

◆ PRECISION

int importIFClegacy.PRECISION = 4

◆ pyopen

importIFClegacy.pyopen = open

◆ SCHEMA

string importIFClegacy.SCHEMA = "http://www.steptools.com/support/stdev_docs/ifcbim/ifc4.exp"

◆ SKIP

list importIFClegacy.SKIP = ["IfcBuildingElementProxy","IfcFlowTerminal","IfcFurnishingElement"]

◆ subtractiveTypes

list importIFClegacy.subtractiveTypes = ["IfcOpeningElement"]

◆ supportedIfcTypes

list importIFClegacy.supportedIfcTypes
Initial value:
1= ["IfcSite", "IfcBuilding", "IfcBuildingStorey", "IfcBeam", "IfcBeamStandardCase",
2 "IfcChimney", "IfcColumn", "IfcColumnStandardCase", "IfcCovering", "IfcCurtainWall",
3 "IfcDoor", "IfcDoorStandardCase", "IfcMember", "IfcMemberStandardCase", "IfcPlate",
4 "IfcPlateStandardCase", "IfcRailing", "IfcRamp", "IfcRampFlight", "IfcRoof",
5 "IfcSlab", "IfcStair", "IfcStairFlight", "IfcWall","IfcSpace",
6 "IfcWallStandardCase", "IfcWindow", "IfcWindowStandardCase", "IfcBuildingElementProxy",
7 "IfcPile", "IfcFooting", "IfcReinforcingBar", "IfcTendon"]