Files
IfcOpenShell/src/ifcopenshell-python/ifcopenshell/express/rules/IFC2X3.py
T
Thomas Krijnen 50f3178d97 Feature: express rules (#2662)
* temp reasonable state, missing rule_head contents

* better state, with init() and rule_id, but some missing parameters

* performance; embed root in dict; fix lookup

* Add ast_utils

* Fixes related to listnode and typo

* First steps with code gen

* Finalize first steps towards working code generation

* Backwards compat

* Rule execution, error formatting, test cases

* Where rule: support indexing, more expressions, test plane angle measure

* positive length measure test cases

* Venture into entity rules, test actor role

* Fixed for not unary op and address test cases

* Test group qualifier and air terminal type

* typeof() implementation and test annotation curve occ

* Flexible handling of expression, type set intersection, IfcAnnotationSurface test cases

* Functions, derived attrs, fix branch order, allow to terminate branches, apply -1 to index

* Implement express query(), test cases for 2x3 bspline curve

* Function args, if-else, repeat, entity instance construction, cshape test cases

* Multiple function call arguments and other small but influential changes. IfcDotProject() almost working except for variable case

* Make lowercase and fix assignment to qualified lhs

* Entity instance schema without file, aggregate assignment workaround, range fix, lowercase instance locals, extruded area direction test cases

* Enumeration item handling, query() robustness, arbitrary profile test cases

* Empty aggregate_initializer, xor and instance equality, nested expression fix in IfcCrossProduct, axis2-3d test cases

* Numeric stable sort with indices greater then 10, get ast node parent, redeclared derived support, nested expression robustness, define entity functions, case statements, xor, mod, bool literals, nvl, unknown, conversion based unit test cases

* Safeguard for schema name case norm, case norm query variable_id

* free instance comparison, supertype serialization fix, include inherited attributes in locals, proper elif-else in case stmt, loindex, shape rep test cases

* Union operator on set, retain general_aggr_types in parse tree, test cases for property set

* Escape stmt, rule locals and statements

* Return calculated values for redeclared derived attributes

* fix for rules without stmt, add derived and inverse attributes to locals, filter unused locals, wrap exists() arg with lambda to catch indexerror, support repeated aggr init element, typeof() none check, enum namespace uppercase

* Regen 2x3 rules

* Rule test filter only on basename

* Update fixtures for compliance with full body of rules

* Add rule support to ifcopenshell.validate

* Implement usedin() function, test cases for IfcWallSC MLS

* blength

* Run code generation on all schemas

* Try to eliminate runtime pyparsing dep

* Try to eliminate runtime pyparsing dep
2023-01-05 16:59:48 +11:00

15270 lines
307 KiB
Python

import ifcopenshell
def exists(v):
if callable(v):
try: return v() is not None
except IndexError as e: return False
else: return v is not None
def nvl(v, default): return v if v is not None else default
sizeof = len
hiindex = len
blength = len
loindex = lambda x: 1
from math import *
unknown = 'UNKNOWN'
def usedin(inst, ref_name):
if inst is None:
return []
_, __, attr = ref_name.split('.')
def filter():
for ref, attr_idx in inst.wrapped_data.file.get_inverse(inst, allow_duplicate=True, with_attribute_indices=True):
if ref.wrapped_data.get_attribute_names()[attr_idx].lower() == attr:
yield ref
return list(filter())
class express_set(set):
def __rmul__(self, other):
return express_set(set(other) & self)
def __add__(self, other):
def make_list(v):
# Comply with 12.6.3 Union operator
if isinstance(v, (list, tuple, set, express_set)):
return list(v)
else:
return [v]
return express_set(list(self) + make_list(other))
__radd__ = __add__
def __repr__(self):
return repr(set(self))
def typeof(inst):
if not inst:
# If V evaluates to indeterminate (?), an empty set is returned.
return express_set([])
schema_name = inst.is_a(True).split('.')[0].lower()
def inner():
decl = ifcopenshell.ifcopenshell_wrapper.schema_by_name(schema_name).declaration_by_name(inst.is_a())
while decl:
yield '.'.join((schema_name, decl.name().lower()))
decl = decl.supertype()
return express_set(inner())
class enum_namespace:
def __getattr__(self, k):
return k.upper()
IfcActionSourceTypeEnum = enum_namespace()
dead_load_g = IfcActionSourceTypeEnum.DEAD_LOAD_G
completion_g1 = IfcActionSourceTypeEnum.COMPLETION_G1
live_load_q = IfcActionSourceTypeEnum.LIVE_LOAD_Q
snow_s = IfcActionSourceTypeEnum.SNOW_S
wind_w = IfcActionSourceTypeEnum.WIND_W
prestressing_p = IfcActionSourceTypeEnum.PRESTRESSING_P
settlement_u = IfcActionSourceTypeEnum.SETTLEMENT_U
temperature_t = IfcActionSourceTypeEnum.TEMPERATURE_T
earthquake_e = IfcActionSourceTypeEnum.EARTHQUAKE_E
fire = IfcActionSourceTypeEnum.FIRE
impulse = IfcActionSourceTypeEnum.IMPULSE
impact = IfcActionSourceTypeEnum.IMPACT
transport = IfcActionSourceTypeEnum.TRANSPORT
erection = IfcActionSourceTypeEnum.ERECTION
propping = IfcActionSourceTypeEnum.PROPPING
system_imperfection = IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION
shrinkage = IfcActionSourceTypeEnum.SHRINKAGE
creep = IfcActionSourceTypeEnum.CREEP
lack_of_fit = IfcActionSourceTypeEnum.LACK_OF_FIT
buoyancy = IfcActionSourceTypeEnum.BUOYANCY
ice = IfcActionSourceTypeEnum.ICE
current = IfcActionSourceTypeEnum.CURRENT
wave = IfcActionSourceTypeEnum.WAVE
rain = IfcActionSourceTypeEnum.RAIN
brakes = IfcActionSourceTypeEnum.BRAKES
userdefined = IfcActionSourceTypeEnum.USERDEFINED
notdefined = IfcActionSourceTypeEnum.NOTDEFINED
IfcActionTypeEnum = enum_namespace()
permanent_g = IfcActionTypeEnum.PERMANENT_G
variable_q = IfcActionTypeEnum.VARIABLE_Q
extraordinary_a = IfcActionTypeEnum.EXTRAORDINARY_A
userdefined = IfcActionTypeEnum.USERDEFINED
notdefined = IfcActionTypeEnum.NOTDEFINED
IfcActuatorTypeEnum = enum_namespace()
electricactuator = IfcActuatorTypeEnum.ELECTRICACTUATOR
handoperatedactuator = IfcActuatorTypeEnum.HANDOPERATEDACTUATOR
hydraulicactuator = IfcActuatorTypeEnum.HYDRAULICACTUATOR
pneumaticactuator = IfcActuatorTypeEnum.PNEUMATICACTUATOR
thermostaticactuator = IfcActuatorTypeEnum.THERMOSTATICACTUATOR
userdefined = IfcActuatorTypeEnum.USERDEFINED
notdefined = IfcActuatorTypeEnum.NOTDEFINED
IfcAddressTypeEnum = enum_namespace()
office = IfcAddressTypeEnum.OFFICE
site = IfcAddressTypeEnum.SITE
home = IfcAddressTypeEnum.HOME
distributionpoint = IfcAddressTypeEnum.DISTRIBUTIONPOINT
userdefined = IfcAddressTypeEnum.USERDEFINED
IfcAheadOrBehind = enum_namespace()
ahead = IfcAheadOrBehind.AHEAD
behind = IfcAheadOrBehind.BEHIND
IfcAirTerminalBoxTypeEnum = enum_namespace()
constantflow = IfcAirTerminalBoxTypeEnum.CONSTANTFLOW
variableflowpressuredependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT
variableflowpressureindependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT
userdefined = IfcAirTerminalBoxTypeEnum.USERDEFINED
notdefined = IfcAirTerminalBoxTypeEnum.NOTDEFINED
IfcAirTerminalTypeEnum = enum_namespace()
grille = IfcAirTerminalTypeEnum.GRILLE
register = IfcAirTerminalTypeEnum.REGISTER
diffuser = IfcAirTerminalTypeEnum.DIFFUSER
eyeball = IfcAirTerminalTypeEnum.EYEBALL
iris = IfcAirTerminalTypeEnum.IRIS
lineargrille = IfcAirTerminalTypeEnum.LINEARGRILLE
lineardiffuser = IfcAirTerminalTypeEnum.LINEARDIFFUSER
userdefined = IfcAirTerminalTypeEnum.USERDEFINED
notdefined = IfcAirTerminalTypeEnum.NOTDEFINED
IfcAirToAirHeatRecoveryTypeEnum = enum_namespace()
fixedplatecounterflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER
fixedplatecrossflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER
fixedplateparallelflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER
rotarywheel = IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL
runaroundcoilloop = IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP
heatpipe = IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE
twintowerenthalpyrecoveryloops = IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS
thermosiphonsealedtubeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS
thermosiphoncoiltypeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS
userdefined = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED
notdefined = IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED
IfcAlarmTypeEnum = enum_namespace()
bell = IfcAlarmTypeEnum.BELL
breakglassbutton = IfcAlarmTypeEnum.BREAKGLASSBUTTON
light = IfcAlarmTypeEnum.LIGHT
manualpullbox = IfcAlarmTypeEnum.MANUALPULLBOX
siren = IfcAlarmTypeEnum.SIREN
whistle = IfcAlarmTypeEnum.WHISTLE
userdefined = IfcAlarmTypeEnum.USERDEFINED
notdefined = IfcAlarmTypeEnum.NOTDEFINED
IfcAnalysisModelTypeEnum = enum_namespace()
in_plane_loading_2d = IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D
out_plane_loading_2d = IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D
loading_3d = IfcAnalysisModelTypeEnum.LOADING_3D
userdefined = IfcAnalysisModelTypeEnum.USERDEFINED
notdefined = IfcAnalysisModelTypeEnum.NOTDEFINED
IfcAnalysisTheoryTypeEnum = enum_namespace()
first_order_theory = IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY
second_order_theory = IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY
third_order_theory = IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY
full_nonlinear_theory = IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY
userdefined = IfcAnalysisTheoryTypeEnum.USERDEFINED
notdefined = IfcAnalysisTheoryTypeEnum.NOTDEFINED
IfcArithmeticOperatorEnum = enum_namespace()
add = IfcArithmeticOperatorEnum.ADD
divide = IfcArithmeticOperatorEnum.DIVIDE
multiply = IfcArithmeticOperatorEnum.MULTIPLY
subtract = IfcArithmeticOperatorEnum.SUBTRACT
IfcAssemblyPlaceEnum = enum_namespace()
site = IfcAssemblyPlaceEnum.SITE
factory = IfcAssemblyPlaceEnum.FACTORY
notdefined = IfcAssemblyPlaceEnum.NOTDEFINED
IfcBSplineCurveForm = enum_namespace()
polyline_form = IfcBSplineCurveForm.POLYLINE_FORM
circular_arc = IfcBSplineCurveForm.CIRCULAR_ARC
elliptic_arc = IfcBSplineCurveForm.ELLIPTIC_ARC
parabolic_arc = IfcBSplineCurveForm.PARABOLIC_ARC
hyperbolic_arc = IfcBSplineCurveForm.HYPERBOLIC_ARC
unspecified = IfcBSplineCurveForm.UNSPECIFIED
IfcBeamTypeEnum = enum_namespace()
beam = IfcBeamTypeEnum.BEAM
joist = IfcBeamTypeEnum.JOIST
lintel = IfcBeamTypeEnum.LINTEL
t_beam = IfcBeamTypeEnum.T_BEAM
userdefined = IfcBeamTypeEnum.USERDEFINED
notdefined = IfcBeamTypeEnum.NOTDEFINED
IfcBenchmarkEnum = enum_namespace()
greaterthan = IfcBenchmarkEnum.GREATERTHAN
greaterthanorequalto = IfcBenchmarkEnum.GREATERTHANOREQUALTO
lessthan = IfcBenchmarkEnum.LESSTHAN
lessthanorequalto = IfcBenchmarkEnum.LESSTHANOREQUALTO
equalto = IfcBenchmarkEnum.EQUALTO
notequalto = IfcBenchmarkEnum.NOTEQUALTO
IfcBoilerTypeEnum = enum_namespace()
water = IfcBoilerTypeEnum.WATER
steam = IfcBoilerTypeEnum.STEAM
userdefined = IfcBoilerTypeEnum.USERDEFINED
notdefined = IfcBoilerTypeEnum.NOTDEFINED
IfcBooleanOperator = enum_namespace()
union = IfcBooleanOperator.UNION
intersection = IfcBooleanOperator.INTERSECTION
difference = IfcBooleanOperator.DIFFERENCE
IfcBuildingElementProxyTypeEnum = enum_namespace()
userdefined = IfcBuildingElementProxyTypeEnum.USERDEFINED
notdefined = IfcBuildingElementProxyTypeEnum.NOTDEFINED
IfcCableCarrierFittingTypeEnum = enum_namespace()
bend = IfcCableCarrierFittingTypeEnum.BEND
cross = IfcCableCarrierFittingTypeEnum.CROSS
reducer = IfcCableCarrierFittingTypeEnum.REDUCER
tee = IfcCableCarrierFittingTypeEnum.TEE
userdefined = IfcCableCarrierFittingTypeEnum.USERDEFINED
notdefined = IfcCableCarrierFittingTypeEnum.NOTDEFINED
IfcCableCarrierSegmentTypeEnum = enum_namespace()
cableladdersegment = IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT
cabletraysegment = IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT
cabletrunkingsegment = IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT
conduitsegment = IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT
userdefined = IfcCableCarrierSegmentTypeEnum.USERDEFINED
notdefined = IfcCableCarrierSegmentTypeEnum.NOTDEFINED
IfcCableSegmentTypeEnum = enum_namespace()
cablesegment = IfcCableSegmentTypeEnum.CABLESEGMENT
conductorsegment = IfcCableSegmentTypeEnum.CONDUCTORSEGMENT
userdefined = IfcCableSegmentTypeEnum.USERDEFINED
notdefined = IfcCableSegmentTypeEnum.NOTDEFINED
IfcChangeActionEnum = enum_namespace()
nochange = IfcChangeActionEnum.NOCHANGE
modified = IfcChangeActionEnum.MODIFIED
added = IfcChangeActionEnum.ADDED
deleted = IfcChangeActionEnum.DELETED
modifiedadded = IfcChangeActionEnum.MODIFIEDADDED
modifieddeleted = IfcChangeActionEnum.MODIFIEDDELETED
IfcChillerTypeEnum = enum_namespace()
aircooled = IfcChillerTypeEnum.AIRCOOLED
watercooled = IfcChillerTypeEnum.WATERCOOLED
heatrecovery = IfcChillerTypeEnum.HEATRECOVERY
userdefined = IfcChillerTypeEnum.USERDEFINED
notdefined = IfcChillerTypeEnum.NOTDEFINED
IfcCoilTypeEnum = enum_namespace()
dxcoolingcoil = IfcCoilTypeEnum.DXCOOLINGCOIL
watercoolingcoil = IfcCoilTypeEnum.WATERCOOLINGCOIL
steamheatingcoil = IfcCoilTypeEnum.STEAMHEATINGCOIL
waterheatingcoil = IfcCoilTypeEnum.WATERHEATINGCOIL
electricheatingcoil = IfcCoilTypeEnum.ELECTRICHEATINGCOIL
gasheatingcoil = IfcCoilTypeEnum.GASHEATINGCOIL
userdefined = IfcCoilTypeEnum.USERDEFINED
notdefined = IfcCoilTypeEnum.NOTDEFINED
IfcColumnTypeEnum = enum_namespace()
column = IfcColumnTypeEnum.COLUMN
userdefined = IfcColumnTypeEnum.USERDEFINED
notdefined = IfcColumnTypeEnum.NOTDEFINED
IfcCompressorTypeEnum = enum_namespace()
dynamic = IfcCompressorTypeEnum.DYNAMIC
reciprocating = IfcCompressorTypeEnum.RECIPROCATING
rotary = IfcCompressorTypeEnum.ROTARY
scroll = IfcCompressorTypeEnum.SCROLL
trochoidal = IfcCompressorTypeEnum.TROCHOIDAL
singlestage = IfcCompressorTypeEnum.SINGLESTAGE
booster = IfcCompressorTypeEnum.BOOSTER
opentype = IfcCompressorTypeEnum.OPENTYPE
hermetic = IfcCompressorTypeEnum.HERMETIC
semihermetic = IfcCompressorTypeEnum.SEMIHERMETIC
weldedshellhermetic = IfcCompressorTypeEnum.WELDEDSHELLHERMETIC
rollingpiston = IfcCompressorTypeEnum.ROLLINGPISTON
rotaryvane = IfcCompressorTypeEnum.ROTARYVANE
singlescrew = IfcCompressorTypeEnum.SINGLESCREW
twinscrew = IfcCompressorTypeEnum.TWINSCREW
userdefined = IfcCompressorTypeEnum.USERDEFINED
notdefined = IfcCompressorTypeEnum.NOTDEFINED
IfcCondenserTypeEnum = enum_namespace()
watercooledshelltube = IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE
watercooledshellcoil = IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL
watercooledtubeintube = IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE
watercooledbrazedplate = IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE
aircooled = IfcCondenserTypeEnum.AIRCOOLED
evaporativecooled = IfcCondenserTypeEnum.EVAPORATIVECOOLED
userdefined = IfcCondenserTypeEnum.USERDEFINED
notdefined = IfcCondenserTypeEnum.NOTDEFINED
IfcConnectionTypeEnum = enum_namespace()
atpath = IfcConnectionTypeEnum.ATPATH
atstart = IfcConnectionTypeEnum.ATSTART
atend = IfcConnectionTypeEnum.ATEND
notdefined = IfcConnectionTypeEnum.NOTDEFINED
IfcConstraintEnum = enum_namespace()
hard = IfcConstraintEnum.HARD
soft = IfcConstraintEnum.SOFT
advisory = IfcConstraintEnum.ADVISORY
userdefined = IfcConstraintEnum.USERDEFINED
notdefined = IfcConstraintEnum.NOTDEFINED
IfcControllerTypeEnum = enum_namespace()
floating = IfcControllerTypeEnum.FLOATING
proportional = IfcControllerTypeEnum.PROPORTIONAL
proportionalintegral = IfcControllerTypeEnum.PROPORTIONALINTEGRAL
proportionalintegralderivative = IfcControllerTypeEnum.PROPORTIONALINTEGRALDERIVATIVE
timedtwoposition = IfcControllerTypeEnum.TIMEDTWOPOSITION
twoposition = IfcControllerTypeEnum.TWOPOSITION
userdefined = IfcControllerTypeEnum.USERDEFINED
notdefined = IfcControllerTypeEnum.NOTDEFINED
IfcCooledBeamTypeEnum = enum_namespace()
active = IfcCooledBeamTypeEnum.ACTIVE
passive = IfcCooledBeamTypeEnum.PASSIVE
userdefined = IfcCooledBeamTypeEnum.USERDEFINED
notdefined = IfcCooledBeamTypeEnum.NOTDEFINED
IfcCoolingTowerTypeEnum = enum_namespace()
naturaldraft = IfcCoolingTowerTypeEnum.NATURALDRAFT
mechanicalinduceddraft = IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT
mechanicalforceddraft = IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT
userdefined = IfcCoolingTowerTypeEnum.USERDEFINED
notdefined = IfcCoolingTowerTypeEnum.NOTDEFINED
IfcCostScheduleTypeEnum = enum_namespace()
budget = IfcCostScheduleTypeEnum.BUDGET
costplan = IfcCostScheduleTypeEnum.COSTPLAN
estimate = IfcCostScheduleTypeEnum.ESTIMATE
tender = IfcCostScheduleTypeEnum.TENDER
pricedbillofquantities = IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES
unpricedbillofquantities = IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES
scheduleofrates = IfcCostScheduleTypeEnum.SCHEDULEOFRATES
userdefined = IfcCostScheduleTypeEnum.USERDEFINED
notdefined = IfcCostScheduleTypeEnum.NOTDEFINED
IfcCoveringTypeEnum = enum_namespace()
ceiling = IfcCoveringTypeEnum.CEILING
flooring = IfcCoveringTypeEnum.FLOORING
cladding = IfcCoveringTypeEnum.CLADDING
roofing = IfcCoveringTypeEnum.ROOFING
insulation = IfcCoveringTypeEnum.INSULATION
membrane = IfcCoveringTypeEnum.MEMBRANE
sleeving = IfcCoveringTypeEnum.SLEEVING
wrapping = IfcCoveringTypeEnum.WRAPPING
userdefined = IfcCoveringTypeEnum.USERDEFINED
notdefined = IfcCoveringTypeEnum.NOTDEFINED
IfcCurrencyEnum = enum_namespace()
aed = IfcCurrencyEnum.AED
aes = IfcCurrencyEnum.AES
ats = IfcCurrencyEnum.ATS
aud = IfcCurrencyEnum.AUD
bbd = IfcCurrencyEnum.BBD
beg = IfcCurrencyEnum.BEG
bgl = IfcCurrencyEnum.BGL
bhd = IfcCurrencyEnum.BHD
bmd = IfcCurrencyEnum.BMD
bnd = IfcCurrencyEnum.BND
brl = IfcCurrencyEnum.BRL
bsd = IfcCurrencyEnum.BSD
bwp = IfcCurrencyEnum.BWP
bzd = IfcCurrencyEnum.BZD
cad = IfcCurrencyEnum.CAD
cbd = IfcCurrencyEnum.CBD
chf = IfcCurrencyEnum.CHF
clp = IfcCurrencyEnum.CLP
cny = IfcCurrencyEnum.CNY
cys = IfcCurrencyEnum.CYS
czk = IfcCurrencyEnum.CZK
ddp = IfcCurrencyEnum.DDP
dem = IfcCurrencyEnum.DEM
dkk = IfcCurrencyEnum.DKK
egl = IfcCurrencyEnum.EGL
est = IfcCurrencyEnum.EST
eur = IfcCurrencyEnum.EUR
fak = IfcCurrencyEnum.FAK
fim = IfcCurrencyEnum.FIM
fjd = IfcCurrencyEnum.FJD
fkp = IfcCurrencyEnum.FKP
frf = IfcCurrencyEnum.FRF
gbp = IfcCurrencyEnum.GBP
gip = IfcCurrencyEnum.GIP
gmd = IfcCurrencyEnum.GMD
grx = IfcCurrencyEnum.GRX
hkd = IfcCurrencyEnum.HKD
huf = IfcCurrencyEnum.HUF
ick = IfcCurrencyEnum.ICK
idr = IfcCurrencyEnum.IDR
ils = IfcCurrencyEnum.ILS
inr = IfcCurrencyEnum.INR
irp = IfcCurrencyEnum.IRP
itl = IfcCurrencyEnum.ITL
jmd = IfcCurrencyEnum.JMD
jod = IfcCurrencyEnum.JOD
jpy = IfcCurrencyEnum.JPY
kes = IfcCurrencyEnum.KES
krw = IfcCurrencyEnum.KRW
kwd = IfcCurrencyEnum.KWD
kyd = IfcCurrencyEnum.KYD
lkr = IfcCurrencyEnum.LKR
luf = IfcCurrencyEnum.LUF
mtl = IfcCurrencyEnum.MTL
mur = IfcCurrencyEnum.MUR
mxn = IfcCurrencyEnum.MXN
myr = IfcCurrencyEnum.MYR
nlg = IfcCurrencyEnum.NLG
nzd = IfcCurrencyEnum.NZD
omr = IfcCurrencyEnum.OMR
pgk = IfcCurrencyEnum.PGK
php = IfcCurrencyEnum.PHP
pkr = IfcCurrencyEnum.PKR
pln = IfcCurrencyEnum.PLN
ptn = IfcCurrencyEnum.PTN
qar = IfcCurrencyEnum.QAR
rur = IfcCurrencyEnum.RUR
sar = IfcCurrencyEnum.SAR
scr = IfcCurrencyEnum.SCR
sek = IfcCurrencyEnum.SEK
sgd = IfcCurrencyEnum.SGD
skp = IfcCurrencyEnum.SKP
thb = IfcCurrencyEnum.THB
trl = IfcCurrencyEnum.TRL
ttd = IfcCurrencyEnum.TTD
twd = IfcCurrencyEnum.TWD
usd = IfcCurrencyEnum.USD
veb = IfcCurrencyEnum.VEB
vnd = IfcCurrencyEnum.VND
xeu = IfcCurrencyEnum.XEU
zar = IfcCurrencyEnum.ZAR
zwd = IfcCurrencyEnum.ZWD
nok = IfcCurrencyEnum.NOK
IfcCurtainWallTypeEnum = enum_namespace()
userdefined = IfcCurtainWallTypeEnum.USERDEFINED
notdefined = IfcCurtainWallTypeEnum.NOTDEFINED
IfcDamperTypeEnum = enum_namespace()
controldamper = IfcDamperTypeEnum.CONTROLDAMPER
firedamper = IfcDamperTypeEnum.FIREDAMPER
smokedamper = IfcDamperTypeEnum.SMOKEDAMPER
firesmokedamper = IfcDamperTypeEnum.FIRESMOKEDAMPER
backdraftdamper = IfcDamperTypeEnum.BACKDRAFTDAMPER
reliefdamper = IfcDamperTypeEnum.RELIEFDAMPER
blastdamper = IfcDamperTypeEnum.BLASTDAMPER
gravitydamper = IfcDamperTypeEnum.GRAVITYDAMPER
gravityreliefdamper = IfcDamperTypeEnum.GRAVITYRELIEFDAMPER
balancingdamper = IfcDamperTypeEnum.BALANCINGDAMPER
fumehoodexhaust = IfcDamperTypeEnum.FUMEHOODEXHAUST
userdefined = IfcDamperTypeEnum.USERDEFINED
notdefined = IfcDamperTypeEnum.NOTDEFINED
IfcDataOriginEnum = enum_namespace()
measured = IfcDataOriginEnum.MEASURED
predicted = IfcDataOriginEnum.PREDICTED
simulated = IfcDataOriginEnum.SIMULATED
userdefined = IfcDataOriginEnum.USERDEFINED
notdefined = IfcDataOriginEnum.NOTDEFINED
IfcDerivedUnitEnum = enum_namespace()
angularvelocityunit = IfcDerivedUnitEnum.ANGULARVELOCITYUNIT
compoundplaneangleunit = IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT
dynamicviscosityunit = IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT
heatfluxdensityunit = IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT
integercountrateunit = IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT
isothermalmoisturecapacityunit = IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT
kinematicviscosityunit = IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT
linearvelocityunit = IfcDerivedUnitEnum.LINEARVELOCITYUNIT
massdensityunit = IfcDerivedUnitEnum.MASSDENSITYUNIT
massflowrateunit = IfcDerivedUnitEnum.MASSFLOWRATEUNIT
moisturediffusivityunit = IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT
molecularweightunit = IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT
specificheatcapacityunit = IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT
thermaladmittanceunit = IfcDerivedUnitEnum.THERMALADMITTANCEUNIT
thermalconductanceunit = IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT
thermalresistanceunit = IfcDerivedUnitEnum.THERMALRESISTANCEUNIT
thermaltransmittanceunit = IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT
vaporpermeabilityunit = IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT
volumetricflowrateunit = IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT
rotationalfrequencyunit = IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT
torqueunit = IfcDerivedUnitEnum.TORQUEUNIT
momentofinertiaunit = IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT
linearmomentunit = IfcDerivedUnitEnum.LINEARMOMENTUNIT
linearforceunit = IfcDerivedUnitEnum.LINEARFORCEUNIT
planarforceunit = IfcDerivedUnitEnum.PLANARFORCEUNIT
modulusofelasticityunit = IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT
shearmodulusunit = IfcDerivedUnitEnum.SHEARMODULUSUNIT
linearstiffnessunit = IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT
rotationalstiffnessunit = IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT
modulusofsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT
accelerationunit = IfcDerivedUnitEnum.ACCELERATIONUNIT
curvatureunit = IfcDerivedUnitEnum.CURVATUREUNIT
heatingvalueunit = IfcDerivedUnitEnum.HEATINGVALUEUNIT
ionconcentrationunit = IfcDerivedUnitEnum.IONCONCENTRATIONUNIT
luminousintensitydistributionunit = IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT
massperlengthunit = IfcDerivedUnitEnum.MASSPERLENGTHUNIT
modulusoflinearsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT
modulusofrotationalsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT
phunit = IfcDerivedUnitEnum.PHUNIT
rotationalmassunit = IfcDerivedUnitEnum.ROTATIONALMASSUNIT
sectionareaintegralunit = IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT
sectionmodulusunit = IfcDerivedUnitEnum.SECTIONMODULUSUNIT
soundpowerunit = IfcDerivedUnitEnum.SOUNDPOWERUNIT
soundpressureunit = IfcDerivedUnitEnum.SOUNDPRESSUREUNIT
temperaturegradientunit = IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT
thermalexpansioncoefficientunit = IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT
warpingconstantunit = IfcDerivedUnitEnum.WARPINGCONSTANTUNIT
warpingmomentunit = IfcDerivedUnitEnum.WARPINGMOMENTUNIT
userdefined = IfcDerivedUnitEnum.USERDEFINED
IfcDimensionExtentUsage = enum_namespace()
origin = IfcDimensionExtentUsage.ORIGIN
target = IfcDimensionExtentUsage.TARGET
IfcDirectionSenseEnum = enum_namespace()
positive = IfcDirectionSenseEnum.POSITIVE
negative = IfcDirectionSenseEnum.NEGATIVE
IfcDistributionChamberElementTypeEnum = enum_namespace()
formedduct = IfcDistributionChamberElementTypeEnum.FORMEDDUCT
inspectionchamber = IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER
inspectionpit = IfcDistributionChamberElementTypeEnum.INSPECTIONPIT
manhole = IfcDistributionChamberElementTypeEnum.MANHOLE
meterchamber = IfcDistributionChamberElementTypeEnum.METERCHAMBER
sump = IfcDistributionChamberElementTypeEnum.SUMP
trench = IfcDistributionChamberElementTypeEnum.TRENCH
valvechamber = IfcDistributionChamberElementTypeEnum.VALVECHAMBER
userdefined = IfcDistributionChamberElementTypeEnum.USERDEFINED
notdefined = IfcDistributionChamberElementTypeEnum.NOTDEFINED
IfcDocumentConfidentialityEnum = enum_namespace()
public = IfcDocumentConfidentialityEnum.PUBLIC
restricted = IfcDocumentConfidentialityEnum.RESTRICTED
confidential = IfcDocumentConfidentialityEnum.CONFIDENTIAL
personal = IfcDocumentConfidentialityEnum.PERSONAL
userdefined = IfcDocumentConfidentialityEnum.USERDEFINED
notdefined = IfcDocumentConfidentialityEnum.NOTDEFINED
IfcDocumentStatusEnum = enum_namespace()
draft = IfcDocumentStatusEnum.DRAFT
finaldraft = IfcDocumentStatusEnum.FINALDRAFT
final = IfcDocumentStatusEnum.FINAL
revision = IfcDocumentStatusEnum.REVISION
notdefined = IfcDocumentStatusEnum.NOTDEFINED
IfcDoorPanelOperationEnum = enum_namespace()
swinging = IfcDoorPanelOperationEnum.SWINGING
double_acting = IfcDoorPanelOperationEnum.DOUBLE_ACTING
sliding = IfcDoorPanelOperationEnum.SLIDING
folding = IfcDoorPanelOperationEnum.FOLDING
revolving = IfcDoorPanelOperationEnum.REVOLVING
rollingup = IfcDoorPanelOperationEnum.ROLLINGUP
userdefined = IfcDoorPanelOperationEnum.USERDEFINED
notdefined = IfcDoorPanelOperationEnum.NOTDEFINED
IfcDoorPanelPositionEnum = enum_namespace()
left = IfcDoorPanelPositionEnum.LEFT
middle = IfcDoorPanelPositionEnum.MIDDLE
right = IfcDoorPanelPositionEnum.RIGHT
notdefined = IfcDoorPanelPositionEnum.NOTDEFINED
IfcDoorStyleConstructionEnum = enum_namespace()
aluminium = IfcDoorStyleConstructionEnum.ALUMINIUM
high_grade_steel = IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL
steel = IfcDoorStyleConstructionEnum.STEEL
wood = IfcDoorStyleConstructionEnum.WOOD
aluminium_wood = IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD
aluminium_plastic = IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC
plastic = IfcDoorStyleConstructionEnum.PLASTIC
userdefined = IfcDoorStyleConstructionEnum.USERDEFINED
notdefined = IfcDoorStyleConstructionEnum.NOTDEFINED
IfcDoorStyleOperationEnum = enum_namespace()
single_swing_left = IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT
single_swing_right = IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT
double_door_single_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING
double_door_single_swing_opposite_left = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT
double_door_single_swing_opposite_right = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT
double_swing_left = IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT
double_swing_right = IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT
double_door_double_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING
sliding_to_left = IfcDoorStyleOperationEnum.SLIDING_TO_LEFT
sliding_to_right = IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT
double_door_sliding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING
folding_to_left = IfcDoorStyleOperationEnum.FOLDING_TO_LEFT
folding_to_right = IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT
double_door_folding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING
revolving = IfcDoorStyleOperationEnum.REVOLVING
rollingup = IfcDoorStyleOperationEnum.ROLLINGUP
userdefined = IfcDoorStyleOperationEnum.USERDEFINED
notdefined = IfcDoorStyleOperationEnum.NOTDEFINED
IfcDuctFittingTypeEnum = enum_namespace()
bend = IfcDuctFittingTypeEnum.BEND
connector = IfcDuctFittingTypeEnum.CONNECTOR
entry = IfcDuctFittingTypeEnum.ENTRY
exit = IfcDuctFittingTypeEnum.EXIT
junction = IfcDuctFittingTypeEnum.JUNCTION
obstruction = IfcDuctFittingTypeEnum.OBSTRUCTION
transition = IfcDuctFittingTypeEnum.TRANSITION
userdefined = IfcDuctFittingTypeEnum.USERDEFINED
notdefined = IfcDuctFittingTypeEnum.NOTDEFINED
IfcDuctSegmentTypeEnum = enum_namespace()
rigidsegment = IfcDuctSegmentTypeEnum.RIGIDSEGMENT
flexiblesegment = IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT
userdefined = IfcDuctSegmentTypeEnum.USERDEFINED
notdefined = IfcDuctSegmentTypeEnum.NOTDEFINED
IfcDuctSilencerTypeEnum = enum_namespace()
flatoval = IfcDuctSilencerTypeEnum.FLATOVAL
rectangular = IfcDuctSilencerTypeEnum.RECTANGULAR
round = IfcDuctSilencerTypeEnum.ROUND
userdefined = IfcDuctSilencerTypeEnum.USERDEFINED
notdefined = IfcDuctSilencerTypeEnum.NOTDEFINED
IfcElectricApplianceTypeEnum = enum_namespace()
computer = IfcElectricApplianceTypeEnum.COMPUTER
directwaterheater = IfcElectricApplianceTypeEnum.DIRECTWATERHEATER
dishwasher = IfcElectricApplianceTypeEnum.DISHWASHER
electriccooker = IfcElectricApplianceTypeEnum.ELECTRICCOOKER
electricheater = IfcElectricApplianceTypeEnum.ELECTRICHEATER
facsimile = IfcElectricApplianceTypeEnum.FACSIMILE
freestandingfan = IfcElectricApplianceTypeEnum.FREESTANDINGFAN
freezer = IfcElectricApplianceTypeEnum.FREEZER
fridge_freezer = IfcElectricApplianceTypeEnum.FRIDGE_FREEZER
handdryer = IfcElectricApplianceTypeEnum.HANDDRYER
indirectwaterheater = IfcElectricApplianceTypeEnum.INDIRECTWATERHEATER
microwave = IfcElectricApplianceTypeEnum.MICROWAVE
photocopier = IfcElectricApplianceTypeEnum.PHOTOCOPIER
printer = IfcElectricApplianceTypeEnum.PRINTER
refrigerator = IfcElectricApplianceTypeEnum.REFRIGERATOR
radiantheater = IfcElectricApplianceTypeEnum.RADIANTHEATER
scanner = IfcElectricApplianceTypeEnum.SCANNER
telephone = IfcElectricApplianceTypeEnum.TELEPHONE
tumbledryer = IfcElectricApplianceTypeEnum.TUMBLEDRYER
tv = IfcElectricApplianceTypeEnum.TV
vendingmachine = IfcElectricApplianceTypeEnum.VENDINGMACHINE
washingmachine = IfcElectricApplianceTypeEnum.WASHINGMACHINE
waterheater = IfcElectricApplianceTypeEnum.WATERHEATER
watercooler = IfcElectricApplianceTypeEnum.WATERCOOLER
userdefined = IfcElectricApplianceTypeEnum.USERDEFINED
notdefined = IfcElectricApplianceTypeEnum.NOTDEFINED
IfcElectricCurrentEnum = enum_namespace()
alternating = IfcElectricCurrentEnum.ALTERNATING
direct = IfcElectricCurrentEnum.DIRECT
notdefined = IfcElectricCurrentEnum.NOTDEFINED
IfcElectricDistributionPointFunctionEnum = enum_namespace()
alarmpanel = IfcElectricDistributionPointFunctionEnum.ALARMPANEL
consumerunit = IfcElectricDistributionPointFunctionEnum.CONSUMERUNIT
controlpanel = IfcElectricDistributionPointFunctionEnum.CONTROLPANEL
distributionboard = IfcElectricDistributionPointFunctionEnum.DISTRIBUTIONBOARD
gasdetectorpanel = IfcElectricDistributionPointFunctionEnum.GASDETECTORPANEL
indicatorpanel = IfcElectricDistributionPointFunctionEnum.INDICATORPANEL
mimicpanel = IfcElectricDistributionPointFunctionEnum.MIMICPANEL
motorcontrolcentre = IfcElectricDistributionPointFunctionEnum.MOTORCONTROLCENTRE
switchboard = IfcElectricDistributionPointFunctionEnum.SWITCHBOARD
userdefined = IfcElectricDistributionPointFunctionEnum.USERDEFINED
notdefined = IfcElectricDistributionPointFunctionEnum.NOTDEFINED
IfcElectricFlowStorageDeviceTypeEnum = enum_namespace()
battery = IfcElectricFlowStorageDeviceTypeEnum.BATTERY
capacitorbank = IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK
harmonicfilter = IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER
inductorbank = IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK
ups = IfcElectricFlowStorageDeviceTypeEnum.UPS
userdefined = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED
notdefined = IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED
IfcElectricGeneratorTypeEnum = enum_namespace()
userdefined = IfcElectricGeneratorTypeEnum.USERDEFINED
notdefined = IfcElectricGeneratorTypeEnum.NOTDEFINED
IfcElectricHeaterTypeEnum = enum_namespace()
electricpointheater = IfcElectricHeaterTypeEnum.ELECTRICPOINTHEATER
electriccableheater = IfcElectricHeaterTypeEnum.ELECTRICCABLEHEATER
electricmatheater = IfcElectricHeaterTypeEnum.ELECTRICMATHEATER
userdefined = IfcElectricHeaterTypeEnum.USERDEFINED
notdefined = IfcElectricHeaterTypeEnum.NOTDEFINED
IfcElectricMotorTypeEnum = enum_namespace()
dc = IfcElectricMotorTypeEnum.DC
induction = IfcElectricMotorTypeEnum.INDUCTION
polyphase = IfcElectricMotorTypeEnum.POLYPHASE
reluctancesynchronous = IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS
synchronous = IfcElectricMotorTypeEnum.SYNCHRONOUS
userdefined = IfcElectricMotorTypeEnum.USERDEFINED
notdefined = IfcElectricMotorTypeEnum.NOTDEFINED
IfcElectricTimeControlTypeEnum = enum_namespace()
timeclock = IfcElectricTimeControlTypeEnum.TIMECLOCK
timedelay = IfcElectricTimeControlTypeEnum.TIMEDELAY
relay = IfcElectricTimeControlTypeEnum.RELAY
userdefined = IfcElectricTimeControlTypeEnum.USERDEFINED
notdefined = IfcElectricTimeControlTypeEnum.NOTDEFINED
IfcElementAssemblyTypeEnum = enum_namespace()
accessory_assembly = IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY
arch = IfcElementAssemblyTypeEnum.ARCH
beam_grid = IfcElementAssemblyTypeEnum.BEAM_GRID
braced_frame = IfcElementAssemblyTypeEnum.BRACED_FRAME
girder = IfcElementAssemblyTypeEnum.GIRDER
reinforcement_unit = IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT
rigid_frame = IfcElementAssemblyTypeEnum.RIGID_FRAME
slab_field = IfcElementAssemblyTypeEnum.SLAB_FIELD
truss = IfcElementAssemblyTypeEnum.TRUSS
userdefined = IfcElementAssemblyTypeEnum.USERDEFINED
notdefined = IfcElementAssemblyTypeEnum.NOTDEFINED
IfcElementCompositionEnum = enum_namespace()
complex = IfcElementCompositionEnum.COMPLEX
element = IfcElementCompositionEnum.ELEMENT
partial = IfcElementCompositionEnum.PARTIAL
IfcEnergySequenceEnum = enum_namespace()
primary = IfcEnergySequenceEnum.PRIMARY
secondary = IfcEnergySequenceEnum.SECONDARY
tertiary = IfcEnergySequenceEnum.TERTIARY
auxiliary = IfcEnergySequenceEnum.AUXILIARY
userdefined = IfcEnergySequenceEnum.USERDEFINED
notdefined = IfcEnergySequenceEnum.NOTDEFINED
IfcEnvironmentalImpactCategoryEnum = enum_namespace()
combinedvalue = IfcEnvironmentalImpactCategoryEnum.COMBINEDVALUE
disposal = IfcEnvironmentalImpactCategoryEnum.DISPOSAL
extraction = IfcEnvironmentalImpactCategoryEnum.EXTRACTION
installation = IfcEnvironmentalImpactCategoryEnum.INSTALLATION
manufacture = IfcEnvironmentalImpactCategoryEnum.MANUFACTURE
transportation = IfcEnvironmentalImpactCategoryEnum.TRANSPORTATION
userdefined = IfcEnvironmentalImpactCategoryEnum.USERDEFINED
notdefined = IfcEnvironmentalImpactCategoryEnum.NOTDEFINED
IfcEvaporativeCoolerTypeEnum = enum_namespace()
directevaporativerandommediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER
directevaporativerigidmediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER
directevaporativeslingerspackagedaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER
directevaporativepackagedrotaryaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER
directevaporativeairwasher = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER
indirectevaporativepackageaircooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER
indirectevaporativewetcoil = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL
indirectevaporativecoolingtowerorcoilcooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER
indirectdirectcombination = IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION
userdefined = IfcEvaporativeCoolerTypeEnum.USERDEFINED
notdefined = IfcEvaporativeCoolerTypeEnum.NOTDEFINED
IfcEvaporatorTypeEnum = enum_namespace()
directexpansionshellandtube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE
directexpansiontubeintube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE
directexpansionbrazedplate = IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE
floodedshellandtube = IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE
shellandcoil = IfcEvaporatorTypeEnum.SHELLANDCOIL
userdefined = IfcEvaporatorTypeEnum.USERDEFINED
notdefined = IfcEvaporatorTypeEnum.NOTDEFINED
IfcFanTypeEnum = enum_namespace()
centrifugalforwardcurved = IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED
centrifugalradial = IfcFanTypeEnum.CENTRIFUGALRADIAL
centrifugalbackwardinclinedcurved = IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED
centrifugalairfoil = IfcFanTypeEnum.CENTRIFUGALAIRFOIL
tubeaxial = IfcFanTypeEnum.TUBEAXIAL
vaneaxial = IfcFanTypeEnum.VANEAXIAL
propelloraxial = IfcFanTypeEnum.PROPELLORAXIAL
userdefined = IfcFanTypeEnum.USERDEFINED
notdefined = IfcFanTypeEnum.NOTDEFINED
IfcFilterTypeEnum = enum_namespace()
airparticlefilter = IfcFilterTypeEnum.AIRPARTICLEFILTER
odorfilter = IfcFilterTypeEnum.ODORFILTER
oilfilter = IfcFilterTypeEnum.OILFILTER
strainer = IfcFilterTypeEnum.STRAINER
waterfilter = IfcFilterTypeEnum.WATERFILTER
userdefined = IfcFilterTypeEnum.USERDEFINED
notdefined = IfcFilterTypeEnum.NOTDEFINED
IfcFireSuppressionTerminalTypeEnum = enum_namespace()
breechinginlet = IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET
firehydrant = IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT
hosereel = IfcFireSuppressionTerminalTypeEnum.HOSEREEL
sprinkler = IfcFireSuppressionTerminalTypeEnum.SPRINKLER
sprinklerdeflector = IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR
userdefined = IfcFireSuppressionTerminalTypeEnum.USERDEFINED
notdefined = IfcFireSuppressionTerminalTypeEnum.NOTDEFINED
IfcFlowDirectionEnum = enum_namespace()
source = IfcFlowDirectionEnum.SOURCE
sink = IfcFlowDirectionEnum.SINK
sourceandsink = IfcFlowDirectionEnum.SOURCEANDSINK
notdefined = IfcFlowDirectionEnum.NOTDEFINED
IfcFlowInstrumentTypeEnum = enum_namespace()
pressuregauge = IfcFlowInstrumentTypeEnum.PRESSUREGAUGE
thermometer = IfcFlowInstrumentTypeEnum.THERMOMETER
ammeter = IfcFlowInstrumentTypeEnum.AMMETER
frequencymeter = IfcFlowInstrumentTypeEnum.FREQUENCYMETER
powerfactormeter = IfcFlowInstrumentTypeEnum.POWERFACTORMETER
phaseanglemeter = IfcFlowInstrumentTypeEnum.PHASEANGLEMETER
voltmeter_peak = IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK
voltmeter_rms = IfcFlowInstrumentTypeEnum.VOLTMETER_RMS
userdefined = IfcFlowInstrumentTypeEnum.USERDEFINED
notdefined = IfcFlowInstrumentTypeEnum.NOTDEFINED
IfcFlowMeterTypeEnum = enum_namespace()
electricmeter = IfcFlowMeterTypeEnum.ELECTRICMETER
energymeter = IfcFlowMeterTypeEnum.ENERGYMETER
flowmeter = IfcFlowMeterTypeEnum.FLOWMETER
gasmeter = IfcFlowMeterTypeEnum.GASMETER
oilmeter = IfcFlowMeterTypeEnum.OILMETER
watermeter = IfcFlowMeterTypeEnum.WATERMETER
userdefined = IfcFlowMeterTypeEnum.USERDEFINED
notdefined = IfcFlowMeterTypeEnum.NOTDEFINED
IfcFootingTypeEnum = enum_namespace()
footing_beam = IfcFootingTypeEnum.FOOTING_BEAM
pad_footing = IfcFootingTypeEnum.PAD_FOOTING
pile_cap = IfcFootingTypeEnum.PILE_CAP
strip_footing = IfcFootingTypeEnum.STRIP_FOOTING
userdefined = IfcFootingTypeEnum.USERDEFINED
notdefined = IfcFootingTypeEnum.NOTDEFINED
IfcGasTerminalTypeEnum = enum_namespace()
gasappliance = IfcGasTerminalTypeEnum.GASAPPLIANCE
gasbooster = IfcGasTerminalTypeEnum.GASBOOSTER
gasburner = IfcGasTerminalTypeEnum.GASBURNER
userdefined = IfcGasTerminalTypeEnum.USERDEFINED
notdefined = IfcGasTerminalTypeEnum.NOTDEFINED
IfcGeometricProjectionEnum = enum_namespace()
graph_view = IfcGeometricProjectionEnum.GRAPH_VIEW
sketch_view = IfcGeometricProjectionEnum.SKETCH_VIEW
model_view = IfcGeometricProjectionEnum.MODEL_VIEW
plan_view = IfcGeometricProjectionEnum.PLAN_VIEW
reflected_plan_view = IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW
section_view = IfcGeometricProjectionEnum.SECTION_VIEW
elevation_view = IfcGeometricProjectionEnum.ELEVATION_VIEW
userdefined = IfcGeometricProjectionEnum.USERDEFINED
notdefined = IfcGeometricProjectionEnum.NOTDEFINED
IfcGlobalOrLocalEnum = enum_namespace()
global_coords = IfcGlobalOrLocalEnum.GLOBAL_COORDS
local_coords = IfcGlobalOrLocalEnum.LOCAL_COORDS
IfcHeatExchangerTypeEnum = enum_namespace()
plate = IfcHeatExchangerTypeEnum.PLATE
shellandtube = IfcHeatExchangerTypeEnum.SHELLANDTUBE
userdefined = IfcHeatExchangerTypeEnum.USERDEFINED
notdefined = IfcHeatExchangerTypeEnum.NOTDEFINED
IfcHumidifierTypeEnum = enum_namespace()
steaminjection = IfcHumidifierTypeEnum.STEAMINJECTION
adiabaticairwasher = IfcHumidifierTypeEnum.ADIABATICAIRWASHER
adiabaticpan = IfcHumidifierTypeEnum.ADIABATICPAN
adiabaticwettedelement = IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT
adiabaticatomizing = IfcHumidifierTypeEnum.ADIABATICATOMIZING
adiabaticultrasonic = IfcHumidifierTypeEnum.ADIABATICULTRASONIC
adiabaticrigidmedia = IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA
adiabaticcompressedairnozzle = IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE
assistedelectric = IfcHumidifierTypeEnum.ASSISTEDELECTRIC
assistednaturalgas = IfcHumidifierTypeEnum.ASSISTEDNATURALGAS
assistedpropane = IfcHumidifierTypeEnum.ASSISTEDPROPANE
assistedbutane = IfcHumidifierTypeEnum.ASSISTEDBUTANE
assistedsteam = IfcHumidifierTypeEnum.ASSISTEDSTEAM
userdefined = IfcHumidifierTypeEnum.USERDEFINED
notdefined = IfcHumidifierTypeEnum.NOTDEFINED
IfcInternalOrExternalEnum = enum_namespace()
internal = IfcInternalOrExternalEnum.INTERNAL
external = IfcInternalOrExternalEnum.EXTERNAL
notdefined = IfcInternalOrExternalEnum.NOTDEFINED
IfcInventoryTypeEnum = enum_namespace()
assetinventory = IfcInventoryTypeEnum.ASSETINVENTORY
spaceinventory = IfcInventoryTypeEnum.SPACEINVENTORY
furnitureinventory = IfcInventoryTypeEnum.FURNITUREINVENTORY
userdefined = IfcInventoryTypeEnum.USERDEFINED
notdefined = IfcInventoryTypeEnum.NOTDEFINED
IfcJunctionBoxTypeEnum = enum_namespace()
userdefined = IfcJunctionBoxTypeEnum.USERDEFINED
notdefined = IfcJunctionBoxTypeEnum.NOTDEFINED
IfcLampTypeEnum = enum_namespace()
compactfluorescent = IfcLampTypeEnum.COMPACTFLUORESCENT
fluorescent = IfcLampTypeEnum.FLUORESCENT
highpressuremercury = IfcLampTypeEnum.HIGHPRESSUREMERCURY
highpressuresodium = IfcLampTypeEnum.HIGHPRESSURESODIUM
metalhalide = IfcLampTypeEnum.METALHALIDE
tungstenfilament = IfcLampTypeEnum.TUNGSTENFILAMENT
userdefined = IfcLampTypeEnum.USERDEFINED
notdefined = IfcLampTypeEnum.NOTDEFINED
IfcLayerSetDirectionEnum = enum_namespace()
axis1 = IfcLayerSetDirectionEnum.AXIS1
axis2 = IfcLayerSetDirectionEnum.AXIS2
axis3 = IfcLayerSetDirectionEnum.AXIS3
IfcLightDistributionCurveEnum = enum_namespace()
type_a = IfcLightDistributionCurveEnum.TYPE_A
type_b = IfcLightDistributionCurveEnum.TYPE_B
type_c = IfcLightDistributionCurveEnum.TYPE_C
notdefined = IfcLightDistributionCurveEnum.NOTDEFINED
IfcLightEmissionSourceEnum = enum_namespace()
compactfluorescent = IfcLightEmissionSourceEnum.COMPACTFLUORESCENT
fluorescent = IfcLightEmissionSourceEnum.FLUORESCENT
highpressuremercury = IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY
highpressuresodium = IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM
lightemittingdiode = IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE
lowpressuresodium = IfcLightEmissionSourceEnum.LOWPRESSURESODIUM
lowvoltagehalogen = IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN
mainvoltagehalogen = IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN
metalhalide = IfcLightEmissionSourceEnum.METALHALIDE
tungstenfilament = IfcLightEmissionSourceEnum.TUNGSTENFILAMENT
notdefined = IfcLightEmissionSourceEnum.NOTDEFINED
IfcLightFixtureTypeEnum = enum_namespace()
pointsource = IfcLightFixtureTypeEnum.POINTSOURCE
directionsource = IfcLightFixtureTypeEnum.DIRECTIONSOURCE
userdefined = IfcLightFixtureTypeEnum.USERDEFINED
notdefined = IfcLightFixtureTypeEnum.NOTDEFINED
IfcLoadGroupTypeEnum = enum_namespace()
load_group = IfcLoadGroupTypeEnum.LOAD_GROUP
load_case = IfcLoadGroupTypeEnum.LOAD_CASE
load_combination_group = IfcLoadGroupTypeEnum.LOAD_COMBINATION_GROUP
load_combination = IfcLoadGroupTypeEnum.LOAD_COMBINATION
userdefined = IfcLoadGroupTypeEnum.USERDEFINED
notdefined = IfcLoadGroupTypeEnum.NOTDEFINED
IfcLogicalOperatorEnum = enum_namespace()
logicaland = IfcLogicalOperatorEnum.LOGICALAND
logicalor = IfcLogicalOperatorEnum.LOGICALOR
IfcMemberTypeEnum = enum_namespace()
brace = IfcMemberTypeEnum.BRACE
chord = IfcMemberTypeEnum.CHORD
collar = IfcMemberTypeEnum.COLLAR
member = IfcMemberTypeEnum.MEMBER
mullion = IfcMemberTypeEnum.MULLION
plate = IfcMemberTypeEnum.PLATE
post = IfcMemberTypeEnum.POST
purlin = IfcMemberTypeEnum.PURLIN
rafter = IfcMemberTypeEnum.RAFTER
stringer = IfcMemberTypeEnum.STRINGER
strut = IfcMemberTypeEnum.STRUT
stud = IfcMemberTypeEnum.STUD
userdefined = IfcMemberTypeEnum.USERDEFINED
notdefined = IfcMemberTypeEnum.NOTDEFINED
IfcMotorConnectionTypeEnum = enum_namespace()
beltdrive = IfcMotorConnectionTypeEnum.BELTDRIVE
coupling = IfcMotorConnectionTypeEnum.COUPLING
directdrive = IfcMotorConnectionTypeEnum.DIRECTDRIVE
userdefined = IfcMotorConnectionTypeEnum.USERDEFINED
notdefined = IfcMotorConnectionTypeEnum.NOTDEFINED
IfcNullStyle = enum_namespace()
null = IfcNullStyle.NULL
IfcObjectTypeEnum = enum_namespace()
product = IfcObjectTypeEnum.PRODUCT
process = IfcObjectTypeEnum.PROCESS
control = IfcObjectTypeEnum.CONTROL
resource = IfcObjectTypeEnum.RESOURCE
actor = IfcObjectTypeEnum.ACTOR
group = IfcObjectTypeEnum.GROUP
project = IfcObjectTypeEnum.PROJECT
notdefined = IfcObjectTypeEnum.NOTDEFINED
IfcObjectiveEnum = enum_namespace()
codecompliance = IfcObjectiveEnum.CODECOMPLIANCE
designintent = IfcObjectiveEnum.DESIGNINTENT
healthandsafety = IfcObjectiveEnum.HEALTHANDSAFETY
requirement = IfcObjectiveEnum.REQUIREMENT
specification = IfcObjectiveEnum.SPECIFICATION
triggercondition = IfcObjectiveEnum.TRIGGERCONDITION
userdefined = IfcObjectiveEnum.USERDEFINED
notdefined = IfcObjectiveEnum.NOTDEFINED
IfcOccupantTypeEnum = enum_namespace()
assignee = IfcOccupantTypeEnum.ASSIGNEE
assignor = IfcOccupantTypeEnum.ASSIGNOR
lessee = IfcOccupantTypeEnum.LESSEE
lessor = IfcOccupantTypeEnum.LESSOR
lettingagent = IfcOccupantTypeEnum.LETTINGAGENT
owner = IfcOccupantTypeEnum.OWNER
tenant = IfcOccupantTypeEnum.TENANT
userdefined = IfcOccupantTypeEnum.USERDEFINED
notdefined = IfcOccupantTypeEnum.NOTDEFINED
IfcOutletTypeEnum = enum_namespace()
audiovisualoutlet = IfcOutletTypeEnum.AUDIOVISUALOUTLET
communicationsoutlet = IfcOutletTypeEnum.COMMUNICATIONSOUTLET
poweroutlet = IfcOutletTypeEnum.POWEROUTLET
userdefined = IfcOutletTypeEnum.USERDEFINED
notdefined = IfcOutletTypeEnum.NOTDEFINED
IfcPermeableCoveringOperationEnum = enum_namespace()
grill = IfcPermeableCoveringOperationEnum.GRILL
louver = IfcPermeableCoveringOperationEnum.LOUVER
screen = IfcPermeableCoveringOperationEnum.SCREEN
userdefined = IfcPermeableCoveringOperationEnum.USERDEFINED
notdefined = IfcPermeableCoveringOperationEnum.NOTDEFINED
IfcPhysicalOrVirtualEnum = enum_namespace()
physical = IfcPhysicalOrVirtualEnum.PHYSICAL
virtual = IfcPhysicalOrVirtualEnum.VIRTUAL
notdefined = IfcPhysicalOrVirtualEnum.NOTDEFINED
IfcPileConstructionEnum = enum_namespace()
cast_in_place = IfcPileConstructionEnum.CAST_IN_PLACE
composite = IfcPileConstructionEnum.COMPOSITE
precast_concrete = IfcPileConstructionEnum.PRECAST_CONCRETE
prefab_steel = IfcPileConstructionEnum.PREFAB_STEEL
userdefined = IfcPileConstructionEnum.USERDEFINED
notdefined = IfcPileConstructionEnum.NOTDEFINED
IfcPileTypeEnum = enum_namespace()
cohesion = IfcPileTypeEnum.COHESION
friction = IfcPileTypeEnum.FRICTION
support = IfcPileTypeEnum.SUPPORT
userdefined = IfcPileTypeEnum.USERDEFINED
notdefined = IfcPileTypeEnum.NOTDEFINED
IfcPipeFittingTypeEnum = enum_namespace()
bend = IfcPipeFittingTypeEnum.BEND
connector = IfcPipeFittingTypeEnum.CONNECTOR
entry = IfcPipeFittingTypeEnum.ENTRY
exit = IfcPipeFittingTypeEnum.EXIT
junction = IfcPipeFittingTypeEnum.JUNCTION
obstruction = IfcPipeFittingTypeEnum.OBSTRUCTION
transition = IfcPipeFittingTypeEnum.TRANSITION
userdefined = IfcPipeFittingTypeEnum.USERDEFINED
notdefined = IfcPipeFittingTypeEnum.NOTDEFINED
IfcPipeSegmentTypeEnum = enum_namespace()
flexiblesegment = IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT
rigidsegment = IfcPipeSegmentTypeEnum.RIGIDSEGMENT
gutter = IfcPipeSegmentTypeEnum.GUTTER
spool = IfcPipeSegmentTypeEnum.SPOOL
userdefined = IfcPipeSegmentTypeEnum.USERDEFINED
notdefined = IfcPipeSegmentTypeEnum.NOTDEFINED
IfcPlateTypeEnum = enum_namespace()
curtain_panel = IfcPlateTypeEnum.CURTAIN_PANEL
sheet = IfcPlateTypeEnum.SHEET
userdefined = IfcPlateTypeEnum.USERDEFINED
notdefined = IfcPlateTypeEnum.NOTDEFINED
IfcProcedureTypeEnum = enum_namespace()
advice_caution = IfcProcedureTypeEnum.ADVICE_CAUTION
advice_note = IfcProcedureTypeEnum.ADVICE_NOTE
advice_warning = IfcProcedureTypeEnum.ADVICE_WARNING
calibration = IfcProcedureTypeEnum.CALIBRATION
diagnostic = IfcProcedureTypeEnum.DIAGNOSTIC
shutdown = IfcProcedureTypeEnum.SHUTDOWN
startup = IfcProcedureTypeEnum.STARTUP
userdefined = IfcProcedureTypeEnum.USERDEFINED
notdefined = IfcProcedureTypeEnum.NOTDEFINED
IfcProfileTypeEnum = enum_namespace()
curve = IfcProfileTypeEnum.CURVE
area = IfcProfileTypeEnum.AREA
IfcProjectOrderRecordTypeEnum = enum_namespace()
change = IfcProjectOrderRecordTypeEnum.CHANGE
maintenance = IfcProjectOrderRecordTypeEnum.MAINTENANCE
move = IfcProjectOrderRecordTypeEnum.MOVE
purchase = IfcProjectOrderRecordTypeEnum.PURCHASE
work = IfcProjectOrderRecordTypeEnum.WORK
userdefined = IfcProjectOrderRecordTypeEnum.USERDEFINED
notdefined = IfcProjectOrderRecordTypeEnum.NOTDEFINED
IfcProjectOrderTypeEnum = enum_namespace()
changeorder = IfcProjectOrderTypeEnum.CHANGEORDER
maintenanceworkorder = IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER
moveorder = IfcProjectOrderTypeEnum.MOVEORDER
purchaseorder = IfcProjectOrderTypeEnum.PURCHASEORDER
workorder = IfcProjectOrderTypeEnum.WORKORDER
userdefined = IfcProjectOrderTypeEnum.USERDEFINED
notdefined = IfcProjectOrderTypeEnum.NOTDEFINED
IfcProjectedOrTrueLengthEnum = enum_namespace()
projected_length = IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH
true_length = IfcProjectedOrTrueLengthEnum.TRUE_LENGTH
IfcPropertySourceEnum = enum_namespace()
design = IfcPropertySourceEnum.DESIGN
designmaximum = IfcPropertySourceEnum.DESIGNMAXIMUM
designminimum = IfcPropertySourceEnum.DESIGNMINIMUM
simulated = IfcPropertySourceEnum.SIMULATED
asbuilt = IfcPropertySourceEnum.ASBUILT
commissioning = IfcPropertySourceEnum.COMMISSIONING
measured = IfcPropertySourceEnum.MEASURED
userdefined = IfcPropertySourceEnum.USERDEFINED
notknown = IfcPropertySourceEnum.NOTKNOWN
IfcProtectiveDeviceTypeEnum = enum_namespace()
fusedisconnector = IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR
circuitbreaker = IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER
earthfailuredevice = IfcProtectiveDeviceTypeEnum.EARTHFAILUREDEVICE
residualcurrentcircuitbreaker = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER
residualcurrentswitch = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH
varistor = IfcProtectiveDeviceTypeEnum.VARISTOR
userdefined = IfcProtectiveDeviceTypeEnum.USERDEFINED
notdefined = IfcProtectiveDeviceTypeEnum.NOTDEFINED
IfcPumpTypeEnum = enum_namespace()
circulator = IfcPumpTypeEnum.CIRCULATOR
endsuction = IfcPumpTypeEnum.ENDSUCTION
splitcase = IfcPumpTypeEnum.SPLITCASE
verticalinline = IfcPumpTypeEnum.VERTICALINLINE
verticalturbine = IfcPumpTypeEnum.VERTICALTURBINE
userdefined = IfcPumpTypeEnum.USERDEFINED
notdefined = IfcPumpTypeEnum.NOTDEFINED
IfcRailingTypeEnum = enum_namespace()
handrail = IfcRailingTypeEnum.HANDRAIL
guardrail = IfcRailingTypeEnum.GUARDRAIL
balustrade = IfcRailingTypeEnum.BALUSTRADE
userdefined = IfcRailingTypeEnum.USERDEFINED
notdefined = IfcRailingTypeEnum.NOTDEFINED
IfcRampFlightTypeEnum = enum_namespace()
straight = IfcRampFlightTypeEnum.STRAIGHT
spiral = IfcRampFlightTypeEnum.SPIRAL
userdefined = IfcRampFlightTypeEnum.USERDEFINED
notdefined = IfcRampFlightTypeEnum.NOTDEFINED
IfcRampTypeEnum = enum_namespace()
straight_run_ramp = IfcRampTypeEnum.STRAIGHT_RUN_RAMP
two_straight_run_ramp = IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP
quarter_turn_ramp = IfcRampTypeEnum.QUARTER_TURN_RAMP
two_quarter_turn_ramp = IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP
half_turn_ramp = IfcRampTypeEnum.HALF_TURN_RAMP
spiral_ramp = IfcRampTypeEnum.SPIRAL_RAMP
userdefined = IfcRampTypeEnum.USERDEFINED
notdefined = IfcRampTypeEnum.NOTDEFINED
IfcReflectanceMethodEnum = enum_namespace()
blinn = IfcReflectanceMethodEnum.BLINN
flat = IfcReflectanceMethodEnum.FLAT
glass = IfcReflectanceMethodEnum.GLASS
matt = IfcReflectanceMethodEnum.MATT
metal = IfcReflectanceMethodEnum.METAL
mirror = IfcReflectanceMethodEnum.MIRROR
phong = IfcReflectanceMethodEnum.PHONG
plastic = IfcReflectanceMethodEnum.PLASTIC
strauss = IfcReflectanceMethodEnum.STRAUSS
notdefined = IfcReflectanceMethodEnum.NOTDEFINED
IfcReinforcingBarRoleEnum = enum_namespace()
main = IfcReinforcingBarRoleEnum.MAIN
shear = IfcReinforcingBarRoleEnum.SHEAR
ligature = IfcReinforcingBarRoleEnum.LIGATURE
stud = IfcReinforcingBarRoleEnum.STUD
punching = IfcReinforcingBarRoleEnum.PUNCHING
edge = IfcReinforcingBarRoleEnum.EDGE
ring = IfcReinforcingBarRoleEnum.RING
userdefined = IfcReinforcingBarRoleEnum.USERDEFINED
notdefined = IfcReinforcingBarRoleEnum.NOTDEFINED
IfcReinforcingBarSurfaceEnum = enum_namespace()
plain = IfcReinforcingBarSurfaceEnum.PLAIN
textured = IfcReinforcingBarSurfaceEnum.TEXTURED
IfcResourceConsumptionEnum = enum_namespace()
consumed = IfcResourceConsumptionEnum.CONSUMED
partiallyconsumed = IfcResourceConsumptionEnum.PARTIALLYCONSUMED
notconsumed = IfcResourceConsumptionEnum.NOTCONSUMED
occupied = IfcResourceConsumptionEnum.OCCUPIED
partiallyoccupied = IfcResourceConsumptionEnum.PARTIALLYOCCUPIED
notoccupied = IfcResourceConsumptionEnum.NOTOCCUPIED
userdefined = IfcResourceConsumptionEnum.USERDEFINED
notdefined = IfcResourceConsumptionEnum.NOTDEFINED
IfcRibPlateDirectionEnum = enum_namespace()
direction_x = IfcRibPlateDirectionEnum.DIRECTION_X
direction_y = IfcRibPlateDirectionEnum.DIRECTION_Y
IfcRoleEnum = enum_namespace()
supplier = IfcRoleEnum.SUPPLIER
manufacturer = IfcRoleEnum.MANUFACTURER
contractor = IfcRoleEnum.CONTRACTOR
subcontractor = IfcRoleEnum.SUBCONTRACTOR
architect = IfcRoleEnum.ARCHITECT
structuralengineer = IfcRoleEnum.STRUCTURALENGINEER
costengineer = IfcRoleEnum.COSTENGINEER
client = IfcRoleEnum.CLIENT
buildingowner = IfcRoleEnum.BUILDINGOWNER
buildingoperator = IfcRoleEnum.BUILDINGOPERATOR
mechanicalengineer = IfcRoleEnum.MECHANICALENGINEER
electricalengineer = IfcRoleEnum.ELECTRICALENGINEER
projectmanager = IfcRoleEnum.PROJECTMANAGER
facilitiesmanager = IfcRoleEnum.FACILITIESMANAGER
civilengineer = IfcRoleEnum.CIVILENGINEER
comissioningengineer = IfcRoleEnum.COMISSIONINGENGINEER
engineer = IfcRoleEnum.ENGINEER
owner = IfcRoleEnum.OWNER
consultant = IfcRoleEnum.CONSULTANT
constructionmanager = IfcRoleEnum.CONSTRUCTIONMANAGER
fieldconstructionmanager = IfcRoleEnum.FIELDCONSTRUCTIONMANAGER
reseller = IfcRoleEnum.RESELLER
userdefined = IfcRoleEnum.USERDEFINED
IfcRoofTypeEnum = enum_namespace()
flat_roof = IfcRoofTypeEnum.FLAT_ROOF
shed_roof = IfcRoofTypeEnum.SHED_ROOF
gable_roof = IfcRoofTypeEnum.GABLE_ROOF
hip_roof = IfcRoofTypeEnum.HIP_ROOF
hipped_gable_roof = IfcRoofTypeEnum.HIPPED_GABLE_ROOF
gambrel_roof = IfcRoofTypeEnum.GAMBREL_ROOF
mansard_roof = IfcRoofTypeEnum.MANSARD_ROOF
barrel_roof = IfcRoofTypeEnum.BARREL_ROOF
rainbow_roof = IfcRoofTypeEnum.RAINBOW_ROOF
butterfly_roof = IfcRoofTypeEnum.BUTTERFLY_ROOF
pavilion_roof = IfcRoofTypeEnum.PAVILION_ROOF
dome_roof = IfcRoofTypeEnum.DOME_ROOF
freeform = IfcRoofTypeEnum.FREEFORM
notdefined = IfcRoofTypeEnum.NOTDEFINED
IfcSIPrefix = enum_namespace()
exa = IfcSIPrefix.EXA
peta = IfcSIPrefix.PETA
tera = IfcSIPrefix.TERA
giga = IfcSIPrefix.GIGA
mega = IfcSIPrefix.MEGA
kilo = IfcSIPrefix.KILO
hecto = IfcSIPrefix.HECTO
deca = IfcSIPrefix.DECA
deci = IfcSIPrefix.DECI
centi = IfcSIPrefix.CENTI
milli = IfcSIPrefix.MILLI
micro = IfcSIPrefix.MICRO
nano = IfcSIPrefix.NANO
pico = IfcSIPrefix.PICO
femto = IfcSIPrefix.FEMTO
atto = IfcSIPrefix.ATTO
IfcSIUnitName = enum_namespace()
ampere = IfcSIUnitName.AMPERE
becquerel = IfcSIUnitName.BECQUEREL
candela = IfcSIUnitName.CANDELA
coulomb = IfcSIUnitName.COULOMB
cubic_metre = IfcSIUnitName.CUBIC_METRE
degree_celsius = IfcSIUnitName.DEGREE_CELSIUS
farad = IfcSIUnitName.FARAD
gram = IfcSIUnitName.GRAM
gray = IfcSIUnitName.GRAY
henry = IfcSIUnitName.HENRY
hertz = IfcSIUnitName.HERTZ
joule = IfcSIUnitName.JOULE
kelvin = IfcSIUnitName.KELVIN
lumen = IfcSIUnitName.LUMEN
lux = IfcSIUnitName.LUX
metre = IfcSIUnitName.METRE
mole = IfcSIUnitName.MOLE
newton = IfcSIUnitName.NEWTON
ohm = IfcSIUnitName.OHM
pascal = IfcSIUnitName.PASCAL
radian = IfcSIUnitName.RADIAN
second = IfcSIUnitName.SECOND
siemens = IfcSIUnitName.SIEMENS
sievert = IfcSIUnitName.SIEVERT
square_metre = IfcSIUnitName.SQUARE_METRE
steradian = IfcSIUnitName.STERADIAN
tesla = IfcSIUnitName.TESLA
volt = IfcSIUnitName.VOLT
watt = IfcSIUnitName.WATT
weber = IfcSIUnitName.WEBER
IfcSanitaryTerminalTypeEnum = enum_namespace()
bath = IfcSanitaryTerminalTypeEnum.BATH
bidet = IfcSanitaryTerminalTypeEnum.BIDET
cistern = IfcSanitaryTerminalTypeEnum.CISTERN
shower = IfcSanitaryTerminalTypeEnum.SHOWER
sink = IfcSanitaryTerminalTypeEnum.SINK
sanitaryfountain = IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN
toiletpan = IfcSanitaryTerminalTypeEnum.TOILETPAN
urinal = IfcSanitaryTerminalTypeEnum.URINAL
washhandbasin = IfcSanitaryTerminalTypeEnum.WASHHANDBASIN
wcseat = IfcSanitaryTerminalTypeEnum.WCSEAT
userdefined = IfcSanitaryTerminalTypeEnum.USERDEFINED
notdefined = IfcSanitaryTerminalTypeEnum.NOTDEFINED
IfcSectionTypeEnum = enum_namespace()
uniform = IfcSectionTypeEnum.UNIFORM
tapered = IfcSectionTypeEnum.TAPERED
IfcSensorTypeEnum = enum_namespace()
co2sensor = IfcSensorTypeEnum.CO2SENSOR
firesensor = IfcSensorTypeEnum.FIRESENSOR
flowsensor = IfcSensorTypeEnum.FLOWSENSOR
gassensor = IfcSensorTypeEnum.GASSENSOR
heatsensor = IfcSensorTypeEnum.HEATSENSOR
humiditysensor = IfcSensorTypeEnum.HUMIDITYSENSOR
lightsensor = IfcSensorTypeEnum.LIGHTSENSOR
moisturesensor = IfcSensorTypeEnum.MOISTURESENSOR
movementsensor = IfcSensorTypeEnum.MOVEMENTSENSOR
pressuresensor = IfcSensorTypeEnum.PRESSURESENSOR
smokesensor = IfcSensorTypeEnum.SMOKESENSOR
soundsensor = IfcSensorTypeEnum.SOUNDSENSOR
temperaturesensor = IfcSensorTypeEnum.TEMPERATURESENSOR
userdefined = IfcSensorTypeEnum.USERDEFINED
notdefined = IfcSensorTypeEnum.NOTDEFINED
IfcSequenceEnum = enum_namespace()
start_start = IfcSequenceEnum.START_START
start_finish = IfcSequenceEnum.START_FINISH
finish_start = IfcSequenceEnum.FINISH_START
finish_finish = IfcSequenceEnum.FINISH_FINISH
notdefined = IfcSequenceEnum.NOTDEFINED
IfcServiceLifeFactorTypeEnum = enum_namespace()
a_qualityofcomponents = IfcServiceLifeFactorTypeEnum.A_QUALITYOFCOMPONENTS
b_designlevel = IfcServiceLifeFactorTypeEnum.B_DESIGNLEVEL
c_workexecutionlevel = IfcServiceLifeFactorTypeEnum.C_WORKEXECUTIONLEVEL
d_indoorenvironment = IfcServiceLifeFactorTypeEnum.D_INDOORENVIRONMENT
e_outdoorenvironment = IfcServiceLifeFactorTypeEnum.E_OUTDOORENVIRONMENT
f_inuseconditions = IfcServiceLifeFactorTypeEnum.F_INUSECONDITIONS
g_maintenancelevel = IfcServiceLifeFactorTypeEnum.G_MAINTENANCELEVEL
userdefined = IfcServiceLifeFactorTypeEnum.USERDEFINED
notdefined = IfcServiceLifeFactorTypeEnum.NOTDEFINED
IfcServiceLifeTypeEnum = enum_namespace()
actualservicelife = IfcServiceLifeTypeEnum.ACTUALSERVICELIFE
expectedservicelife = IfcServiceLifeTypeEnum.EXPECTEDSERVICELIFE
optimisticreferenceservicelife = IfcServiceLifeTypeEnum.OPTIMISTICREFERENCESERVICELIFE
pessimisticreferenceservicelife = IfcServiceLifeTypeEnum.PESSIMISTICREFERENCESERVICELIFE
referenceservicelife = IfcServiceLifeTypeEnum.REFERENCESERVICELIFE
IfcSlabTypeEnum = enum_namespace()
floor = IfcSlabTypeEnum.FLOOR
roof = IfcSlabTypeEnum.ROOF
landing = IfcSlabTypeEnum.LANDING
baseslab = IfcSlabTypeEnum.BASESLAB
userdefined = IfcSlabTypeEnum.USERDEFINED
notdefined = IfcSlabTypeEnum.NOTDEFINED
IfcSoundScaleEnum = enum_namespace()
dba = IfcSoundScaleEnum.DBA
dbb = IfcSoundScaleEnum.DBB
dbc = IfcSoundScaleEnum.DBC
nc = IfcSoundScaleEnum.NC
nr = IfcSoundScaleEnum.NR
userdefined = IfcSoundScaleEnum.USERDEFINED
notdefined = IfcSoundScaleEnum.NOTDEFINED
IfcSpaceHeaterTypeEnum = enum_namespace()
sectionalradiator = IfcSpaceHeaterTypeEnum.SECTIONALRADIATOR
panelradiator = IfcSpaceHeaterTypeEnum.PANELRADIATOR
tubularradiator = IfcSpaceHeaterTypeEnum.TUBULARRADIATOR
convector = IfcSpaceHeaterTypeEnum.CONVECTOR
baseboardheater = IfcSpaceHeaterTypeEnum.BASEBOARDHEATER
finnedtubeunit = IfcSpaceHeaterTypeEnum.FINNEDTUBEUNIT
unitheater = IfcSpaceHeaterTypeEnum.UNITHEATER
userdefined = IfcSpaceHeaterTypeEnum.USERDEFINED
notdefined = IfcSpaceHeaterTypeEnum.NOTDEFINED
IfcSpaceTypeEnum = enum_namespace()
userdefined = IfcSpaceTypeEnum.USERDEFINED
notdefined = IfcSpaceTypeEnum.NOTDEFINED
IfcStackTerminalTypeEnum = enum_namespace()
birdcage = IfcStackTerminalTypeEnum.BIRDCAGE
cowl = IfcStackTerminalTypeEnum.COWL
rainwaterhopper = IfcStackTerminalTypeEnum.RAINWATERHOPPER
userdefined = IfcStackTerminalTypeEnum.USERDEFINED
notdefined = IfcStackTerminalTypeEnum.NOTDEFINED
IfcStairFlightTypeEnum = enum_namespace()
straight = IfcStairFlightTypeEnum.STRAIGHT
winder = IfcStairFlightTypeEnum.WINDER
spiral = IfcStairFlightTypeEnum.SPIRAL
curved = IfcStairFlightTypeEnum.CURVED
freeform = IfcStairFlightTypeEnum.FREEFORM
userdefined = IfcStairFlightTypeEnum.USERDEFINED
notdefined = IfcStairFlightTypeEnum.NOTDEFINED
IfcStairTypeEnum = enum_namespace()
straight_run_stair = IfcStairTypeEnum.STRAIGHT_RUN_STAIR
two_straight_run_stair = IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR
quarter_winding_stair = IfcStairTypeEnum.QUARTER_WINDING_STAIR
quarter_turn_stair = IfcStairTypeEnum.QUARTER_TURN_STAIR
half_winding_stair = IfcStairTypeEnum.HALF_WINDING_STAIR
half_turn_stair = IfcStairTypeEnum.HALF_TURN_STAIR
two_quarter_winding_stair = IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR
two_quarter_turn_stair = IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR
three_quarter_winding_stair = IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR
three_quarter_turn_stair = IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR
spiral_stair = IfcStairTypeEnum.SPIRAL_STAIR
double_return_stair = IfcStairTypeEnum.DOUBLE_RETURN_STAIR
curved_run_stair = IfcStairTypeEnum.CURVED_RUN_STAIR
two_curved_run_stair = IfcStairTypeEnum.TWO_CURVED_RUN_STAIR
userdefined = IfcStairTypeEnum.USERDEFINED
notdefined = IfcStairTypeEnum.NOTDEFINED
IfcStateEnum = enum_namespace()
readwrite = IfcStateEnum.READWRITE
readonly = IfcStateEnum.READONLY
locked = IfcStateEnum.LOCKED
readwritelocked = IfcStateEnum.READWRITELOCKED
readonlylocked = IfcStateEnum.READONLYLOCKED
IfcStructuralCurveTypeEnum = enum_namespace()
rigid_joined_member = IfcStructuralCurveTypeEnum.RIGID_JOINED_MEMBER
pin_joined_member = IfcStructuralCurveTypeEnum.PIN_JOINED_MEMBER
cable = IfcStructuralCurveTypeEnum.CABLE
tension_member = IfcStructuralCurveTypeEnum.TENSION_MEMBER
compression_member = IfcStructuralCurveTypeEnum.COMPRESSION_MEMBER
userdefined = IfcStructuralCurveTypeEnum.USERDEFINED
notdefined = IfcStructuralCurveTypeEnum.NOTDEFINED
IfcStructuralSurfaceTypeEnum = enum_namespace()
bending_element = IfcStructuralSurfaceTypeEnum.BENDING_ELEMENT
membrane_element = IfcStructuralSurfaceTypeEnum.MEMBRANE_ELEMENT
shell = IfcStructuralSurfaceTypeEnum.SHELL
userdefined = IfcStructuralSurfaceTypeEnum.USERDEFINED
notdefined = IfcStructuralSurfaceTypeEnum.NOTDEFINED
IfcSurfaceSide = enum_namespace()
positive = IfcSurfaceSide.POSITIVE
negative = IfcSurfaceSide.NEGATIVE
both = IfcSurfaceSide.BOTH
IfcSurfaceTextureEnum = enum_namespace()
bump = IfcSurfaceTextureEnum.BUMP
opacity = IfcSurfaceTextureEnum.OPACITY
reflection = IfcSurfaceTextureEnum.REFLECTION
selfillumination = IfcSurfaceTextureEnum.SELFILLUMINATION
shininess = IfcSurfaceTextureEnum.SHININESS
specular = IfcSurfaceTextureEnum.SPECULAR
texture = IfcSurfaceTextureEnum.TEXTURE
transparencymap = IfcSurfaceTextureEnum.TRANSPARENCYMAP
notdefined = IfcSurfaceTextureEnum.NOTDEFINED
IfcSwitchingDeviceTypeEnum = enum_namespace()
contactor = IfcSwitchingDeviceTypeEnum.CONTACTOR
emergencystop = IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP
starter = IfcSwitchingDeviceTypeEnum.STARTER
switchdisconnector = IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR
toggleswitch = IfcSwitchingDeviceTypeEnum.TOGGLESWITCH
userdefined = IfcSwitchingDeviceTypeEnum.USERDEFINED
notdefined = IfcSwitchingDeviceTypeEnum.NOTDEFINED
IfcTankTypeEnum = enum_namespace()
preformed = IfcTankTypeEnum.PREFORMED
sectional = IfcTankTypeEnum.SECTIONAL
expansion = IfcTankTypeEnum.EXPANSION
pressurevessel = IfcTankTypeEnum.PRESSUREVESSEL
userdefined = IfcTankTypeEnum.USERDEFINED
notdefined = IfcTankTypeEnum.NOTDEFINED
IfcTendonTypeEnum = enum_namespace()
strand = IfcTendonTypeEnum.STRAND
wire = IfcTendonTypeEnum.WIRE
bar = IfcTendonTypeEnum.BAR
coated = IfcTendonTypeEnum.COATED
userdefined = IfcTendonTypeEnum.USERDEFINED
notdefined = IfcTendonTypeEnum.NOTDEFINED
IfcTextPath = enum_namespace()
left = IfcTextPath.LEFT
right = IfcTextPath.RIGHT
up = IfcTextPath.UP
down = IfcTextPath.DOWN
IfcThermalLoadSourceEnum = enum_namespace()
people = IfcThermalLoadSourceEnum.PEOPLE
lighting = IfcThermalLoadSourceEnum.LIGHTING
equipment = IfcThermalLoadSourceEnum.EQUIPMENT
ventilationindoorair = IfcThermalLoadSourceEnum.VENTILATIONINDOORAIR
ventilationoutsideair = IfcThermalLoadSourceEnum.VENTILATIONOUTSIDEAIR
recirculatedair = IfcThermalLoadSourceEnum.RECIRCULATEDAIR
exhaustair = IfcThermalLoadSourceEnum.EXHAUSTAIR
airexchangerate = IfcThermalLoadSourceEnum.AIREXCHANGERATE
drybulbtemperature = IfcThermalLoadSourceEnum.DRYBULBTEMPERATURE
relativehumidity = IfcThermalLoadSourceEnum.RELATIVEHUMIDITY
infiltration = IfcThermalLoadSourceEnum.INFILTRATION
userdefined = IfcThermalLoadSourceEnum.USERDEFINED
notdefined = IfcThermalLoadSourceEnum.NOTDEFINED
IfcThermalLoadTypeEnum = enum_namespace()
sensible = IfcThermalLoadTypeEnum.SENSIBLE
latent = IfcThermalLoadTypeEnum.LATENT
radiant = IfcThermalLoadTypeEnum.RADIANT
notdefined = IfcThermalLoadTypeEnum.NOTDEFINED
IfcTimeSeriesDataTypeEnum = enum_namespace()
continuous = IfcTimeSeriesDataTypeEnum.CONTINUOUS
discrete = IfcTimeSeriesDataTypeEnum.DISCRETE
discretebinary = IfcTimeSeriesDataTypeEnum.DISCRETEBINARY
piecewisebinary = IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY
piecewiseconstant = IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT
piecewisecontinuous = IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS
notdefined = IfcTimeSeriesDataTypeEnum.NOTDEFINED
IfcTimeSeriesScheduleTypeEnum = enum_namespace()
annual = IfcTimeSeriesScheduleTypeEnum.ANNUAL
monthly = IfcTimeSeriesScheduleTypeEnum.MONTHLY
weekly = IfcTimeSeriesScheduleTypeEnum.WEEKLY
daily = IfcTimeSeriesScheduleTypeEnum.DAILY
userdefined = IfcTimeSeriesScheduleTypeEnum.USERDEFINED
notdefined = IfcTimeSeriesScheduleTypeEnum.NOTDEFINED
IfcTransformerTypeEnum = enum_namespace()
current = IfcTransformerTypeEnum.CURRENT
frequency = IfcTransformerTypeEnum.FREQUENCY
voltage = IfcTransformerTypeEnum.VOLTAGE
userdefined = IfcTransformerTypeEnum.USERDEFINED
notdefined = IfcTransformerTypeEnum.NOTDEFINED
IfcTransitionCode = enum_namespace()
discontinuous = IfcTransitionCode.DISCONTINUOUS
continuous = IfcTransitionCode.CONTINUOUS
contsamegradient = IfcTransitionCode.CONTSAMEGRADIENT
contsamegradientsamecurvature = IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE
IfcTransportElementTypeEnum = enum_namespace()
elevator = IfcTransportElementTypeEnum.ELEVATOR
escalator = IfcTransportElementTypeEnum.ESCALATOR
movingwalkway = IfcTransportElementTypeEnum.MOVINGWALKWAY
userdefined = IfcTransportElementTypeEnum.USERDEFINED
notdefined = IfcTransportElementTypeEnum.NOTDEFINED
IfcTrimmingPreference = enum_namespace()
cartesian = IfcTrimmingPreference.CARTESIAN
parameter = IfcTrimmingPreference.PARAMETER
unspecified = IfcTrimmingPreference.UNSPECIFIED
IfcTubeBundleTypeEnum = enum_namespace()
finned = IfcTubeBundleTypeEnum.FINNED
userdefined = IfcTubeBundleTypeEnum.USERDEFINED
notdefined = IfcTubeBundleTypeEnum.NOTDEFINED
IfcUnitEnum = enum_namespace()
absorbeddoseunit = IfcUnitEnum.ABSORBEDDOSEUNIT
amountofsubstanceunit = IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT
areaunit = IfcUnitEnum.AREAUNIT
doseequivalentunit = IfcUnitEnum.DOSEEQUIVALENTUNIT
electriccapacitanceunit = IfcUnitEnum.ELECTRICCAPACITANCEUNIT
electricchargeunit = IfcUnitEnum.ELECTRICCHARGEUNIT
electricconductanceunit = IfcUnitEnum.ELECTRICCONDUCTANCEUNIT
electriccurrentunit = IfcUnitEnum.ELECTRICCURRENTUNIT
electricresistanceunit = IfcUnitEnum.ELECTRICRESISTANCEUNIT
electricvoltageunit = IfcUnitEnum.ELECTRICVOLTAGEUNIT
energyunit = IfcUnitEnum.ENERGYUNIT
forceunit = IfcUnitEnum.FORCEUNIT
frequencyunit = IfcUnitEnum.FREQUENCYUNIT
illuminanceunit = IfcUnitEnum.ILLUMINANCEUNIT
inductanceunit = IfcUnitEnum.INDUCTANCEUNIT
lengthunit = IfcUnitEnum.LENGTHUNIT
luminousfluxunit = IfcUnitEnum.LUMINOUSFLUXUNIT
luminousintensityunit = IfcUnitEnum.LUMINOUSINTENSITYUNIT
magneticfluxdensityunit = IfcUnitEnum.MAGNETICFLUXDENSITYUNIT
magneticfluxunit = IfcUnitEnum.MAGNETICFLUXUNIT
massunit = IfcUnitEnum.MASSUNIT
planeangleunit = IfcUnitEnum.PLANEANGLEUNIT
powerunit = IfcUnitEnum.POWERUNIT
pressureunit = IfcUnitEnum.PRESSUREUNIT
radioactivityunit = IfcUnitEnum.RADIOACTIVITYUNIT
solidangleunit = IfcUnitEnum.SOLIDANGLEUNIT
thermodynamictemperatureunit = IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT
timeunit = IfcUnitEnum.TIMEUNIT
volumeunit = IfcUnitEnum.VOLUMEUNIT
userdefined = IfcUnitEnum.USERDEFINED
IfcUnitaryEquipmentTypeEnum = enum_namespace()
airhandler = IfcUnitaryEquipmentTypeEnum.AIRHANDLER
airconditioningunit = IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT
splitsystem = IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM
rooftopunit = IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT
userdefined = IfcUnitaryEquipmentTypeEnum.USERDEFINED
notdefined = IfcUnitaryEquipmentTypeEnum.NOTDEFINED
IfcValveTypeEnum = enum_namespace()
airrelease = IfcValveTypeEnum.AIRRELEASE
antivacuum = IfcValveTypeEnum.ANTIVACUUM
changeover = IfcValveTypeEnum.CHANGEOVER
check = IfcValveTypeEnum.CHECK
commissioning = IfcValveTypeEnum.COMMISSIONING
diverting = IfcValveTypeEnum.DIVERTING
drawoffcock = IfcValveTypeEnum.DRAWOFFCOCK
doublecheck = IfcValveTypeEnum.DOUBLECHECK
doubleregulating = IfcValveTypeEnum.DOUBLEREGULATING
faucet = IfcValveTypeEnum.FAUCET
flushing = IfcValveTypeEnum.FLUSHING
gascock = IfcValveTypeEnum.GASCOCK
gastap = IfcValveTypeEnum.GASTAP
isolating = IfcValveTypeEnum.ISOLATING
mixing = IfcValveTypeEnum.MIXING
pressurereducing = IfcValveTypeEnum.PRESSUREREDUCING
pressurerelief = IfcValveTypeEnum.PRESSURERELIEF
regulating = IfcValveTypeEnum.REGULATING
safetycutoff = IfcValveTypeEnum.SAFETYCUTOFF
steamtrap = IfcValveTypeEnum.STEAMTRAP
stopcock = IfcValveTypeEnum.STOPCOCK
userdefined = IfcValveTypeEnum.USERDEFINED
notdefined = IfcValveTypeEnum.NOTDEFINED
IfcVibrationIsolatorTypeEnum = enum_namespace()
compression = IfcVibrationIsolatorTypeEnum.COMPRESSION
spring = IfcVibrationIsolatorTypeEnum.SPRING
userdefined = IfcVibrationIsolatorTypeEnum.USERDEFINED
notdefined = IfcVibrationIsolatorTypeEnum.NOTDEFINED
IfcWallTypeEnum = enum_namespace()
standard = IfcWallTypeEnum.STANDARD
polygonal = IfcWallTypeEnum.POLYGONAL
shear = IfcWallTypeEnum.SHEAR
elementedwall = IfcWallTypeEnum.ELEMENTEDWALL
plumbingwall = IfcWallTypeEnum.PLUMBINGWALL
userdefined = IfcWallTypeEnum.USERDEFINED
notdefined = IfcWallTypeEnum.NOTDEFINED
IfcWasteTerminalTypeEnum = enum_namespace()
floortrap = IfcWasteTerminalTypeEnum.FLOORTRAP
floorwaste = IfcWasteTerminalTypeEnum.FLOORWASTE
gullysump = IfcWasteTerminalTypeEnum.GULLYSUMP
gullytrap = IfcWasteTerminalTypeEnum.GULLYTRAP
greaseinterceptor = IfcWasteTerminalTypeEnum.GREASEINTERCEPTOR
oilinterceptor = IfcWasteTerminalTypeEnum.OILINTERCEPTOR
petrolinterceptor = IfcWasteTerminalTypeEnum.PETROLINTERCEPTOR
roofdrain = IfcWasteTerminalTypeEnum.ROOFDRAIN
wastedisposalunit = IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT
wastetrap = IfcWasteTerminalTypeEnum.WASTETRAP
userdefined = IfcWasteTerminalTypeEnum.USERDEFINED
notdefined = IfcWasteTerminalTypeEnum.NOTDEFINED
IfcWindowPanelOperationEnum = enum_namespace()
sidehungrighthand = IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND
sidehunglefthand = IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND
tiltandturnrighthand = IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND
tiltandturnlefthand = IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND
tophung = IfcWindowPanelOperationEnum.TOPHUNG
bottomhung = IfcWindowPanelOperationEnum.BOTTOMHUNG
pivothorizontal = IfcWindowPanelOperationEnum.PIVOTHORIZONTAL
pivotvertical = IfcWindowPanelOperationEnum.PIVOTVERTICAL
slidinghorizontal = IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL
slidingvertical = IfcWindowPanelOperationEnum.SLIDINGVERTICAL
removablecasement = IfcWindowPanelOperationEnum.REMOVABLECASEMENT
fixedcasement = IfcWindowPanelOperationEnum.FIXEDCASEMENT
otheroperation = IfcWindowPanelOperationEnum.OTHEROPERATION
notdefined = IfcWindowPanelOperationEnum.NOTDEFINED
IfcWindowPanelPositionEnum = enum_namespace()
left = IfcWindowPanelPositionEnum.LEFT
middle = IfcWindowPanelPositionEnum.MIDDLE
right = IfcWindowPanelPositionEnum.RIGHT
bottom = IfcWindowPanelPositionEnum.BOTTOM
top = IfcWindowPanelPositionEnum.TOP
notdefined = IfcWindowPanelPositionEnum.NOTDEFINED
IfcWindowStyleConstructionEnum = enum_namespace()
aluminium = IfcWindowStyleConstructionEnum.ALUMINIUM
high_grade_steel = IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL
steel = IfcWindowStyleConstructionEnum.STEEL
wood = IfcWindowStyleConstructionEnum.WOOD
aluminium_wood = IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD
plastic = IfcWindowStyleConstructionEnum.PLASTIC
other_construction = IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION
notdefined = IfcWindowStyleConstructionEnum.NOTDEFINED
IfcWindowStyleOperationEnum = enum_namespace()
single_panel = IfcWindowStyleOperationEnum.SINGLE_PANEL
double_panel_vertical = IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL
double_panel_horizontal = IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL
triple_panel_vertical = IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL
triple_panel_bottom = IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM
triple_panel_top = IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP
triple_panel_left = IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT
triple_panel_right = IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT
triple_panel_horizontal = IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL
userdefined = IfcWindowStyleOperationEnum.USERDEFINED
notdefined = IfcWindowStyleOperationEnum.NOTDEFINED
IfcWorkControlTypeEnum = enum_namespace()
actual = IfcWorkControlTypeEnum.ACTUAL
baseline = IfcWorkControlTypeEnum.BASELINE
planned = IfcWorkControlTypeEnum.PLANNED
userdefined = IfcWorkControlTypeEnum.USERDEFINED
notdefined = IfcWorkControlTypeEnum.NOTDEFINED
def Ifc2DCompositeCurve(*args, **kwargs): return ifcopenshell.create_entity('Ifc2DCompositeCurve', 'IFC2X3', *args, **kwargs)
def IfcActionRequest(*args, **kwargs): return ifcopenshell.create_entity('IfcActionRequest', 'IFC2X3', *args, **kwargs)
def IfcActor(*args, **kwargs): return ifcopenshell.create_entity('IfcActor', 'IFC2X3', *args, **kwargs)
def IfcActorRole(*args, **kwargs): return ifcopenshell.create_entity('IfcActorRole', 'IFC2X3', *args, **kwargs)
def IfcActuatorType(*args, **kwargs): return ifcopenshell.create_entity('IfcActuatorType', 'IFC2X3', *args, **kwargs)
def IfcAddress(*args, **kwargs): return ifcopenshell.create_entity('IfcAddress', 'IFC2X3', *args, **kwargs)
def IfcAirTerminalBoxType(*args, **kwargs): return ifcopenshell.create_entity('IfcAirTerminalBoxType', 'IFC2X3', *args, **kwargs)
def IfcAirTerminalType(*args, **kwargs): return ifcopenshell.create_entity('IfcAirTerminalType', 'IFC2X3', *args, **kwargs)
def IfcAirToAirHeatRecoveryType(*args, **kwargs): return ifcopenshell.create_entity('IfcAirToAirHeatRecoveryType', 'IFC2X3', *args, **kwargs)
def IfcAlarmType(*args, **kwargs): return ifcopenshell.create_entity('IfcAlarmType', 'IFC2X3', *args, **kwargs)
def IfcAngularDimension(*args, **kwargs): return ifcopenshell.create_entity('IfcAngularDimension', 'IFC2X3', *args, **kwargs)
def IfcAnnotation(*args, **kwargs): return ifcopenshell.create_entity('IfcAnnotation', 'IFC2X3', *args, **kwargs)
def IfcAnnotationCurveOccurrence(*args, **kwargs): return ifcopenshell.create_entity('IfcAnnotationCurveOccurrence', 'IFC2X3', *args, **kwargs)
def IfcAnnotationFillArea(*args, **kwargs): return ifcopenshell.create_entity('IfcAnnotationFillArea', 'IFC2X3', *args, **kwargs)
def IfcAnnotationFillAreaOccurrence(*args, **kwargs): return ifcopenshell.create_entity('IfcAnnotationFillAreaOccurrence', 'IFC2X3', *args, **kwargs)
def IfcAnnotationOccurrence(*args, **kwargs): return ifcopenshell.create_entity('IfcAnnotationOccurrence', 'IFC2X3', *args, **kwargs)
def IfcAnnotationSurface(*args, **kwargs): return ifcopenshell.create_entity('IfcAnnotationSurface', 'IFC2X3', *args, **kwargs)
def IfcAnnotationSurfaceOccurrence(*args, **kwargs): return ifcopenshell.create_entity('IfcAnnotationSurfaceOccurrence', 'IFC2X3', *args, **kwargs)
def IfcAnnotationSymbolOccurrence(*args, **kwargs): return ifcopenshell.create_entity('IfcAnnotationSymbolOccurrence', 'IFC2X3', *args, **kwargs)
def IfcAnnotationTextOccurrence(*args, **kwargs): return ifcopenshell.create_entity('IfcAnnotationTextOccurrence', 'IFC2X3', *args, **kwargs)
def IfcApplication(*args, **kwargs): return ifcopenshell.create_entity('IfcApplication', 'IFC2X3', *args, **kwargs)
def IfcAppliedValue(*args, **kwargs): return ifcopenshell.create_entity('IfcAppliedValue', 'IFC2X3', *args, **kwargs)
def IfcAppliedValueRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcAppliedValueRelationship', 'IFC2X3', *args, **kwargs)
def IfcApproval(*args, **kwargs): return ifcopenshell.create_entity('IfcApproval', 'IFC2X3', *args, **kwargs)
def IfcApprovalActorRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcApprovalActorRelationship', 'IFC2X3', *args, **kwargs)
def IfcApprovalPropertyRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcApprovalPropertyRelationship', 'IFC2X3', *args, **kwargs)
def IfcApprovalRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcApprovalRelationship', 'IFC2X3', *args, **kwargs)
def IfcArbitraryClosedProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcArbitraryClosedProfileDef', 'IFC2X3', *args, **kwargs)
def IfcArbitraryOpenProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcArbitraryOpenProfileDef', 'IFC2X3', *args, **kwargs)
def IfcArbitraryProfileDefWithVoids(*args, **kwargs): return ifcopenshell.create_entity('IfcArbitraryProfileDefWithVoids', 'IFC2X3', *args, **kwargs)
def IfcAsset(*args, **kwargs): return ifcopenshell.create_entity('IfcAsset', 'IFC2X3', *args, **kwargs)
def IfcAsymmetricIShapeProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcAsymmetricIShapeProfileDef', 'IFC2X3', *args, **kwargs)
def IfcAxis1Placement(*args, **kwargs): return ifcopenshell.create_entity('IfcAxis1Placement', 'IFC2X3', *args, **kwargs)
def IfcAxis2Placement2D(*args, **kwargs): return ifcopenshell.create_entity('IfcAxis2Placement2D', 'IFC2X3', *args, **kwargs)
def IfcAxis2Placement3D(*args, **kwargs): return ifcopenshell.create_entity('IfcAxis2Placement3D', 'IFC2X3', *args, **kwargs)
def IfcBSplineCurve(*args, **kwargs): return ifcopenshell.create_entity('IfcBSplineCurve', 'IFC2X3', *args, **kwargs)
def IfcBeam(*args, **kwargs): return ifcopenshell.create_entity('IfcBeam', 'IFC2X3', *args, **kwargs)
def IfcBeamType(*args, **kwargs): return ifcopenshell.create_entity('IfcBeamType', 'IFC2X3', *args, **kwargs)
def IfcBezierCurve(*args, **kwargs): return ifcopenshell.create_entity('IfcBezierCurve', 'IFC2X3', *args, **kwargs)
def IfcBlobTexture(*args, **kwargs): return ifcopenshell.create_entity('IfcBlobTexture', 'IFC2X3', *args, **kwargs)
def IfcBlock(*args, **kwargs): return ifcopenshell.create_entity('IfcBlock', 'IFC2X3', *args, **kwargs)
def IfcBoilerType(*args, **kwargs): return ifcopenshell.create_entity('IfcBoilerType', 'IFC2X3', *args, **kwargs)
def IfcBooleanClippingResult(*args, **kwargs): return ifcopenshell.create_entity('IfcBooleanClippingResult', 'IFC2X3', *args, **kwargs)
def IfcBooleanResult(*args, **kwargs): return ifcopenshell.create_entity('IfcBooleanResult', 'IFC2X3', *args, **kwargs)
def IfcBoundaryCondition(*args, **kwargs): return ifcopenshell.create_entity('IfcBoundaryCondition', 'IFC2X3', *args, **kwargs)
def IfcBoundaryEdgeCondition(*args, **kwargs): return ifcopenshell.create_entity('IfcBoundaryEdgeCondition', 'IFC2X3', *args, **kwargs)
def IfcBoundaryFaceCondition(*args, **kwargs): return ifcopenshell.create_entity('IfcBoundaryFaceCondition', 'IFC2X3', *args, **kwargs)
def IfcBoundaryNodeCondition(*args, **kwargs): return ifcopenshell.create_entity('IfcBoundaryNodeCondition', 'IFC2X3', *args, **kwargs)
def IfcBoundaryNodeConditionWarping(*args, **kwargs): return ifcopenshell.create_entity('IfcBoundaryNodeConditionWarping', 'IFC2X3', *args, **kwargs)
def IfcBoundedCurve(*args, **kwargs): return ifcopenshell.create_entity('IfcBoundedCurve', 'IFC2X3', *args, **kwargs)
def IfcBoundedSurface(*args, **kwargs): return ifcopenshell.create_entity('IfcBoundedSurface', 'IFC2X3', *args, **kwargs)
def IfcBoundingBox(*args, **kwargs): return ifcopenshell.create_entity('IfcBoundingBox', 'IFC2X3', *args, **kwargs)
def IfcBoxedHalfSpace(*args, **kwargs): return ifcopenshell.create_entity('IfcBoxedHalfSpace', 'IFC2X3', *args, **kwargs)
def IfcBuilding(*args, **kwargs): return ifcopenshell.create_entity('IfcBuilding', 'IFC2X3', *args, **kwargs)
def IfcBuildingElement(*args, **kwargs): return ifcopenshell.create_entity('IfcBuildingElement', 'IFC2X3', *args, **kwargs)
def IfcBuildingElementComponent(*args, **kwargs): return ifcopenshell.create_entity('IfcBuildingElementComponent', 'IFC2X3', *args, **kwargs)
def IfcBuildingElementPart(*args, **kwargs): return ifcopenshell.create_entity('IfcBuildingElementPart', 'IFC2X3', *args, **kwargs)
def IfcBuildingElementProxy(*args, **kwargs): return ifcopenshell.create_entity('IfcBuildingElementProxy', 'IFC2X3', *args, **kwargs)
def IfcBuildingElementProxyType(*args, **kwargs): return ifcopenshell.create_entity('IfcBuildingElementProxyType', 'IFC2X3', *args, **kwargs)
def IfcBuildingElementType(*args, **kwargs): return ifcopenshell.create_entity('IfcBuildingElementType', 'IFC2X3', *args, **kwargs)
def IfcBuildingStorey(*args, **kwargs): return ifcopenshell.create_entity('IfcBuildingStorey', 'IFC2X3', *args, **kwargs)
def IfcCShapeProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcCShapeProfileDef', 'IFC2X3', *args, **kwargs)
def IfcCableCarrierFittingType(*args, **kwargs): return ifcopenshell.create_entity('IfcCableCarrierFittingType', 'IFC2X3', *args, **kwargs)
def IfcCableCarrierSegmentType(*args, **kwargs): return ifcopenshell.create_entity('IfcCableCarrierSegmentType', 'IFC2X3', *args, **kwargs)
def IfcCableSegmentType(*args, **kwargs): return ifcopenshell.create_entity('IfcCableSegmentType', 'IFC2X3', *args, **kwargs)
def IfcCalendarDate(*args, **kwargs): return ifcopenshell.create_entity('IfcCalendarDate', 'IFC2X3', *args, **kwargs)
def IfcCartesianPoint(*args, **kwargs): return ifcopenshell.create_entity('IfcCartesianPoint', 'IFC2X3', *args, **kwargs)
def IfcCartesianTransformationOperator(*args, **kwargs): return ifcopenshell.create_entity('IfcCartesianTransformationOperator', 'IFC2X3', *args, **kwargs)
def IfcCartesianTransformationOperator2D(*args, **kwargs): return ifcopenshell.create_entity('IfcCartesianTransformationOperator2D', 'IFC2X3', *args, **kwargs)
def IfcCartesianTransformationOperator2DnonUniform(*args, **kwargs): return ifcopenshell.create_entity('IfcCartesianTransformationOperator2DnonUniform', 'IFC2X3', *args, **kwargs)
def IfcCartesianTransformationOperator3D(*args, **kwargs): return ifcopenshell.create_entity('IfcCartesianTransformationOperator3D', 'IFC2X3', *args, **kwargs)
def IfcCartesianTransformationOperator3DnonUniform(*args, **kwargs): return ifcopenshell.create_entity('IfcCartesianTransformationOperator3DnonUniform', 'IFC2X3', *args, **kwargs)
def IfcCenterLineProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcCenterLineProfileDef', 'IFC2X3', *args, **kwargs)
def IfcChamferEdgeFeature(*args, **kwargs): return ifcopenshell.create_entity('IfcChamferEdgeFeature', 'IFC2X3', *args, **kwargs)
def IfcChillerType(*args, **kwargs): return ifcopenshell.create_entity('IfcChillerType', 'IFC2X3', *args, **kwargs)
def IfcCircle(*args, **kwargs): return ifcopenshell.create_entity('IfcCircle', 'IFC2X3', *args, **kwargs)
def IfcCircleHollowProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcCircleHollowProfileDef', 'IFC2X3', *args, **kwargs)
def IfcCircleProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcCircleProfileDef', 'IFC2X3', *args, **kwargs)
def IfcClassification(*args, **kwargs): return ifcopenshell.create_entity('IfcClassification', 'IFC2X3', *args, **kwargs)
def IfcClassificationItem(*args, **kwargs): return ifcopenshell.create_entity('IfcClassificationItem', 'IFC2X3', *args, **kwargs)
def IfcClassificationItemRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcClassificationItemRelationship', 'IFC2X3', *args, **kwargs)
def IfcClassificationNotation(*args, **kwargs): return ifcopenshell.create_entity('IfcClassificationNotation', 'IFC2X3', *args, **kwargs)
def IfcClassificationNotationFacet(*args, **kwargs): return ifcopenshell.create_entity('IfcClassificationNotationFacet', 'IFC2X3', *args, **kwargs)
def IfcClassificationReference(*args, **kwargs): return ifcopenshell.create_entity('IfcClassificationReference', 'IFC2X3', *args, **kwargs)
def IfcClosedShell(*args, **kwargs): return ifcopenshell.create_entity('IfcClosedShell', 'IFC2X3', *args, **kwargs)
def IfcCoilType(*args, **kwargs): return ifcopenshell.create_entity('IfcCoilType', 'IFC2X3', *args, **kwargs)
def IfcColourRgb(*args, **kwargs): return ifcopenshell.create_entity('IfcColourRgb', 'IFC2X3', *args, **kwargs)
def IfcColourSpecification(*args, **kwargs): return ifcopenshell.create_entity('IfcColourSpecification', 'IFC2X3', *args, **kwargs)
def IfcColumn(*args, **kwargs): return ifcopenshell.create_entity('IfcColumn', 'IFC2X3', *args, **kwargs)
def IfcColumnType(*args, **kwargs): return ifcopenshell.create_entity('IfcColumnType', 'IFC2X3', *args, **kwargs)
def IfcComplexProperty(*args, **kwargs): return ifcopenshell.create_entity('IfcComplexProperty', 'IFC2X3', *args, **kwargs)
def IfcCompositeCurve(*args, **kwargs): return ifcopenshell.create_entity('IfcCompositeCurve', 'IFC2X3', *args, **kwargs)
def IfcCompositeCurveSegment(*args, **kwargs): return ifcopenshell.create_entity('IfcCompositeCurveSegment', 'IFC2X3', *args, **kwargs)
def IfcCompositeProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcCompositeProfileDef', 'IFC2X3', *args, **kwargs)
def IfcCompressorType(*args, **kwargs): return ifcopenshell.create_entity('IfcCompressorType', 'IFC2X3', *args, **kwargs)
def IfcCondenserType(*args, **kwargs): return ifcopenshell.create_entity('IfcCondenserType', 'IFC2X3', *args, **kwargs)
def IfcCondition(*args, **kwargs): return ifcopenshell.create_entity('IfcCondition', 'IFC2X3', *args, **kwargs)
def IfcConditionCriterion(*args, **kwargs): return ifcopenshell.create_entity('IfcConditionCriterion', 'IFC2X3', *args, **kwargs)
def IfcConic(*args, **kwargs): return ifcopenshell.create_entity('IfcConic', 'IFC2X3', *args, **kwargs)
def IfcConnectedFaceSet(*args, **kwargs): return ifcopenshell.create_entity('IfcConnectedFaceSet', 'IFC2X3', *args, **kwargs)
def IfcConnectionCurveGeometry(*args, **kwargs): return ifcopenshell.create_entity('IfcConnectionCurveGeometry', 'IFC2X3', *args, **kwargs)
def IfcConnectionGeometry(*args, **kwargs): return ifcopenshell.create_entity('IfcConnectionGeometry', 'IFC2X3', *args, **kwargs)
def IfcConnectionPointEccentricity(*args, **kwargs): return ifcopenshell.create_entity('IfcConnectionPointEccentricity', 'IFC2X3', *args, **kwargs)
def IfcConnectionPointGeometry(*args, **kwargs): return ifcopenshell.create_entity('IfcConnectionPointGeometry', 'IFC2X3', *args, **kwargs)
def IfcConnectionPortGeometry(*args, **kwargs): return ifcopenshell.create_entity('IfcConnectionPortGeometry', 'IFC2X3', *args, **kwargs)
def IfcConnectionSurfaceGeometry(*args, **kwargs): return ifcopenshell.create_entity('IfcConnectionSurfaceGeometry', 'IFC2X3', *args, **kwargs)
def IfcConstraint(*args, **kwargs): return ifcopenshell.create_entity('IfcConstraint', 'IFC2X3', *args, **kwargs)
def IfcConstraintAggregationRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcConstraintAggregationRelationship', 'IFC2X3', *args, **kwargs)
def IfcConstraintClassificationRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcConstraintClassificationRelationship', 'IFC2X3', *args, **kwargs)
def IfcConstraintRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcConstraintRelationship', 'IFC2X3', *args, **kwargs)
def IfcConstructionEquipmentResource(*args, **kwargs): return ifcopenshell.create_entity('IfcConstructionEquipmentResource', 'IFC2X3', *args, **kwargs)
def IfcConstructionMaterialResource(*args, **kwargs): return ifcopenshell.create_entity('IfcConstructionMaterialResource', 'IFC2X3', *args, **kwargs)
def IfcConstructionProductResource(*args, **kwargs): return ifcopenshell.create_entity('IfcConstructionProductResource', 'IFC2X3', *args, **kwargs)
def IfcConstructionResource(*args, **kwargs): return ifcopenshell.create_entity('IfcConstructionResource', 'IFC2X3', *args, **kwargs)
def IfcContextDependentUnit(*args, **kwargs): return ifcopenshell.create_entity('IfcContextDependentUnit', 'IFC2X3', *args, **kwargs)
def IfcControl(*args, **kwargs): return ifcopenshell.create_entity('IfcControl', 'IFC2X3', *args, **kwargs)
def IfcControllerType(*args, **kwargs): return ifcopenshell.create_entity('IfcControllerType', 'IFC2X3', *args, **kwargs)
def IfcConversionBasedUnit(*args, **kwargs): return ifcopenshell.create_entity('IfcConversionBasedUnit', 'IFC2X3', *args, **kwargs)
def IfcCooledBeamType(*args, **kwargs): return ifcopenshell.create_entity('IfcCooledBeamType', 'IFC2X3', *args, **kwargs)
def IfcCoolingTowerType(*args, **kwargs): return ifcopenshell.create_entity('IfcCoolingTowerType', 'IFC2X3', *args, **kwargs)
def IfcCoordinatedUniversalTimeOffset(*args, **kwargs): return ifcopenshell.create_entity('IfcCoordinatedUniversalTimeOffset', 'IFC2X3', *args, **kwargs)
def IfcCostItem(*args, **kwargs): return ifcopenshell.create_entity('IfcCostItem', 'IFC2X3', *args, **kwargs)
def IfcCostSchedule(*args, **kwargs): return ifcopenshell.create_entity('IfcCostSchedule', 'IFC2X3', *args, **kwargs)
def IfcCostValue(*args, **kwargs): return ifcopenshell.create_entity('IfcCostValue', 'IFC2X3', *args, **kwargs)
def IfcCovering(*args, **kwargs): return ifcopenshell.create_entity('IfcCovering', 'IFC2X3', *args, **kwargs)
def IfcCoveringType(*args, **kwargs): return ifcopenshell.create_entity('IfcCoveringType', 'IFC2X3', *args, **kwargs)
def IfcCraneRailAShapeProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcCraneRailAShapeProfileDef', 'IFC2X3', *args, **kwargs)
def IfcCraneRailFShapeProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcCraneRailFShapeProfileDef', 'IFC2X3', *args, **kwargs)
def IfcCrewResource(*args, **kwargs): return ifcopenshell.create_entity('IfcCrewResource', 'IFC2X3', *args, **kwargs)
def IfcCsgPrimitive3D(*args, **kwargs): return ifcopenshell.create_entity('IfcCsgPrimitive3D', 'IFC2X3', *args, **kwargs)
def IfcCsgSolid(*args, **kwargs): return ifcopenshell.create_entity('IfcCsgSolid', 'IFC2X3', *args, **kwargs)
def IfcCurrencyRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcCurrencyRelationship', 'IFC2X3', *args, **kwargs)
def IfcCurtainWall(*args, **kwargs): return ifcopenshell.create_entity('IfcCurtainWall', 'IFC2X3', *args, **kwargs)
def IfcCurtainWallType(*args, **kwargs): return ifcopenshell.create_entity('IfcCurtainWallType', 'IFC2X3', *args, **kwargs)
def IfcCurve(*args, **kwargs): return ifcopenshell.create_entity('IfcCurve', 'IFC2X3', *args, **kwargs)
def IfcCurveBoundedPlane(*args, **kwargs): return ifcopenshell.create_entity('IfcCurveBoundedPlane', 'IFC2X3', *args, **kwargs)
def IfcCurveStyle(*args, **kwargs): return ifcopenshell.create_entity('IfcCurveStyle', 'IFC2X3', *args, **kwargs)
def IfcCurveStyleFont(*args, **kwargs): return ifcopenshell.create_entity('IfcCurveStyleFont', 'IFC2X3', *args, **kwargs)
def IfcCurveStyleFontAndScaling(*args, **kwargs): return ifcopenshell.create_entity('IfcCurveStyleFontAndScaling', 'IFC2X3', *args, **kwargs)
def IfcCurveStyleFontPattern(*args, **kwargs): return ifcopenshell.create_entity('IfcCurveStyleFontPattern', 'IFC2X3', *args, **kwargs)
def IfcDamperType(*args, **kwargs): return ifcopenshell.create_entity('IfcDamperType', 'IFC2X3', *args, **kwargs)
def IfcDateAndTime(*args, **kwargs): return ifcopenshell.create_entity('IfcDateAndTime', 'IFC2X3', *args, **kwargs)
def IfcDefinedSymbol(*args, **kwargs): return ifcopenshell.create_entity('IfcDefinedSymbol', 'IFC2X3', *args, **kwargs)
def IfcDerivedProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcDerivedProfileDef', 'IFC2X3', *args, **kwargs)
def IfcDerivedUnit(*args, **kwargs): return ifcopenshell.create_entity('IfcDerivedUnit', 'IFC2X3', *args, **kwargs)
def IfcDerivedUnitElement(*args, **kwargs): return ifcopenshell.create_entity('IfcDerivedUnitElement', 'IFC2X3', *args, **kwargs)
def IfcDiameterDimension(*args, **kwargs): return ifcopenshell.create_entity('IfcDiameterDimension', 'IFC2X3', *args, **kwargs)
def IfcDimensionCalloutRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcDimensionCalloutRelationship', 'IFC2X3', *args, **kwargs)
def IfcDimensionCurve(*args, **kwargs): return ifcopenshell.create_entity('IfcDimensionCurve', 'IFC2X3', *args, **kwargs)
def IfcDimensionCurveDirectedCallout(*args, **kwargs): return ifcopenshell.create_entity('IfcDimensionCurveDirectedCallout', 'IFC2X3', *args, **kwargs)
def IfcDimensionCurveTerminator(*args, **kwargs): return ifcopenshell.create_entity('IfcDimensionCurveTerminator', 'IFC2X3', *args, **kwargs)
def IfcDimensionPair(*args, **kwargs): return ifcopenshell.create_entity('IfcDimensionPair', 'IFC2X3', *args, **kwargs)
def IfcDimensionalExponents(*args, **kwargs): return ifcopenshell.create_entity('IfcDimensionalExponents', 'IFC2X3', *args, **kwargs)
def IfcDirection(*args, **kwargs): return ifcopenshell.create_entity('IfcDirection', 'IFC2X3', *args, **kwargs)
def IfcDiscreteAccessory(*args, **kwargs): return ifcopenshell.create_entity('IfcDiscreteAccessory', 'IFC2X3', *args, **kwargs)
def IfcDiscreteAccessoryType(*args, **kwargs): return ifcopenshell.create_entity('IfcDiscreteAccessoryType', 'IFC2X3', *args, **kwargs)
def IfcDistributionChamberElement(*args, **kwargs): return ifcopenshell.create_entity('IfcDistributionChamberElement', 'IFC2X3', *args, **kwargs)
def IfcDistributionChamberElementType(*args, **kwargs): return ifcopenshell.create_entity('IfcDistributionChamberElementType', 'IFC2X3', *args, **kwargs)
def IfcDistributionControlElement(*args, **kwargs): return ifcopenshell.create_entity('IfcDistributionControlElement', 'IFC2X3', *args, **kwargs)
def IfcDistributionControlElementType(*args, **kwargs): return ifcopenshell.create_entity('IfcDistributionControlElementType', 'IFC2X3', *args, **kwargs)
def IfcDistributionElement(*args, **kwargs): return ifcopenshell.create_entity('IfcDistributionElement', 'IFC2X3', *args, **kwargs)
def IfcDistributionElementType(*args, **kwargs): return ifcopenshell.create_entity('IfcDistributionElementType', 'IFC2X3', *args, **kwargs)
def IfcDistributionFlowElement(*args, **kwargs): return ifcopenshell.create_entity('IfcDistributionFlowElement', 'IFC2X3', *args, **kwargs)
def IfcDistributionFlowElementType(*args, **kwargs): return ifcopenshell.create_entity('IfcDistributionFlowElementType', 'IFC2X3', *args, **kwargs)
def IfcDistributionPort(*args, **kwargs): return ifcopenshell.create_entity('IfcDistributionPort', 'IFC2X3', *args, **kwargs)
def IfcDocumentElectronicFormat(*args, **kwargs): return ifcopenshell.create_entity('IfcDocumentElectronicFormat', 'IFC2X3', *args, **kwargs)
def IfcDocumentInformation(*args, **kwargs): return ifcopenshell.create_entity('IfcDocumentInformation', 'IFC2X3', *args, **kwargs)
def IfcDocumentInformationRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcDocumentInformationRelationship', 'IFC2X3', *args, **kwargs)
def IfcDocumentReference(*args, **kwargs): return ifcopenshell.create_entity('IfcDocumentReference', 'IFC2X3', *args, **kwargs)
def IfcDoor(*args, **kwargs): return ifcopenshell.create_entity('IfcDoor', 'IFC2X3', *args, **kwargs)
def IfcDoorLiningProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcDoorLiningProperties', 'IFC2X3', *args, **kwargs)
def IfcDoorPanelProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcDoorPanelProperties', 'IFC2X3', *args, **kwargs)
def IfcDoorStyle(*args, **kwargs): return ifcopenshell.create_entity('IfcDoorStyle', 'IFC2X3', *args, **kwargs)
def IfcDraughtingCallout(*args, **kwargs): return ifcopenshell.create_entity('IfcDraughtingCallout', 'IFC2X3', *args, **kwargs)
def IfcDraughtingCalloutRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcDraughtingCalloutRelationship', 'IFC2X3', *args, **kwargs)
def IfcDraughtingPreDefinedColour(*args, **kwargs): return ifcopenshell.create_entity('IfcDraughtingPreDefinedColour', 'IFC2X3', *args, **kwargs)
def IfcDraughtingPreDefinedCurveFont(*args, **kwargs): return ifcopenshell.create_entity('IfcDraughtingPreDefinedCurveFont', 'IFC2X3', *args, **kwargs)
def IfcDraughtingPreDefinedTextFont(*args, **kwargs): return ifcopenshell.create_entity('IfcDraughtingPreDefinedTextFont', 'IFC2X3', *args, **kwargs)
def IfcDuctFittingType(*args, **kwargs): return ifcopenshell.create_entity('IfcDuctFittingType', 'IFC2X3', *args, **kwargs)
def IfcDuctSegmentType(*args, **kwargs): return ifcopenshell.create_entity('IfcDuctSegmentType', 'IFC2X3', *args, **kwargs)
def IfcDuctSilencerType(*args, **kwargs): return ifcopenshell.create_entity('IfcDuctSilencerType', 'IFC2X3', *args, **kwargs)
def IfcEdge(*args, **kwargs): return ifcopenshell.create_entity('IfcEdge', 'IFC2X3', *args, **kwargs)
def IfcEdgeCurve(*args, **kwargs): return ifcopenshell.create_entity('IfcEdgeCurve', 'IFC2X3', *args, **kwargs)
def IfcEdgeFeature(*args, **kwargs): return ifcopenshell.create_entity('IfcEdgeFeature', 'IFC2X3', *args, **kwargs)
def IfcEdgeLoop(*args, **kwargs): return ifcopenshell.create_entity('IfcEdgeLoop', 'IFC2X3', *args, **kwargs)
def IfcElectricApplianceType(*args, **kwargs): return ifcopenshell.create_entity('IfcElectricApplianceType', 'IFC2X3', *args, **kwargs)
def IfcElectricDistributionPoint(*args, **kwargs): return ifcopenshell.create_entity('IfcElectricDistributionPoint', 'IFC2X3', *args, **kwargs)
def IfcElectricFlowStorageDeviceType(*args, **kwargs): return ifcopenshell.create_entity('IfcElectricFlowStorageDeviceType', 'IFC2X3', *args, **kwargs)
def IfcElectricGeneratorType(*args, **kwargs): return ifcopenshell.create_entity('IfcElectricGeneratorType', 'IFC2X3', *args, **kwargs)
def IfcElectricHeaterType(*args, **kwargs): return ifcopenshell.create_entity('IfcElectricHeaterType', 'IFC2X3', *args, **kwargs)
def IfcElectricMotorType(*args, **kwargs): return ifcopenshell.create_entity('IfcElectricMotorType', 'IFC2X3', *args, **kwargs)
def IfcElectricTimeControlType(*args, **kwargs): return ifcopenshell.create_entity('IfcElectricTimeControlType', 'IFC2X3', *args, **kwargs)
def IfcElectricalBaseProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcElectricalBaseProperties', 'IFC2X3', *args, **kwargs)
def IfcElectricalCircuit(*args, **kwargs): return ifcopenshell.create_entity('IfcElectricalCircuit', 'IFC2X3', *args, **kwargs)
def IfcElectricalElement(*args, **kwargs): return ifcopenshell.create_entity('IfcElectricalElement', 'IFC2X3', *args, **kwargs)
def IfcElement(*args, **kwargs): return ifcopenshell.create_entity('IfcElement', 'IFC2X3', *args, **kwargs)
def IfcElementAssembly(*args, **kwargs): return ifcopenshell.create_entity('IfcElementAssembly', 'IFC2X3', *args, **kwargs)
def IfcElementComponent(*args, **kwargs): return ifcopenshell.create_entity('IfcElementComponent', 'IFC2X3', *args, **kwargs)
def IfcElementComponentType(*args, **kwargs): return ifcopenshell.create_entity('IfcElementComponentType', 'IFC2X3', *args, **kwargs)
def IfcElementQuantity(*args, **kwargs): return ifcopenshell.create_entity('IfcElementQuantity', 'IFC2X3', *args, **kwargs)
def IfcElementType(*args, **kwargs): return ifcopenshell.create_entity('IfcElementType', 'IFC2X3', *args, **kwargs)
def IfcElementarySurface(*args, **kwargs): return ifcopenshell.create_entity('IfcElementarySurface', 'IFC2X3', *args, **kwargs)
def IfcEllipse(*args, **kwargs): return ifcopenshell.create_entity('IfcEllipse', 'IFC2X3', *args, **kwargs)
def IfcEllipseProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcEllipseProfileDef', 'IFC2X3', *args, **kwargs)
def IfcEnergyConversionDevice(*args, **kwargs): return ifcopenshell.create_entity('IfcEnergyConversionDevice', 'IFC2X3', *args, **kwargs)
def IfcEnergyConversionDeviceType(*args, **kwargs): return ifcopenshell.create_entity('IfcEnergyConversionDeviceType', 'IFC2X3', *args, **kwargs)
def IfcEnergyProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcEnergyProperties', 'IFC2X3', *args, **kwargs)
def IfcEnvironmentalImpactValue(*args, **kwargs): return ifcopenshell.create_entity('IfcEnvironmentalImpactValue', 'IFC2X3', *args, **kwargs)
def IfcEquipmentElement(*args, **kwargs): return ifcopenshell.create_entity('IfcEquipmentElement', 'IFC2X3', *args, **kwargs)
def IfcEquipmentStandard(*args, **kwargs): return ifcopenshell.create_entity('IfcEquipmentStandard', 'IFC2X3', *args, **kwargs)
def IfcEvaporativeCoolerType(*args, **kwargs): return ifcopenshell.create_entity('IfcEvaporativeCoolerType', 'IFC2X3', *args, **kwargs)
def IfcEvaporatorType(*args, **kwargs): return ifcopenshell.create_entity('IfcEvaporatorType', 'IFC2X3', *args, **kwargs)
def IfcExtendedMaterialProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcExtendedMaterialProperties', 'IFC2X3', *args, **kwargs)
def IfcExternalReference(*args, **kwargs): return ifcopenshell.create_entity('IfcExternalReference', 'IFC2X3', *args, **kwargs)
def IfcExternallyDefinedHatchStyle(*args, **kwargs): return ifcopenshell.create_entity('IfcExternallyDefinedHatchStyle', 'IFC2X3', *args, **kwargs)
def IfcExternallyDefinedSurfaceStyle(*args, **kwargs): return ifcopenshell.create_entity('IfcExternallyDefinedSurfaceStyle', 'IFC2X3', *args, **kwargs)
def IfcExternallyDefinedSymbol(*args, **kwargs): return ifcopenshell.create_entity('IfcExternallyDefinedSymbol', 'IFC2X3', *args, **kwargs)
def IfcExternallyDefinedTextFont(*args, **kwargs): return ifcopenshell.create_entity('IfcExternallyDefinedTextFont', 'IFC2X3', *args, **kwargs)
def IfcExtrudedAreaSolid(*args, **kwargs): return ifcopenshell.create_entity('IfcExtrudedAreaSolid', 'IFC2X3', *args, **kwargs)
def IfcFace(*args, **kwargs): return ifcopenshell.create_entity('IfcFace', 'IFC2X3', *args, **kwargs)
def IfcFaceBasedSurfaceModel(*args, **kwargs): return ifcopenshell.create_entity('IfcFaceBasedSurfaceModel', 'IFC2X3', *args, **kwargs)
def IfcFaceBound(*args, **kwargs): return ifcopenshell.create_entity('IfcFaceBound', 'IFC2X3', *args, **kwargs)
def IfcFaceOuterBound(*args, **kwargs): return ifcopenshell.create_entity('IfcFaceOuterBound', 'IFC2X3', *args, **kwargs)
def IfcFaceSurface(*args, **kwargs): return ifcopenshell.create_entity('IfcFaceSurface', 'IFC2X3', *args, **kwargs)
def IfcFacetedBrep(*args, **kwargs): return ifcopenshell.create_entity('IfcFacetedBrep', 'IFC2X3', *args, **kwargs)
def IfcFacetedBrepWithVoids(*args, **kwargs): return ifcopenshell.create_entity('IfcFacetedBrepWithVoids', 'IFC2X3', *args, **kwargs)
def IfcFailureConnectionCondition(*args, **kwargs): return ifcopenshell.create_entity('IfcFailureConnectionCondition', 'IFC2X3', *args, **kwargs)
def IfcFanType(*args, **kwargs): return ifcopenshell.create_entity('IfcFanType', 'IFC2X3', *args, **kwargs)
def IfcFastener(*args, **kwargs): return ifcopenshell.create_entity('IfcFastener', 'IFC2X3', *args, **kwargs)
def IfcFastenerType(*args, **kwargs): return ifcopenshell.create_entity('IfcFastenerType', 'IFC2X3', *args, **kwargs)
def IfcFeatureElement(*args, **kwargs): return ifcopenshell.create_entity('IfcFeatureElement', 'IFC2X3', *args, **kwargs)
def IfcFeatureElementAddition(*args, **kwargs): return ifcopenshell.create_entity('IfcFeatureElementAddition', 'IFC2X3', *args, **kwargs)
def IfcFeatureElementSubtraction(*args, **kwargs): return ifcopenshell.create_entity('IfcFeatureElementSubtraction', 'IFC2X3', *args, **kwargs)
def IfcFillAreaStyle(*args, **kwargs): return ifcopenshell.create_entity('IfcFillAreaStyle', 'IFC2X3', *args, **kwargs)
def IfcFillAreaStyleHatching(*args, **kwargs): return ifcopenshell.create_entity('IfcFillAreaStyleHatching', 'IFC2X3', *args, **kwargs)
def IfcFillAreaStyleTileSymbolWithStyle(*args, **kwargs): return ifcopenshell.create_entity('IfcFillAreaStyleTileSymbolWithStyle', 'IFC2X3', *args, **kwargs)
def IfcFillAreaStyleTiles(*args, **kwargs): return ifcopenshell.create_entity('IfcFillAreaStyleTiles', 'IFC2X3', *args, **kwargs)
def IfcFilterType(*args, **kwargs): return ifcopenshell.create_entity('IfcFilterType', 'IFC2X3', *args, **kwargs)
def IfcFireSuppressionTerminalType(*args, **kwargs): return ifcopenshell.create_entity('IfcFireSuppressionTerminalType', 'IFC2X3', *args, **kwargs)
def IfcFlowController(*args, **kwargs): return ifcopenshell.create_entity('IfcFlowController', 'IFC2X3', *args, **kwargs)
def IfcFlowControllerType(*args, **kwargs): return ifcopenshell.create_entity('IfcFlowControllerType', 'IFC2X3', *args, **kwargs)
def IfcFlowFitting(*args, **kwargs): return ifcopenshell.create_entity('IfcFlowFitting', 'IFC2X3', *args, **kwargs)
def IfcFlowFittingType(*args, **kwargs): return ifcopenshell.create_entity('IfcFlowFittingType', 'IFC2X3', *args, **kwargs)
def IfcFlowInstrumentType(*args, **kwargs): return ifcopenshell.create_entity('IfcFlowInstrumentType', 'IFC2X3', *args, **kwargs)
def IfcFlowMeterType(*args, **kwargs): return ifcopenshell.create_entity('IfcFlowMeterType', 'IFC2X3', *args, **kwargs)
def IfcFlowMovingDevice(*args, **kwargs): return ifcopenshell.create_entity('IfcFlowMovingDevice', 'IFC2X3', *args, **kwargs)
def IfcFlowMovingDeviceType(*args, **kwargs): return ifcopenshell.create_entity('IfcFlowMovingDeviceType', 'IFC2X3', *args, **kwargs)
def IfcFlowSegment(*args, **kwargs): return ifcopenshell.create_entity('IfcFlowSegment', 'IFC2X3', *args, **kwargs)
def IfcFlowSegmentType(*args, **kwargs): return ifcopenshell.create_entity('IfcFlowSegmentType', 'IFC2X3', *args, **kwargs)
def IfcFlowStorageDevice(*args, **kwargs): return ifcopenshell.create_entity('IfcFlowStorageDevice', 'IFC2X3', *args, **kwargs)
def IfcFlowStorageDeviceType(*args, **kwargs): return ifcopenshell.create_entity('IfcFlowStorageDeviceType', 'IFC2X3', *args, **kwargs)
def IfcFlowTerminal(*args, **kwargs): return ifcopenshell.create_entity('IfcFlowTerminal', 'IFC2X3', *args, **kwargs)
def IfcFlowTerminalType(*args, **kwargs): return ifcopenshell.create_entity('IfcFlowTerminalType', 'IFC2X3', *args, **kwargs)
def IfcFlowTreatmentDevice(*args, **kwargs): return ifcopenshell.create_entity('IfcFlowTreatmentDevice', 'IFC2X3', *args, **kwargs)
def IfcFlowTreatmentDeviceType(*args, **kwargs): return ifcopenshell.create_entity('IfcFlowTreatmentDeviceType', 'IFC2X3', *args, **kwargs)
def IfcFluidFlowProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcFluidFlowProperties', 'IFC2X3', *args, **kwargs)
def IfcFooting(*args, **kwargs): return ifcopenshell.create_entity('IfcFooting', 'IFC2X3', *args, **kwargs)
def IfcFuelProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcFuelProperties', 'IFC2X3', *args, **kwargs)
def IfcFurnishingElement(*args, **kwargs): return ifcopenshell.create_entity('IfcFurnishingElement', 'IFC2X3', *args, **kwargs)
def IfcFurnishingElementType(*args, **kwargs): return ifcopenshell.create_entity('IfcFurnishingElementType', 'IFC2X3', *args, **kwargs)
def IfcFurnitureStandard(*args, **kwargs): return ifcopenshell.create_entity('IfcFurnitureStandard', 'IFC2X3', *args, **kwargs)
def IfcFurnitureType(*args, **kwargs): return ifcopenshell.create_entity('IfcFurnitureType', 'IFC2X3', *args, **kwargs)
def IfcGasTerminalType(*args, **kwargs): return ifcopenshell.create_entity('IfcGasTerminalType', 'IFC2X3', *args, **kwargs)
def IfcGeneralMaterialProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcGeneralMaterialProperties', 'IFC2X3', *args, **kwargs)
def IfcGeneralProfileProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcGeneralProfileProperties', 'IFC2X3', *args, **kwargs)
def IfcGeometricCurveSet(*args, **kwargs): return ifcopenshell.create_entity('IfcGeometricCurveSet', 'IFC2X3', *args, **kwargs)
def IfcGeometricRepresentationContext(*args, **kwargs): return ifcopenshell.create_entity('IfcGeometricRepresentationContext', 'IFC2X3', *args, **kwargs)
def IfcGeometricRepresentationItem(*args, **kwargs): return ifcopenshell.create_entity('IfcGeometricRepresentationItem', 'IFC2X3', *args, **kwargs)
def IfcGeometricRepresentationSubContext(*args, **kwargs): return ifcopenshell.create_entity('IfcGeometricRepresentationSubContext', 'IFC2X3', *args, **kwargs)
def IfcGeometricSet(*args, **kwargs): return ifcopenshell.create_entity('IfcGeometricSet', 'IFC2X3', *args, **kwargs)
def IfcGrid(*args, **kwargs): return ifcopenshell.create_entity('IfcGrid', 'IFC2X3', *args, **kwargs)
def IfcGridAxis(*args, **kwargs): return ifcopenshell.create_entity('IfcGridAxis', 'IFC2X3', *args, **kwargs)
def IfcGridPlacement(*args, **kwargs): return ifcopenshell.create_entity('IfcGridPlacement', 'IFC2X3', *args, **kwargs)
def IfcGroup(*args, **kwargs): return ifcopenshell.create_entity('IfcGroup', 'IFC2X3', *args, **kwargs)
def IfcHalfSpaceSolid(*args, **kwargs): return ifcopenshell.create_entity('IfcHalfSpaceSolid', 'IFC2X3', *args, **kwargs)
def IfcHeatExchangerType(*args, **kwargs): return ifcopenshell.create_entity('IfcHeatExchangerType', 'IFC2X3', *args, **kwargs)
def IfcHumidifierType(*args, **kwargs): return ifcopenshell.create_entity('IfcHumidifierType', 'IFC2X3', *args, **kwargs)
def IfcHygroscopicMaterialProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcHygroscopicMaterialProperties', 'IFC2X3', *args, **kwargs)
def IfcIShapeProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcIShapeProfileDef', 'IFC2X3', *args, **kwargs)
def IfcImageTexture(*args, **kwargs): return ifcopenshell.create_entity('IfcImageTexture', 'IFC2X3', *args, **kwargs)
def IfcInventory(*args, **kwargs): return ifcopenshell.create_entity('IfcInventory', 'IFC2X3', *args, **kwargs)
def IfcIrregularTimeSeries(*args, **kwargs): return ifcopenshell.create_entity('IfcIrregularTimeSeries', 'IFC2X3', *args, **kwargs)
def IfcIrregularTimeSeriesValue(*args, **kwargs): return ifcopenshell.create_entity('IfcIrregularTimeSeriesValue', 'IFC2X3', *args, **kwargs)
def IfcJunctionBoxType(*args, **kwargs): return ifcopenshell.create_entity('IfcJunctionBoxType', 'IFC2X3', *args, **kwargs)
def IfcLShapeProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcLShapeProfileDef', 'IFC2X3', *args, **kwargs)
def IfcLaborResource(*args, **kwargs): return ifcopenshell.create_entity('IfcLaborResource', 'IFC2X3', *args, **kwargs)
def IfcLampType(*args, **kwargs): return ifcopenshell.create_entity('IfcLampType', 'IFC2X3', *args, **kwargs)
def IfcLibraryInformation(*args, **kwargs): return ifcopenshell.create_entity('IfcLibraryInformation', 'IFC2X3', *args, **kwargs)
def IfcLibraryReference(*args, **kwargs): return ifcopenshell.create_entity('IfcLibraryReference', 'IFC2X3', *args, **kwargs)
def IfcLightDistributionData(*args, **kwargs): return ifcopenshell.create_entity('IfcLightDistributionData', 'IFC2X3', *args, **kwargs)
def IfcLightFixtureType(*args, **kwargs): return ifcopenshell.create_entity('IfcLightFixtureType', 'IFC2X3', *args, **kwargs)
def IfcLightIntensityDistribution(*args, **kwargs): return ifcopenshell.create_entity('IfcLightIntensityDistribution', 'IFC2X3', *args, **kwargs)
def IfcLightSource(*args, **kwargs): return ifcopenshell.create_entity('IfcLightSource', 'IFC2X3', *args, **kwargs)
def IfcLightSourceAmbient(*args, **kwargs): return ifcopenshell.create_entity('IfcLightSourceAmbient', 'IFC2X3', *args, **kwargs)
def IfcLightSourceDirectional(*args, **kwargs): return ifcopenshell.create_entity('IfcLightSourceDirectional', 'IFC2X3', *args, **kwargs)
def IfcLightSourceGoniometric(*args, **kwargs): return ifcopenshell.create_entity('IfcLightSourceGoniometric', 'IFC2X3', *args, **kwargs)
def IfcLightSourcePositional(*args, **kwargs): return ifcopenshell.create_entity('IfcLightSourcePositional', 'IFC2X3', *args, **kwargs)
def IfcLightSourceSpot(*args, **kwargs): return ifcopenshell.create_entity('IfcLightSourceSpot', 'IFC2X3', *args, **kwargs)
def IfcLine(*args, **kwargs): return ifcopenshell.create_entity('IfcLine', 'IFC2X3', *args, **kwargs)
def IfcLinearDimension(*args, **kwargs): return ifcopenshell.create_entity('IfcLinearDimension', 'IFC2X3', *args, **kwargs)
def IfcLocalPlacement(*args, **kwargs): return ifcopenshell.create_entity('IfcLocalPlacement', 'IFC2X3', *args, **kwargs)
def IfcLocalTime(*args, **kwargs): return ifcopenshell.create_entity('IfcLocalTime', 'IFC2X3', *args, **kwargs)
def IfcLoop(*args, **kwargs): return ifcopenshell.create_entity('IfcLoop', 'IFC2X3', *args, **kwargs)
def IfcManifoldSolidBrep(*args, **kwargs): return ifcopenshell.create_entity('IfcManifoldSolidBrep', 'IFC2X3', *args, **kwargs)
def IfcMappedItem(*args, **kwargs): return ifcopenshell.create_entity('IfcMappedItem', 'IFC2X3', *args, **kwargs)
def IfcMaterial(*args, **kwargs): return ifcopenshell.create_entity('IfcMaterial', 'IFC2X3', *args, **kwargs)
def IfcMaterialClassificationRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcMaterialClassificationRelationship', 'IFC2X3', *args, **kwargs)
def IfcMaterialDefinitionRepresentation(*args, **kwargs): return ifcopenshell.create_entity('IfcMaterialDefinitionRepresentation', 'IFC2X3', *args, **kwargs)
def IfcMaterialLayer(*args, **kwargs): return ifcopenshell.create_entity('IfcMaterialLayer', 'IFC2X3', *args, **kwargs)
def IfcMaterialLayerSet(*args, **kwargs): return ifcopenshell.create_entity('IfcMaterialLayerSet', 'IFC2X3', *args, **kwargs)
def IfcMaterialLayerSetUsage(*args, **kwargs): return ifcopenshell.create_entity('IfcMaterialLayerSetUsage', 'IFC2X3', *args, **kwargs)
def IfcMaterialList(*args, **kwargs): return ifcopenshell.create_entity('IfcMaterialList', 'IFC2X3', *args, **kwargs)
def IfcMaterialProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcMaterialProperties', 'IFC2X3', *args, **kwargs)
def IfcMeasureWithUnit(*args, **kwargs): return ifcopenshell.create_entity('IfcMeasureWithUnit', 'IFC2X3', *args, **kwargs)
def IfcMechanicalConcreteMaterialProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcMechanicalConcreteMaterialProperties', 'IFC2X3', *args, **kwargs)
def IfcMechanicalFastener(*args, **kwargs): return ifcopenshell.create_entity('IfcMechanicalFastener', 'IFC2X3', *args, **kwargs)
def IfcMechanicalFastenerType(*args, **kwargs): return ifcopenshell.create_entity('IfcMechanicalFastenerType', 'IFC2X3', *args, **kwargs)
def IfcMechanicalMaterialProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcMechanicalMaterialProperties', 'IFC2X3', *args, **kwargs)
def IfcMechanicalSteelMaterialProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcMechanicalSteelMaterialProperties', 'IFC2X3', *args, **kwargs)
def IfcMember(*args, **kwargs): return ifcopenshell.create_entity('IfcMember', 'IFC2X3', *args, **kwargs)
def IfcMemberType(*args, **kwargs): return ifcopenshell.create_entity('IfcMemberType', 'IFC2X3', *args, **kwargs)
def IfcMetric(*args, **kwargs): return ifcopenshell.create_entity('IfcMetric', 'IFC2X3', *args, **kwargs)
def IfcMonetaryUnit(*args, **kwargs): return ifcopenshell.create_entity('IfcMonetaryUnit', 'IFC2X3', *args, **kwargs)
def IfcMotorConnectionType(*args, **kwargs): return ifcopenshell.create_entity('IfcMotorConnectionType', 'IFC2X3', *args, **kwargs)
def IfcMove(*args, **kwargs): return ifcopenshell.create_entity('IfcMove', 'IFC2X3', *args, **kwargs)
def IfcNamedUnit(*args, **kwargs): return ifcopenshell.create_entity('IfcNamedUnit', 'IFC2X3', *args, **kwargs)
def IfcObject(*args, **kwargs): return ifcopenshell.create_entity('IfcObject', 'IFC2X3', *args, **kwargs)
def IfcObjectDefinition(*args, **kwargs): return ifcopenshell.create_entity('IfcObjectDefinition', 'IFC2X3', *args, **kwargs)
def IfcObjectPlacement(*args, **kwargs): return ifcopenshell.create_entity('IfcObjectPlacement', 'IFC2X3', *args, **kwargs)
def IfcObjective(*args, **kwargs): return ifcopenshell.create_entity('IfcObjective', 'IFC2X3', *args, **kwargs)
def IfcOccupant(*args, **kwargs): return ifcopenshell.create_entity('IfcOccupant', 'IFC2X3', *args, **kwargs)
def IfcOffsetCurve2D(*args, **kwargs): return ifcopenshell.create_entity('IfcOffsetCurve2D', 'IFC2X3', *args, **kwargs)
def IfcOffsetCurve3D(*args, **kwargs): return ifcopenshell.create_entity('IfcOffsetCurve3D', 'IFC2X3', *args, **kwargs)
def IfcOneDirectionRepeatFactor(*args, **kwargs): return ifcopenshell.create_entity('IfcOneDirectionRepeatFactor', 'IFC2X3', *args, **kwargs)
def IfcOpenShell(*args, **kwargs): return ifcopenshell.create_entity('IfcOpenShell', 'IFC2X3', *args, **kwargs)
def IfcOpeningElement(*args, **kwargs): return ifcopenshell.create_entity('IfcOpeningElement', 'IFC2X3', *args, **kwargs)
def IfcOpticalMaterialProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcOpticalMaterialProperties', 'IFC2X3', *args, **kwargs)
def IfcOrderAction(*args, **kwargs): return ifcopenshell.create_entity('IfcOrderAction', 'IFC2X3', *args, **kwargs)
def IfcOrganization(*args, **kwargs): return ifcopenshell.create_entity('IfcOrganization', 'IFC2X3', *args, **kwargs)
def IfcOrganizationRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcOrganizationRelationship', 'IFC2X3', *args, **kwargs)
def IfcOrientedEdge(*args, **kwargs): return ifcopenshell.create_entity('IfcOrientedEdge', 'IFC2X3', *args, **kwargs)
def IfcOutletType(*args, **kwargs): return ifcopenshell.create_entity('IfcOutletType', 'IFC2X3', *args, **kwargs)
def IfcOwnerHistory(*args, **kwargs): return ifcopenshell.create_entity('IfcOwnerHistory', 'IFC2X3', *args, **kwargs)
def IfcParameterizedProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcParameterizedProfileDef', 'IFC2X3', *args, **kwargs)
def IfcPath(*args, **kwargs): return ifcopenshell.create_entity('IfcPath', 'IFC2X3', *args, **kwargs)
def IfcPerformanceHistory(*args, **kwargs): return ifcopenshell.create_entity('IfcPerformanceHistory', 'IFC2X3', *args, **kwargs)
def IfcPermeableCoveringProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcPermeableCoveringProperties', 'IFC2X3', *args, **kwargs)
def IfcPermit(*args, **kwargs): return ifcopenshell.create_entity('IfcPermit', 'IFC2X3', *args, **kwargs)
def IfcPerson(*args, **kwargs): return ifcopenshell.create_entity('IfcPerson', 'IFC2X3', *args, **kwargs)
def IfcPersonAndOrganization(*args, **kwargs): return ifcopenshell.create_entity('IfcPersonAndOrganization', 'IFC2X3', *args, **kwargs)
def IfcPhysicalComplexQuantity(*args, **kwargs): return ifcopenshell.create_entity('IfcPhysicalComplexQuantity', 'IFC2X3', *args, **kwargs)
def IfcPhysicalQuantity(*args, **kwargs): return ifcopenshell.create_entity('IfcPhysicalQuantity', 'IFC2X3', *args, **kwargs)
def IfcPhysicalSimpleQuantity(*args, **kwargs): return ifcopenshell.create_entity('IfcPhysicalSimpleQuantity', 'IFC2X3', *args, **kwargs)
def IfcPile(*args, **kwargs): return ifcopenshell.create_entity('IfcPile', 'IFC2X3', *args, **kwargs)
def IfcPipeFittingType(*args, **kwargs): return ifcopenshell.create_entity('IfcPipeFittingType', 'IFC2X3', *args, **kwargs)
def IfcPipeSegmentType(*args, **kwargs): return ifcopenshell.create_entity('IfcPipeSegmentType', 'IFC2X3', *args, **kwargs)
def IfcPixelTexture(*args, **kwargs): return ifcopenshell.create_entity('IfcPixelTexture', 'IFC2X3', *args, **kwargs)
def IfcPlacement(*args, **kwargs): return ifcopenshell.create_entity('IfcPlacement', 'IFC2X3', *args, **kwargs)
def IfcPlanarBox(*args, **kwargs): return ifcopenshell.create_entity('IfcPlanarBox', 'IFC2X3', *args, **kwargs)
def IfcPlanarExtent(*args, **kwargs): return ifcopenshell.create_entity('IfcPlanarExtent', 'IFC2X3', *args, **kwargs)
def IfcPlane(*args, **kwargs): return ifcopenshell.create_entity('IfcPlane', 'IFC2X3', *args, **kwargs)
def IfcPlate(*args, **kwargs): return ifcopenshell.create_entity('IfcPlate', 'IFC2X3', *args, **kwargs)
def IfcPlateType(*args, **kwargs): return ifcopenshell.create_entity('IfcPlateType', 'IFC2X3', *args, **kwargs)
def IfcPoint(*args, **kwargs): return ifcopenshell.create_entity('IfcPoint', 'IFC2X3', *args, **kwargs)
def IfcPointOnCurve(*args, **kwargs): return ifcopenshell.create_entity('IfcPointOnCurve', 'IFC2X3', *args, **kwargs)
def IfcPointOnSurface(*args, **kwargs): return ifcopenshell.create_entity('IfcPointOnSurface', 'IFC2X3', *args, **kwargs)
def IfcPolyLoop(*args, **kwargs): return ifcopenshell.create_entity('IfcPolyLoop', 'IFC2X3', *args, **kwargs)
def IfcPolygonalBoundedHalfSpace(*args, **kwargs): return ifcopenshell.create_entity('IfcPolygonalBoundedHalfSpace', 'IFC2X3', *args, **kwargs)
def IfcPolyline(*args, **kwargs): return ifcopenshell.create_entity('IfcPolyline', 'IFC2X3', *args, **kwargs)
def IfcPort(*args, **kwargs): return ifcopenshell.create_entity('IfcPort', 'IFC2X3', *args, **kwargs)
def IfcPostalAddress(*args, **kwargs): return ifcopenshell.create_entity('IfcPostalAddress', 'IFC2X3', *args, **kwargs)
def IfcPreDefinedColour(*args, **kwargs): return ifcopenshell.create_entity('IfcPreDefinedColour', 'IFC2X3', *args, **kwargs)
def IfcPreDefinedCurveFont(*args, **kwargs): return ifcopenshell.create_entity('IfcPreDefinedCurveFont', 'IFC2X3', *args, **kwargs)
def IfcPreDefinedDimensionSymbol(*args, **kwargs): return ifcopenshell.create_entity('IfcPreDefinedDimensionSymbol', 'IFC2X3', *args, **kwargs)
def IfcPreDefinedItem(*args, **kwargs): return ifcopenshell.create_entity('IfcPreDefinedItem', 'IFC2X3', *args, **kwargs)
def IfcPreDefinedPointMarkerSymbol(*args, **kwargs): return ifcopenshell.create_entity('IfcPreDefinedPointMarkerSymbol', 'IFC2X3', *args, **kwargs)
def IfcPreDefinedSymbol(*args, **kwargs): return ifcopenshell.create_entity('IfcPreDefinedSymbol', 'IFC2X3', *args, **kwargs)
def IfcPreDefinedTerminatorSymbol(*args, **kwargs): return ifcopenshell.create_entity('IfcPreDefinedTerminatorSymbol', 'IFC2X3', *args, **kwargs)
def IfcPreDefinedTextFont(*args, **kwargs): return ifcopenshell.create_entity('IfcPreDefinedTextFont', 'IFC2X3', *args, **kwargs)
def IfcPresentationLayerAssignment(*args, **kwargs): return ifcopenshell.create_entity('IfcPresentationLayerAssignment', 'IFC2X3', *args, **kwargs)
def IfcPresentationLayerWithStyle(*args, **kwargs): return ifcopenshell.create_entity('IfcPresentationLayerWithStyle', 'IFC2X3', *args, **kwargs)
def IfcPresentationStyle(*args, **kwargs): return ifcopenshell.create_entity('IfcPresentationStyle', 'IFC2X3', *args, **kwargs)
def IfcPresentationStyleAssignment(*args, **kwargs): return ifcopenshell.create_entity('IfcPresentationStyleAssignment', 'IFC2X3', *args, **kwargs)
def IfcProcedure(*args, **kwargs): return ifcopenshell.create_entity('IfcProcedure', 'IFC2X3', *args, **kwargs)
def IfcProcess(*args, **kwargs): return ifcopenshell.create_entity('IfcProcess', 'IFC2X3', *args, **kwargs)
def IfcProduct(*args, **kwargs): return ifcopenshell.create_entity('IfcProduct', 'IFC2X3', *args, **kwargs)
def IfcProductDefinitionShape(*args, **kwargs): return ifcopenshell.create_entity('IfcProductDefinitionShape', 'IFC2X3', *args, **kwargs)
def IfcProductRepresentation(*args, **kwargs): return ifcopenshell.create_entity('IfcProductRepresentation', 'IFC2X3', *args, **kwargs)
def IfcProductsOfCombustionProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcProductsOfCombustionProperties', 'IFC2X3', *args, **kwargs)
def IfcProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcProfileDef', 'IFC2X3', *args, **kwargs)
def IfcProfileProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcProfileProperties', 'IFC2X3', *args, **kwargs)
def IfcProject(*args, **kwargs): return ifcopenshell.create_entity('IfcProject', 'IFC2X3', *args, **kwargs)
def IfcProjectOrder(*args, **kwargs): return ifcopenshell.create_entity('IfcProjectOrder', 'IFC2X3', *args, **kwargs)
def IfcProjectOrderRecord(*args, **kwargs): return ifcopenshell.create_entity('IfcProjectOrderRecord', 'IFC2X3', *args, **kwargs)
def IfcProjectionCurve(*args, **kwargs): return ifcopenshell.create_entity('IfcProjectionCurve', 'IFC2X3', *args, **kwargs)
def IfcProjectionElement(*args, **kwargs): return ifcopenshell.create_entity('IfcProjectionElement', 'IFC2X3', *args, **kwargs)
def IfcProperty(*args, **kwargs): return ifcopenshell.create_entity('IfcProperty', 'IFC2X3', *args, **kwargs)
def IfcPropertyBoundedValue(*args, **kwargs): return ifcopenshell.create_entity('IfcPropertyBoundedValue', 'IFC2X3', *args, **kwargs)
def IfcPropertyConstraintRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcPropertyConstraintRelationship', 'IFC2X3', *args, **kwargs)
def IfcPropertyDefinition(*args, **kwargs): return ifcopenshell.create_entity('IfcPropertyDefinition', 'IFC2X3', *args, **kwargs)
def IfcPropertyDependencyRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcPropertyDependencyRelationship', 'IFC2X3', *args, **kwargs)
def IfcPropertyEnumeratedValue(*args, **kwargs): return ifcopenshell.create_entity('IfcPropertyEnumeratedValue', 'IFC2X3', *args, **kwargs)
def IfcPropertyEnumeration(*args, **kwargs): return ifcopenshell.create_entity('IfcPropertyEnumeration', 'IFC2X3', *args, **kwargs)
def IfcPropertyListValue(*args, **kwargs): return ifcopenshell.create_entity('IfcPropertyListValue', 'IFC2X3', *args, **kwargs)
def IfcPropertyReferenceValue(*args, **kwargs): return ifcopenshell.create_entity('IfcPropertyReferenceValue', 'IFC2X3', *args, **kwargs)
def IfcPropertySet(*args, **kwargs): return ifcopenshell.create_entity('IfcPropertySet', 'IFC2X3', *args, **kwargs)
def IfcPropertySetDefinition(*args, **kwargs): return ifcopenshell.create_entity('IfcPropertySetDefinition', 'IFC2X3', *args, **kwargs)
def IfcPropertySingleValue(*args, **kwargs): return ifcopenshell.create_entity('IfcPropertySingleValue', 'IFC2X3', *args, **kwargs)
def IfcPropertyTableValue(*args, **kwargs): return ifcopenshell.create_entity('IfcPropertyTableValue', 'IFC2X3', *args, **kwargs)
def IfcProtectiveDeviceType(*args, **kwargs): return ifcopenshell.create_entity('IfcProtectiveDeviceType', 'IFC2X3', *args, **kwargs)
def IfcProxy(*args, **kwargs): return ifcopenshell.create_entity('IfcProxy', 'IFC2X3', *args, **kwargs)
def IfcPumpType(*args, **kwargs): return ifcopenshell.create_entity('IfcPumpType', 'IFC2X3', *args, **kwargs)
def IfcQuantityArea(*args, **kwargs): return ifcopenshell.create_entity('IfcQuantityArea', 'IFC2X3', *args, **kwargs)
def IfcQuantityCount(*args, **kwargs): return ifcopenshell.create_entity('IfcQuantityCount', 'IFC2X3', *args, **kwargs)
def IfcQuantityLength(*args, **kwargs): return ifcopenshell.create_entity('IfcQuantityLength', 'IFC2X3', *args, **kwargs)
def IfcQuantityTime(*args, **kwargs): return ifcopenshell.create_entity('IfcQuantityTime', 'IFC2X3', *args, **kwargs)
def IfcQuantityVolume(*args, **kwargs): return ifcopenshell.create_entity('IfcQuantityVolume', 'IFC2X3', *args, **kwargs)
def IfcQuantityWeight(*args, **kwargs): return ifcopenshell.create_entity('IfcQuantityWeight', 'IFC2X3', *args, **kwargs)
def IfcRadiusDimension(*args, **kwargs): return ifcopenshell.create_entity('IfcRadiusDimension', 'IFC2X3', *args, **kwargs)
def IfcRailing(*args, **kwargs): return ifcopenshell.create_entity('IfcRailing', 'IFC2X3', *args, **kwargs)
def IfcRailingType(*args, **kwargs): return ifcopenshell.create_entity('IfcRailingType', 'IFC2X3', *args, **kwargs)
def IfcRamp(*args, **kwargs): return ifcopenshell.create_entity('IfcRamp', 'IFC2X3', *args, **kwargs)
def IfcRampFlight(*args, **kwargs): return ifcopenshell.create_entity('IfcRampFlight', 'IFC2X3', *args, **kwargs)
def IfcRampFlightType(*args, **kwargs): return ifcopenshell.create_entity('IfcRampFlightType', 'IFC2X3', *args, **kwargs)
def IfcRationalBezierCurve(*args, **kwargs): return ifcopenshell.create_entity('IfcRationalBezierCurve', 'IFC2X3', *args, **kwargs)
def IfcRectangleHollowProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcRectangleHollowProfileDef', 'IFC2X3', *args, **kwargs)
def IfcRectangleProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcRectangleProfileDef', 'IFC2X3', *args, **kwargs)
def IfcRectangularPyramid(*args, **kwargs): return ifcopenshell.create_entity('IfcRectangularPyramid', 'IFC2X3', *args, **kwargs)
def IfcRectangularTrimmedSurface(*args, **kwargs): return ifcopenshell.create_entity('IfcRectangularTrimmedSurface', 'IFC2X3', *args, **kwargs)
def IfcReferencesValueDocument(*args, **kwargs): return ifcopenshell.create_entity('IfcReferencesValueDocument', 'IFC2X3', *args, **kwargs)
def IfcRegularTimeSeries(*args, **kwargs): return ifcopenshell.create_entity('IfcRegularTimeSeries', 'IFC2X3', *args, **kwargs)
def IfcReinforcementBarProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcReinforcementBarProperties', 'IFC2X3', *args, **kwargs)
def IfcReinforcementDefinitionProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcReinforcementDefinitionProperties', 'IFC2X3', *args, **kwargs)
def IfcReinforcingBar(*args, **kwargs): return ifcopenshell.create_entity('IfcReinforcingBar', 'IFC2X3', *args, **kwargs)
def IfcReinforcingElement(*args, **kwargs): return ifcopenshell.create_entity('IfcReinforcingElement', 'IFC2X3', *args, **kwargs)
def IfcReinforcingMesh(*args, **kwargs): return ifcopenshell.create_entity('IfcReinforcingMesh', 'IFC2X3', *args, **kwargs)
def IfcRelAggregates(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAggregates', 'IFC2X3', *args, **kwargs)
def IfcRelAssigns(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssigns', 'IFC2X3', *args, **kwargs)
def IfcRelAssignsTasks(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssignsTasks', 'IFC2X3', *args, **kwargs)
def IfcRelAssignsToActor(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssignsToActor', 'IFC2X3', *args, **kwargs)
def IfcRelAssignsToControl(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssignsToControl', 'IFC2X3', *args, **kwargs)
def IfcRelAssignsToGroup(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssignsToGroup', 'IFC2X3', *args, **kwargs)
def IfcRelAssignsToProcess(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssignsToProcess', 'IFC2X3', *args, **kwargs)
def IfcRelAssignsToProduct(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssignsToProduct', 'IFC2X3', *args, **kwargs)
def IfcRelAssignsToProjectOrder(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssignsToProjectOrder', 'IFC2X3', *args, **kwargs)
def IfcRelAssignsToResource(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssignsToResource', 'IFC2X3', *args, **kwargs)
def IfcRelAssociates(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssociates', 'IFC2X3', *args, **kwargs)
def IfcRelAssociatesAppliedValue(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssociatesAppliedValue', 'IFC2X3', *args, **kwargs)
def IfcRelAssociatesApproval(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssociatesApproval', 'IFC2X3', *args, **kwargs)
def IfcRelAssociatesClassification(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssociatesClassification', 'IFC2X3', *args, **kwargs)
def IfcRelAssociatesConstraint(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssociatesConstraint', 'IFC2X3', *args, **kwargs)
def IfcRelAssociatesDocument(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssociatesDocument', 'IFC2X3', *args, **kwargs)
def IfcRelAssociatesLibrary(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssociatesLibrary', 'IFC2X3', *args, **kwargs)
def IfcRelAssociatesMaterial(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssociatesMaterial', 'IFC2X3', *args, **kwargs)
def IfcRelAssociatesProfileProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcRelAssociatesProfileProperties', 'IFC2X3', *args, **kwargs)
def IfcRelConnects(*args, **kwargs): return ifcopenshell.create_entity('IfcRelConnects', 'IFC2X3', *args, **kwargs)
def IfcRelConnectsElements(*args, **kwargs): return ifcopenshell.create_entity('IfcRelConnectsElements', 'IFC2X3', *args, **kwargs)
def IfcRelConnectsPathElements(*args, **kwargs): return ifcopenshell.create_entity('IfcRelConnectsPathElements', 'IFC2X3', *args, **kwargs)
def IfcRelConnectsPortToElement(*args, **kwargs): return ifcopenshell.create_entity('IfcRelConnectsPortToElement', 'IFC2X3', *args, **kwargs)
def IfcRelConnectsPorts(*args, **kwargs): return ifcopenshell.create_entity('IfcRelConnectsPorts', 'IFC2X3', *args, **kwargs)
def IfcRelConnectsStructuralActivity(*args, **kwargs): return ifcopenshell.create_entity('IfcRelConnectsStructuralActivity', 'IFC2X3', *args, **kwargs)
def IfcRelConnectsStructuralElement(*args, **kwargs): return ifcopenshell.create_entity('IfcRelConnectsStructuralElement', 'IFC2X3', *args, **kwargs)
def IfcRelConnectsStructuralMember(*args, **kwargs): return ifcopenshell.create_entity('IfcRelConnectsStructuralMember', 'IFC2X3', *args, **kwargs)
def IfcRelConnectsWithEccentricity(*args, **kwargs): return ifcopenshell.create_entity('IfcRelConnectsWithEccentricity', 'IFC2X3', *args, **kwargs)
def IfcRelConnectsWithRealizingElements(*args, **kwargs): return ifcopenshell.create_entity('IfcRelConnectsWithRealizingElements', 'IFC2X3', *args, **kwargs)
def IfcRelContainedInSpatialStructure(*args, **kwargs): return ifcopenshell.create_entity('IfcRelContainedInSpatialStructure', 'IFC2X3', *args, **kwargs)
def IfcRelCoversBldgElements(*args, **kwargs): return ifcopenshell.create_entity('IfcRelCoversBldgElements', 'IFC2X3', *args, **kwargs)
def IfcRelCoversSpaces(*args, **kwargs): return ifcopenshell.create_entity('IfcRelCoversSpaces', 'IFC2X3', *args, **kwargs)
def IfcRelDecomposes(*args, **kwargs): return ifcopenshell.create_entity('IfcRelDecomposes', 'IFC2X3', *args, **kwargs)
def IfcRelDefines(*args, **kwargs): return ifcopenshell.create_entity('IfcRelDefines', 'IFC2X3', *args, **kwargs)
def IfcRelDefinesByProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcRelDefinesByProperties', 'IFC2X3', *args, **kwargs)
def IfcRelDefinesByType(*args, **kwargs): return ifcopenshell.create_entity('IfcRelDefinesByType', 'IFC2X3', *args, **kwargs)
def IfcRelFillsElement(*args, **kwargs): return ifcopenshell.create_entity('IfcRelFillsElement', 'IFC2X3', *args, **kwargs)
def IfcRelFlowControlElements(*args, **kwargs): return ifcopenshell.create_entity('IfcRelFlowControlElements', 'IFC2X3', *args, **kwargs)
def IfcRelInteractionRequirements(*args, **kwargs): return ifcopenshell.create_entity('IfcRelInteractionRequirements', 'IFC2X3', *args, **kwargs)
def IfcRelNests(*args, **kwargs): return ifcopenshell.create_entity('IfcRelNests', 'IFC2X3', *args, **kwargs)
def IfcRelOccupiesSpaces(*args, **kwargs): return ifcopenshell.create_entity('IfcRelOccupiesSpaces', 'IFC2X3', *args, **kwargs)
def IfcRelOverridesProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcRelOverridesProperties', 'IFC2X3', *args, **kwargs)
def IfcRelProjectsElement(*args, **kwargs): return ifcopenshell.create_entity('IfcRelProjectsElement', 'IFC2X3', *args, **kwargs)
def IfcRelReferencedInSpatialStructure(*args, **kwargs): return ifcopenshell.create_entity('IfcRelReferencedInSpatialStructure', 'IFC2X3', *args, **kwargs)
def IfcRelSchedulesCostItems(*args, **kwargs): return ifcopenshell.create_entity('IfcRelSchedulesCostItems', 'IFC2X3', *args, **kwargs)
def IfcRelSequence(*args, **kwargs): return ifcopenshell.create_entity('IfcRelSequence', 'IFC2X3', *args, **kwargs)
def IfcRelServicesBuildings(*args, **kwargs): return ifcopenshell.create_entity('IfcRelServicesBuildings', 'IFC2X3', *args, **kwargs)
def IfcRelSpaceBoundary(*args, **kwargs): return ifcopenshell.create_entity('IfcRelSpaceBoundary', 'IFC2X3', *args, **kwargs)
def IfcRelVoidsElement(*args, **kwargs): return ifcopenshell.create_entity('IfcRelVoidsElement', 'IFC2X3', *args, **kwargs)
def IfcRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcRelationship', 'IFC2X3', *args, **kwargs)
def IfcRelaxation(*args, **kwargs): return ifcopenshell.create_entity('IfcRelaxation', 'IFC2X3', *args, **kwargs)
def IfcRepresentation(*args, **kwargs): return ifcopenshell.create_entity('IfcRepresentation', 'IFC2X3', *args, **kwargs)
def IfcRepresentationContext(*args, **kwargs): return ifcopenshell.create_entity('IfcRepresentationContext', 'IFC2X3', *args, **kwargs)
def IfcRepresentationItem(*args, **kwargs): return ifcopenshell.create_entity('IfcRepresentationItem', 'IFC2X3', *args, **kwargs)
def IfcRepresentationMap(*args, **kwargs): return ifcopenshell.create_entity('IfcRepresentationMap', 'IFC2X3', *args, **kwargs)
def IfcResource(*args, **kwargs): return ifcopenshell.create_entity('IfcResource', 'IFC2X3', *args, **kwargs)
def IfcRevolvedAreaSolid(*args, **kwargs): return ifcopenshell.create_entity('IfcRevolvedAreaSolid', 'IFC2X3', *args, **kwargs)
def IfcRibPlateProfileProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcRibPlateProfileProperties', 'IFC2X3', *args, **kwargs)
def IfcRightCircularCone(*args, **kwargs): return ifcopenshell.create_entity('IfcRightCircularCone', 'IFC2X3', *args, **kwargs)
def IfcRightCircularCylinder(*args, **kwargs): return ifcopenshell.create_entity('IfcRightCircularCylinder', 'IFC2X3', *args, **kwargs)
def IfcRoof(*args, **kwargs): return ifcopenshell.create_entity('IfcRoof', 'IFC2X3', *args, **kwargs)
def IfcRoot(*args, **kwargs): return ifcopenshell.create_entity('IfcRoot', 'IFC2X3', *args, **kwargs)
def IfcRoundedEdgeFeature(*args, **kwargs): return ifcopenshell.create_entity('IfcRoundedEdgeFeature', 'IFC2X3', *args, **kwargs)
def IfcRoundedRectangleProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcRoundedRectangleProfileDef', 'IFC2X3', *args, **kwargs)
def IfcSIUnit(*args, **kwargs): return ifcopenshell.create_entity('IfcSIUnit', 'IFC2X3', *args, **kwargs)
def IfcSanitaryTerminalType(*args, **kwargs): return ifcopenshell.create_entity('IfcSanitaryTerminalType', 'IFC2X3', *args, **kwargs)
def IfcScheduleTimeControl(*args, **kwargs): return ifcopenshell.create_entity('IfcScheduleTimeControl', 'IFC2X3', *args, **kwargs)
def IfcSectionProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcSectionProperties', 'IFC2X3', *args, **kwargs)
def IfcSectionReinforcementProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcSectionReinforcementProperties', 'IFC2X3', *args, **kwargs)
def IfcSectionedSpine(*args, **kwargs): return ifcopenshell.create_entity('IfcSectionedSpine', 'IFC2X3', *args, **kwargs)
def IfcSensorType(*args, **kwargs): return ifcopenshell.create_entity('IfcSensorType', 'IFC2X3', *args, **kwargs)
def IfcServiceLife(*args, **kwargs): return ifcopenshell.create_entity('IfcServiceLife', 'IFC2X3', *args, **kwargs)
def IfcServiceLifeFactor(*args, **kwargs): return ifcopenshell.create_entity('IfcServiceLifeFactor', 'IFC2X3', *args, **kwargs)
def IfcShapeAspect(*args, **kwargs): return ifcopenshell.create_entity('IfcShapeAspect', 'IFC2X3', *args, **kwargs)
def IfcShapeModel(*args, **kwargs): return ifcopenshell.create_entity('IfcShapeModel', 'IFC2X3', *args, **kwargs)
def IfcShapeRepresentation(*args, **kwargs): return ifcopenshell.create_entity('IfcShapeRepresentation', 'IFC2X3', *args, **kwargs)
def IfcShellBasedSurfaceModel(*args, **kwargs): return ifcopenshell.create_entity('IfcShellBasedSurfaceModel', 'IFC2X3', *args, **kwargs)
def IfcSimpleProperty(*args, **kwargs): return ifcopenshell.create_entity('IfcSimpleProperty', 'IFC2X3', *args, **kwargs)
def IfcSite(*args, **kwargs): return ifcopenshell.create_entity('IfcSite', 'IFC2X3', *args, **kwargs)
def IfcSlab(*args, **kwargs): return ifcopenshell.create_entity('IfcSlab', 'IFC2X3', *args, **kwargs)
def IfcSlabType(*args, **kwargs): return ifcopenshell.create_entity('IfcSlabType', 'IFC2X3', *args, **kwargs)
def IfcSlippageConnectionCondition(*args, **kwargs): return ifcopenshell.create_entity('IfcSlippageConnectionCondition', 'IFC2X3', *args, **kwargs)
def IfcSolidModel(*args, **kwargs): return ifcopenshell.create_entity('IfcSolidModel', 'IFC2X3', *args, **kwargs)
def IfcSoundProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcSoundProperties', 'IFC2X3', *args, **kwargs)
def IfcSoundValue(*args, **kwargs): return ifcopenshell.create_entity('IfcSoundValue', 'IFC2X3', *args, **kwargs)
def IfcSpace(*args, **kwargs): return ifcopenshell.create_entity('IfcSpace', 'IFC2X3', *args, **kwargs)
def IfcSpaceHeaterType(*args, **kwargs): return ifcopenshell.create_entity('IfcSpaceHeaterType', 'IFC2X3', *args, **kwargs)
def IfcSpaceProgram(*args, **kwargs): return ifcopenshell.create_entity('IfcSpaceProgram', 'IFC2X3', *args, **kwargs)
def IfcSpaceThermalLoadProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcSpaceThermalLoadProperties', 'IFC2X3', *args, **kwargs)
def IfcSpaceType(*args, **kwargs): return ifcopenshell.create_entity('IfcSpaceType', 'IFC2X3', *args, **kwargs)
def IfcSpatialStructureElement(*args, **kwargs): return ifcopenshell.create_entity('IfcSpatialStructureElement', 'IFC2X3', *args, **kwargs)
def IfcSpatialStructureElementType(*args, **kwargs): return ifcopenshell.create_entity('IfcSpatialStructureElementType', 'IFC2X3', *args, **kwargs)
def IfcSphere(*args, **kwargs): return ifcopenshell.create_entity('IfcSphere', 'IFC2X3', *args, **kwargs)
def IfcStackTerminalType(*args, **kwargs): return ifcopenshell.create_entity('IfcStackTerminalType', 'IFC2X3', *args, **kwargs)
def IfcStair(*args, **kwargs): return ifcopenshell.create_entity('IfcStair', 'IFC2X3', *args, **kwargs)
def IfcStairFlight(*args, **kwargs): return ifcopenshell.create_entity('IfcStairFlight', 'IFC2X3', *args, **kwargs)
def IfcStairFlightType(*args, **kwargs): return ifcopenshell.create_entity('IfcStairFlightType', 'IFC2X3', *args, **kwargs)
def IfcStructuralAction(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralAction', 'IFC2X3', *args, **kwargs)
def IfcStructuralActivity(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralActivity', 'IFC2X3', *args, **kwargs)
def IfcStructuralAnalysisModel(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralAnalysisModel', 'IFC2X3', *args, **kwargs)
def IfcStructuralConnection(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralConnection', 'IFC2X3', *args, **kwargs)
def IfcStructuralConnectionCondition(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralConnectionCondition', 'IFC2X3', *args, **kwargs)
def IfcStructuralCurveConnection(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralCurveConnection', 'IFC2X3', *args, **kwargs)
def IfcStructuralCurveMember(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralCurveMember', 'IFC2X3', *args, **kwargs)
def IfcStructuralCurveMemberVarying(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralCurveMemberVarying', 'IFC2X3', *args, **kwargs)
def IfcStructuralItem(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralItem', 'IFC2X3', *args, **kwargs)
def IfcStructuralLinearAction(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralLinearAction', 'IFC2X3', *args, **kwargs)
def IfcStructuralLinearActionVarying(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralLinearActionVarying', 'IFC2X3', *args, **kwargs)
def IfcStructuralLoad(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralLoad', 'IFC2X3', *args, **kwargs)
def IfcStructuralLoadGroup(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralLoadGroup', 'IFC2X3', *args, **kwargs)
def IfcStructuralLoadLinearForce(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralLoadLinearForce', 'IFC2X3', *args, **kwargs)
def IfcStructuralLoadPlanarForce(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralLoadPlanarForce', 'IFC2X3', *args, **kwargs)
def IfcStructuralLoadSingleDisplacement(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralLoadSingleDisplacement', 'IFC2X3', *args, **kwargs)
def IfcStructuralLoadSingleDisplacementDistortion(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralLoadSingleDisplacementDistortion', 'IFC2X3', *args, **kwargs)
def IfcStructuralLoadSingleForce(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralLoadSingleForce', 'IFC2X3', *args, **kwargs)
def IfcStructuralLoadSingleForceWarping(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralLoadSingleForceWarping', 'IFC2X3', *args, **kwargs)
def IfcStructuralLoadStatic(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralLoadStatic', 'IFC2X3', *args, **kwargs)
def IfcStructuralLoadTemperature(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralLoadTemperature', 'IFC2X3', *args, **kwargs)
def IfcStructuralMember(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralMember', 'IFC2X3', *args, **kwargs)
def IfcStructuralPlanarAction(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralPlanarAction', 'IFC2X3', *args, **kwargs)
def IfcStructuralPlanarActionVarying(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralPlanarActionVarying', 'IFC2X3', *args, **kwargs)
def IfcStructuralPointAction(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralPointAction', 'IFC2X3', *args, **kwargs)
def IfcStructuralPointConnection(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralPointConnection', 'IFC2X3', *args, **kwargs)
def IfcStructuralPointReaction(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralPointReaction', 'IFC2X3', *args, **kwargs)
def IfcStructuralProfileProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralProfileProperties', 'IFC2X3', *args, **kwargs)
def IfcStructuralReaction(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralReaction', 'IFC2X3', *args, **kwargs)
def IfcStructuralResultGroup(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralResultGroup', 'IFC2X3', *args, **kwargs)
def IfcStructuralSteelProfileProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralSteelProfileProperties', 'IFC2X3', *args, **kwargs)
def IfcStructuralSurfaceConnection(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralSurfaceConnection', 'IFC2X3', *args, **kwargs)
def IfcStructuralSurfaceMember(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralSurfaceMember', 'IFC2X3', *args, **kwargs)
def IfcStructuralSurfaceMemberVarying(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuralSurfaceMemberVarying', 'IFC2X3', *args, **kwargs)
def IfcStructuredDimensionCallout(*args, **kwargs): return ifcopenshell.create_entity('IfcStructuredDimensionCallout', 'IFC2X3', *args, **kwargs)
def IfcStyleModel(*args, **kwargs): return ifcopenshell.create_entity('IfcStyleModel', 'IFC2X3', *args, **kwargs)
def IfcStyledItem(*args, **kwargs): return ifcopenshell.create_entity('IfcStyledItem', 'IFC2X3', *args, **kwargs)
def IfcStyledRepresentation(*args, **kwargs): return ifcopenshell.create_entity('IfcStyledRepresentation', 'IFC2X3', *args, **kwargs)
def IfcSubContractResource(*args, **kwargs): return ifcopenshell.create_entity('IfcSubContractResource', 'IFC2X3', *args, **kwargs)
def IfcSubedge(*args, **kwargs): return ifcopenshell.create_entity('IfcSubedge', 'IFC2X3', *args, **kwargs)
def IfcSurface(*args, **kwargs): return ifcopenshell.create_entity('IfcSurface', 'IFC2X3', *args, **kwargs)
def IfcSurfaceCurveSweptAreaSolid(*args, **kwargs): return ifcopenshell.create_entity('IfcSurfaceCurveSweptAreaSolid', 'IFC2X3', *args, **kwargs)
def IfcSurfaceOfLinearExtrusion(*args, **kwargs): return ifcopenshell.create_entity('IfcSurfaceOfLinearExtrusion', 'IFC2X3', *args, **kwargs)
def IfcSurfaceOfRevolution(*args, **kwargs): return ifcopenshell.create_entity('IfcSurfaceOfRevolution', 'IFC2X3', *args, **kwargs)
def IfcSurfaceStyle(*args, **kwargs): return ifcopenshell.create_entity('IfcSurfaceStyle', 'IFC2X3', *args, **kwargs)
def IfcSurfaceStyleLighting(*args, **kwargs): return ifcopenshell.create_entity('IfcSurfaceStyleLighting', 'IFC2X3', *args, **kwargs)
def IfcSurfaceStyleRefraction(*args, **kwargs): return ifcopenshell.create_entity('IfcSurfaceStyleRefraction', 'IFC2X3', *args, **kwargs)
def IfcSurfaceStyleRendering(*args, **kwargs): return ifcopenshell.create_entity('IfcSurfaceStyleRendering', 'IFC2X3', *args, **kwargs)
def IfcSurfaceStyleShading(*args, **kwargs): return ifcopenshell.create_entity('IfcSurfaceStyleShading', 'IFC2X3', *args, **kwargs)
def IfcSurfaceStyleWithTextures(*args, **kwargs): return ifcopenshell.create_entity('IfcSurfaceStyleWithTextures', 'IFC2X3', *args, **kwargs)
def IfcSurfaceTexture(*args, **kwargs): return ifcopenshell.create_entity('IfcSurfaceTexture', 'IFC2X3', *args, **kwargs)
def IfcSweptAreaSolid(*args, **kwargs): return ifcopenshell.create_entity('IfcSweptAreaSolid', 'IFC2X3', *args, **kwargs)
def IfcSweptDiskSolid(*args, **kwargs): return ifcopenshell.create_entity('IfcSweptDiskSolid', 'IFC2X3', *args, **kwargs)
def IfcSweptSurface(*args, **kwargs): return ifcopenshell.create_entity('IfcSweptSurface', 'IFC2X3', *args, **kwargs)
def IfcSwitchingDeviceType(*args, **kwargs): return ifcopenshell.create_entity('IfcSwitchingDeviceType', 'IFC2X3', *args, **kwargs)
def IfcSymbolStyle(*args, **kwargs): return ifcopenshell.create_entity('IfcSymbolStyle', 'IFC2X3', *args, **kwargs)
def IfcSystem(*args, **kwargs): return ifcopenshell.create_entity('IfcSystem', 'IFC2X3', *args, **kwargs)
def IfcSystemFurnitureElementType(*args, **kwargs): return ifcopenshell.create_entity('IfcSystemFurnitureElementType', 'IFC2X3', *args, **kwargs)
def IfcTShapeProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcTShapeProfileDef', 'IFC2X3', *args, **kwargs)
def IfcTable(*args, **kwargs): return ifcopenshell.create_entity('IfcTable', 'IFC2X3', *args, **kwargs)
def IfcTableRow(*args, **kwargs): return ifcopenshell.create_entity('IfcTableRow', 'IFC2X3', *args, **kwargs)
def IfcTankType(*args, **kwargs): return ifcopenshell.create_entity('IfcTankType', 'IFC2X3', *args, **kwargs)
def IfcTask(*args, **kwargs): return ifcopenshell.create_entity('IfcTask', 'IFC2X3', *args, **kwargs)
def IfcTelecomAddress(*args, **kwargs): return ifcopenshell.create_entity('IfcTelecomAddress', 'IFC2X3', *args, **kwargs)
def IfcTendon(*args, **kwargs): return ifcopenshell.create_entity('IfcTendon', 'IFC2X3', *args, **kwargs)
def IfcTendonAnchor(*args, **kwargs): return ifcopenshell.create_entity('IfcTendonAnchor', 'IFC2X3', *args, **kwargs)
def IfcTerminatorSymbol(*args, **kwargs): return ifcopenshell.create_entity('IfcTerminatorSymbol', 'IFC2X3', *args, **kwargs)
def IfcTextLiteral(*args, **kwargs): return ifcopenshell.create_entity('IfcTextLiteral', 'IFC2X3', *args, **kwargs)
def IfcTextLiteralWithExtent(*args, **kwargs): return ifcopenshell.create_entity('IfcTextLiteralWithExtent', 'IFC2X3', *args, **kwargs)
def IfcTextStyle(*args, **kwargs): return ifcopenshell.create_entity('IfcTextStyle', 'IFC2X3', *args, **kwargs)
def IfcTextStyleFontModel(*args, **kwargs): return ifcopenshell.create_entity('IfcTextStyleFontModel', 'IFC2X3', *args, **kwargs)
def IfcTextStyleForDefinedFont(*args, **kwargs): return ifcopenshell.create_entity('IfcTextStyleForDefinedFont', 'IFC2X3', *args, **kwargs)
def IfcTextStyleTextModel(*args, **kwargs): return ifcopenshell.create_entity('IfcTextStyleTextModel', 'IFC2X3', *args, **kwargs)
def IfcTextStyleWithBoxCharacteristics(*args, **kwargs): return ifcopenshell.create_entity('IfcTextStyleWithBoxCharacteristics', 'IFC2X3', *args, **kwargs)
def IfcTextureCoordinate(*args, **kwargs): return ifcopenshell.create_entity('IfcTextureCoordinate', 'IFC2X3', *args, **kwargs)
def IfcTextureCoordinateGenerator(*args, **kwargs): return ifcopenshell.create_entity('IfcTextureCoordinateGenerator', 'IFC2X3', *args, **kwargs)
def IfcTextureMap(*args, **kwargs): return ifcopenshell.create_entity('IfcTextureMap', 'IFC2X3', *args, **kwargs)
def IfcTextureVertex(*args, **kwargs): return ifcopenshell.create_entity('IfcTextureVertex', 'IFC2X3', *args, **kwargs)
def IfcThermalMaterialProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcThermalMaterialProperties', 'IFC2X3', *args, **kwargs)
def IfcTimeSeries(*args, **kwargs): return ifcopenshell.create_entity('IfcTimeSeries', 'IFC2X3', *args, **kwargs)
def IfcTimeSeriesReferenceRelationship(*args, **kwargs): return ifcopenshell.create_entity('IfcTimeSeriesReferenceRelationship', 'IFC2X3', *args, **kwargs)
def IfcTimeSeriesSchedule(*args, **kwargs): return ifcopenshell.create_entity('IfcTimeSeriesSchedule', 'IFC2X3', *args, **kwargs)
def IfcTimeSeriesValue(*args, **kwargs): return ifcopenshell.create_entity('IfcTimeSeriesValue', 'IFC2X3', *args, **kwargs)
def IfcTopologicalRepresentationItem(*args, **kwargs): return ifcopenshell.create_entity('IfcTopologicalRepresentationItem', 'IFC2X3', *args, **kwargs)
def IfcTopologyRepresentation(*args, **kwargs): return ifcopenshell.create_entity('IfcTopologyRepresentation', 'IFC2X3', *args, **kwargs)
def IfcTransformerType(*args, **kwargs): return ifcopenshell.create_entity('IfcTransformerType', 'IFC2X3', *args, **kwargs)
def IfcTransportElement(*args, **kwargs): return ifcopenshell.create_entity('IfcTransportElement', 'IFC2X3', *args, **kwargs)
def IfcTransportElementType(*args, **kwargs): return ifcopenshell.create_entity('IfcTransportElementType', 'IFC2X3', *args, **kwargs)
def IfcTrapeziumProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcTrapeziumProfileDef', 'IFC2X3', *args, **kwargs)
def IfcTrimmedCurve(*args, **kwargs): return ifcopenshell.create_entity('IfcTrimmedCurve', 'IFC2X3', *args, **kwargs)
def IfcTubeBundleType(*args, **kwargs): return ifcopenshell.create_entity('IfcTubeBundleType', 'IFC2X3', *args, **kwargs)
def IfcTwoDirectionRepeatFactor(*args, **kwargs): return ifcopenshell.create_entity('IfcTwoDirectionRepeatFactor', 'IFC2X3', *args, **kwargs)
def IfcTypeObject(*args, **kwargs): return ifcopenshell.create_entity('IfcTypeObject', 'IFC2X3', *args, **kwargs)
def IfcTypeProduct(*args, **kwargs): return ifcopenshell.create_entity('IfcTypeProduct', 'IFC2X3', *args, **kwargs)
def IfcUShapeProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcUShapeProfileDef', 'IFC2X3', *args, **kwargs)
def IfcUnitAssignment(*args, **kwargs): return ifcopenshell.create_entity('IfcUnitAssignment', 'IFC2X3', *args, **kwargs)
def IfcUnitaryEquipmentType(*args, **kwargs): return ifcopenshell.create_entity('IfcUnitaryEquipmentType', 'IFC2X3', *args, **kwargs)
def IfcValveType(*args, **kwargs): return ifcopenshell.create_entity('IfcValveType', 'IFC2X3', *args, **kwargs)
def IfcVector(*args, **kwargs): return ifcopenshell.create_entity('IfcVector', 'IFC2X3', *args, **kwargs)
def IfcVertex(*args, **kwargs): return ifcopenshell.create_entity('IfcVertex', 'IFC2X3', *args, **kwargs)
def IfcVertexBasedTextureMap(*args, **kwargs): return ifcopenshell.create_entity('IfcVertexBasedTextureMap', 'IFC2X3', *args, **kwargs)
def IfcVertexLoop(*args, **kwargs): return ifcopenshell.create_entity('IfcVertexLoop', 'IFC2X3', *args, **kwargs)
def IfcVertexPoint(*args, **kwargs): return ifcopenshell.create_entity('IfcVertexPoint', 'IFC2X3', *args, **kwargs)
def IfcVibrationIsolatorType(*args, **kwargs): return ifcopenshell.create_entity('IfcVibrationIsolatorType', 'IFC2X3', *args, **kwargs)
def IfcVirtualElement(*args, **kwargs): return ifcopenshell.create_entity('IfcVirtualElement', 'IFC2X3', *args, **kwargs)
def IfcVirtualGridIntersection(*args, **kwargs): return ifcopenshell.create_entity('IfcVirtualGridIntersection', 'IFC2X3', *args, **kwargs)
def IfcWall(*args, **kwargs): return ifcopenshell.create_entity('IfcWall', 'IFC2X3', *args, **kwargs)
def IfcWallStandardCase(*args, **kwargs): return ifcopenshell.create_entity('IfcWallStandardCase', 'IFC2X3', *args, **kwargs)
def IfcWallType(*args, **kwargs): return ifcopenshell.create_entity('IfcWallType', 'IFC2X3', *args, **kwargs)
def IfcWasteTerminalType(*args, **kwargs): return ifcopenshell.create_entity('IfcWasteTerminalType', 'IFC2X3', *args, **kwargs)
def IfcWaterProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcWaterProperties', 'IFC2X3', *args, **kwargs)
def IfcWindow(*args, **kwargs): return ifcopenshell.create_entity('IfcWindow', 'IFC2X3', *args, **kwargs)
def IfcWindowLiningProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcWindowLiningProperties', 'IFC2X3', *args, **kwargs)
def IfcWindowPanelProperties(*args, **kwargs): return ifcopenshell.create_entity('IfcWindowPanelProperties', 'IFC2X3', *args, **kwargs)
def IfcWindowStyle(*args, **kwargs): return ifcopenshell.create_entity('IfcWindowStyle', 'IFC2X3', *args, **kwargs)
def IfcWorkControl(*args, **kwargs): return ifcopenshell.create_entity('IfcWorkControl', 'IFC2X3', *args, **kwargs)
def IfcWorkPlan(*args, **kwargs): return ifcopenshell.create_entity('IfcWorkPlan', 'IFC2X3', *args, **kwargs)
def IfcWorkSchedule(*args, **kwargs): return ifcopenshell.create_entity('IfcWorkSchedule', 'IFC2X3', *args, **kwargs)
def IfcZShapeProfileDef(*args, **kwargs): return ifcopenshell.create_entity('IfcZShapeProfileDef', 'IFC2X3', *args, **kwargs)
def IfcZone(*args, **kwargs): return ifcopenshell.create_entity('IfcZone', 'IFC2X3', *args, **kwargs)
class IfcBoxAlignment_WR1:
SCOPE = "type"
TYPE_NAME = "IfcBoxAlignment"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert self in ['top-left','top-middle','top-right','middle-left','center','middle-right','bottom-left','bottom-middle','bottom-right']
class IfcCompoundPlaneAngleMeasure_WR1:
SCOPE = "type"
TYPE_NAME = "IfcCompoundPlaneAngleMeasure"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert -360 <= self[1 - 1] < 360
class IfcCompoundPlaneAngleMeasure_WR2:
SCOPE = "type"
TYPE_NAME = "IfcCompoundPlaneAngleMeasure"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
assert -60 <= self[2 - 1] < 60
class IfcCompoundPlaneAngleMeasure_WR3:
SCOPE = "type"
TYPE_NAME = "IfcCompoundPlaneAngleMeasure"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
assert -60 <= self[3 - 1] < 60
class IfcCompoundPlaneAngleMeasure_WR4:
SCOPE = "type"
TYPE_NAME = "IfcCompoundPlaneAngleMeasure"
RULE_NAME = "WR4"
@staticmethod
def __call__(self):
assert (((self[1 - 1]) >= 0) and ((self[2 - 1]) >= 0) and ((self[3 - 1]) >= 0)) or (((self[1 - 1]) <= 0) and ((self[2 - 1]) <= 0) and ((self[3 - 1]) <= 0))
class IfcDaylightSavingHour_WR1:
SCOPE = "type"
TYPE_NAME = "IfcDaylightSavingHour"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert 0 <= self <= 2
class IfcDimensionCount_WR1:
SCOPE = "type"
TYPE_NAME = "IfcDimensionCount"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert 0 < self <= 3
class IfcFontStyle_WR1:
SCOPE = "type"
TYPE_NAME = "IfcFontStyle"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert self in ['normal','italic','oblique']
class IfcFontVariant_WR1:
SCOPE = "type"
TYPE_NAME = "IfcFontVariant"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert self in ['normal','small-caps']
class IfcFontWeight_WR1:
SCOPE = "type"
TYPE_NAME = "IfcFontWeight"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert self in ['normal','small-caps','100','200','300','400','500','600','700','800','900']
class IfcHeatingValueMeasure_WR1:
SCOPE = "type"
TYPE_NAME = "IfcHeatingValueMeasure"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert self > 0.
class IfcHourInDay_WR1:
SCOPE = "type"
TYPE_NAME = "IfcHourInDay"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert 0 <= self < 24
class IfcMinuteInHour_WR1:
SCOPE = "type"
TYPE_NAME = "IfcMinuteInHour"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert 0 <= self <= 59
class IfcMonthInYearNumber_WR1:
SCOPE = "type"
TYPE_NAME = "IfcMonthInYearNumber"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert 1 <= self <= 12
class IfcNormalisedRatioMeasure_WR1:
SCOPE = "type"
TYPE_NAME = "IfcNormalisedRatioMeasure"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert 0.0 <= self <= 1.0
class IfcPHMeasure_WR21:
SCOPE = "type"
TYPE_NAME = "IfcPHMeasure"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
assert 0.0 <= self <= 14.0
class IfcPositiveLengthMeasure_WR1:
SCOPE = "type"
TYPE_NAME = "IfcPositiveLengthMeasure"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert self > 0.
class IfcPositivePlaneAngleMeasure_WR1:
SCOPE = "type"
TYPE_NAME = "IfcPositivePlaneAngleMeasure"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert self > 0.
class IfcPositiveRatioMeasure_WR1:
SCOPE = "type"
TYPE_NAME = "IfcPositiveRatioMeasure"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert self > 0.
class IfcSecondInMinute_WR1:
SCOPE = "type"
TYPE_NAME = "IfcSecondInMinute"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert 0. <= self < 60.
class IfcSpecularRoughness_WR1:
SCOPE = "type"
TYPE_NAME = "IfcSpecularRoughness"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert 0.0 <= self <= 1.0
class IfcTextAlignment_WR1:
SCOPE = "type"
TYPE_NAME = "IfcTextAlignment"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert self in ['left','right','center','justify']
class IfcTextDecoration_WR1:
SCOPE = "type"
TYPE_NAME = "IfcTextDecoration"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert self in ['none','underline','overline','line-through','blink']
class IfcTextTransformation_WR1:
SCOPE = "type"
TYPE_NAME = "IfcTextTransformation"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert self in ['capitalize','uppercase','lowercase','none']
class Ifc2DCompositeCurve_WR1:
SCOPE = "entity"
TYPE_NAME = "Ifc2DCompositeCurve"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert self.ClosedCurve
class Ifc2DCompositeCurve_WR2:
SCOPE = "entity"
TYPE_NAME = "Ifc2DCompositeCurve"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
assert self.Dim == 2
class IfcActorRole_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcActorRole"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
role = self.Role
assert (role != IfcRoleEnum.USERDEFINED) or ((role == IfcRoleEnum.USERDEFINED) and exists(self.UserDefinedRole))
class IfcAddress_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcAddress"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
purpose = self.Purpose
assert (not exists(purpose)) or ((purpose != IfcAddressTypeEnum.USERDEFINED) or ((purpose == IfcAddressTypeEnum.USERDEFINED) and exists(self.UserDefinedPurpose)))
class IfcAirTerminalBoxType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcAirTerminalBoxType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcAirTerminalBoxTypeEnum.USERDEFINED) or ((predefinedtype == IfcAirTerminalBoxTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcAirTerminalType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcAirTerminalType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcAirTerminalTypeEnum.USERDEFINED) or ((predefinedtype == IfcAirTerminalTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcAirToAirHeatRecoveryType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcAirToAirHeatRecoveryType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED) or ((predefinedtype == IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcAnnotationCurveOccurrence_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcAnnotationCurveOccurrence"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert (not exists(self.Item)) or ('ifc2x3.ifccurve' in typeof(self.Item))
class IfcAnnotationFillAreaOccurrence_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcAnnotationFillAreaOccurrence"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert (not exists(self.Item)) or ('ifc2x3.ifcannotationfillarea' in typeof(self.Item))
class IfcAnnotationSurface_WR01:
SCOPE = "entity"
TYPE_NAME = "IfcAnnotationSurface"
RULE_NAME = "WR01"
@staticmethod
def __call__(self):
item = self.Item
assert (sizeof(['ifc2x3.ifcsurface','ifc2x3.ifcshellbasedsurfacemodel','ifc2x3.ifcfacebasedsurfacemodel','ifc2x3.ifcsolidmodel','ifc2x3.ifcbooleanresult','ifc2x3.ifccsgprimitive3d'] * typeof(item))) >= 1
class IfcAnnotationSurfaceOccurrence_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcAnnotationSurfaceOccurrence"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert (not exists(self.Item)) or ((sizeof(['ifc2x3.ifcsurface','ifc2x3.ifcfacebasedsurfacemodel','ifc2x3.ifcshellbasedsurfacemodel','ifc2x3.ifcsolidmodel'] * typeof(self.Item))) > 0)
class IfcAnnotationSymbolOccurrence_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcAnnotationSymbolOccurrence"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert (not exists(self.Item)) or ('ifc2x3.ifcdefinedsymbol' in typeof(self.Item))
class IfcAnnotationTextOccurrence_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcAnnotationTextOccurrence"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert (not exists(self.Item)) or ('ifc2x3.ifctextliteral' in typeof(self.Item))
class IfcAppliedValue_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcAppliedValue"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
appliedvalue = self.AppliedValue
valueofcomponents = self.ValueOfComponents
assert exists(appliedvalue) or exists(valueofcomponents)
class IfcArbitraryClosedProfileDef_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcArbitraryClosedProfileDef"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
outercurve = self.OuterCurve
assert outercurve.Dim == 2
class IfcArbitraryClosedProfileDef_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcArbitraryClosedProfileDef"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
outercurve = self.OuterCurve
assert not 'ifc2x3.ifcline' in typeof(outercurve)
class IfcArbitraryClosedProfileDef_WR3:
SCOPE = "entity"
TYPE_NAME = "IfcArbitraryClosedProfileDef"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
outercurve = self.OuterCurve
assert not 'ifc2x3.ifcoffsetcurve2d' in typeof(outercurve)
class IfcArbitraryOpenProfileDef_WR11:
SCOPE = "entity"
TYPE_NAME = "IfcArbitraryOpenProfileDef"
RULE_NAME = "WR11"
@staticmethod
def __call__(self):
assert ('ifc2x3.ifccenterlineprofiledef' in typeof(self)) or (self.ProfileType == IfcProfileTypeEnum.CURVE)
class IfcArbitraryOpenProfileDef_WR12:
SCOPE = "entity"
TYPE_NAME = "IfcArbitraryOpenProfileDef"
RULE_NAME = "WR12"
@staticmethod
def __call__(self):
curve = self.Curve
assert curve.Dim == 2
class IfcArbitraryProfileDefWithVoids_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcArbitraryProfileDefWithVoids"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert self.ProfileType == area
class IfcArbitraryProfileDefWithVoids_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcArbitraryProfileDefWithVoids"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
innercurves = self.InnerCurves
assert (sizeof([temp for temp in innercurves if temp.Dim != 2])) == 0
class IfcArbitraryProfileDefWithVoids_WR3:
SCOPE = "entity"
TYPE_NAME = "IfcArbitraryProfileDefWithVoids"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
innercurves = self.InnerCurves
assert (sizeof([temp for temp in innercurves if 'ifc2x3.ifcline' in typeof(temp)])) == 0
class IfcAsset_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcAsset"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.IsGroupedBy.RelatedObjects if not 'ifc2x3.ifcelement' in typeof(temp)])) == 0
class IfcAxis1Placement_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcAxis1Placement"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
axis = self.Axis
assert (not exists(axis)) or (axis.Dim == 3)
class IfcAxis1Placement_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcAxis1Placement"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
assert self.Location.Dim == 3
def calc_IfcAxis1Placement_Z(self):
axis = self.Axis
return \
nvl(IfcNormalise(axis),IfcDirection(DirectionRatios=[0.0,0.0,1.0]))
class IfcAxis2Placement2D_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcAxis2Placement2D"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
refdirection = self.RefDirection
assert (not exists(refdirection)) or (refdirection.Dim == 2)
class IfcAxis2Placement2D_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcAxis2Placement2D"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
assert self.Location.Dim == 2
def calc_IfcAxis2Placement2D_P(self):
refdirection = self.RefDirection
return \
IfcBuild2Axes(refdirection)
class IfcAxis2Placement3D_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcAxis2Placement3D"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert self.Location.Dim == 3
class IfcAxis2Placement3D_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcAxis2Placement3D"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
axis = self.Axis
assert (not exists(axis)) or (axis.Dim == 3)
class IfcAxis2Placement3D_WR3:
SCOPE = "entity"
TYPE_NAME = "IfcAxis2Placement3D"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
refdirection = self.RefDirection
assert (not exists(refdirection)) or (refdirection.Dim == 3)
class IfcAxis2Placement3D_WR4:
SCOPE = "entity"
TYPE_NAME = "IfcAxis2Placement3D"
RULE_NAME = "WR4"
@staticmethod
def __call__(self):
axis = self.Axis
refdirection = self.RefDirection
assert (not exists(axis)) or (not exists(refdirection)) or (IfcCrossProduct(axis,refdirection).Magnitude > 0.0)
class IfcAxis2Placement3D_WR5:
SCOPE = "entity"
TYPE_NAME = "IfcAxis2Placement3D"
RULE_NAME = "WR5"
@staticmethod
def __call__(self):
axis = self.Axis
refdirection = self.RefDirection
assert not exists(axis) ^ exists(refdirection)
def calc_IfcAxis2Placement3D_P(self):
axis = self.Axis
refdirection = self.RefDirection
return \
IfcBuildAxes(axis,refdirection)
class IfcBSplineCurve_WR41:
SCOPE = "entity"
TYPE_NAME = "IfcBSplineCurve"
RULE_NAME = "WR41"
@staticmethod
def __call__(self):
controlpointslist = self.ControlPointsList
assert (sizeof([temp for temp in controlpointslist if temp.Dim != (controlpointslist[1 - 1].Dim)])) == 0
def calc_IfcBSplineCurve_ControlPoints(self):
controlpointslist = self.ControlPointsList
upperindexoncontrolpoints = self.UpperIndexOnControlPoints
return \
IfcListToArray(controlpointslist,0,upperindexoncontrolpoints)
def calc_IfcBSplineCurve_UpperIndexOnControlPoints(self):
controlpointslist = self.ControlPointsList
return \
sizeof(controlpointslist) - 1
class IfcBlobTexture_WR11:
SCOPE = "entity"
TYPE_NAME = "IfcBlobTexture"
RULE_NAME = "WR11"
@staticmethod
def __call__(self):
assert self.RasterFormat in ['bmp','jpg','gif','png']
class IfcBoilerType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcBoilerType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcBoilerTypeEnum.USERDEFINED) or ((predefinedtype == IfcBoilerTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcBooleanClippingResult_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcBooleanClippingResult"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
firstoperand = self.FirstOperand
assert ('ifc2x3.ifcsweptareasolid' in typeof(firstoperand)) or ('ifc2x3.ifcbooleanclippingresult' in typeof(firstoperand))
class IfcBooleanClippingResult_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcBooleanClippingResult"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
secondoperand = self.SecondOperand
assert 'ifc2x3.ifchalfspacesolid' in typeof(secondoperand)
class IfcBooleanClippingResult_WR3:
SCOPE = "entity"
TYPE_NAME = "IfcBooleanClippingResult"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
operator = self.Operator
assert operator == difference
class IfcBooleanResult_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcBooleanResult"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
firstoperand = self.FirstOperand
secondoperand = self.SecondOperand
assert firstoperand.Dim == secondoperand.Dim
def calc_IfcBooleanResult_Dim(self):
firstoperand = self.FirstOperand
return \
firstoperand.Dim
def calc_IfcBoundingBox_Dim(self):
return \
3
class IfcBoxedHalfSpace_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcBoxedHalfSpace"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert not 'ifc2x3.ifccurveboundedplane' in typeof(self.BaseSurface)
class IfcBuildingElementProxy_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcBuildingElementProxy"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert exists(self.Name)
class IfcCShapeProfileDef_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcCShapeProfileDef"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
depth = self.Depth
girth = self.Girth
assert girth < (depth / 2.)
class IfcCShapeProfileDef_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcCShapeProfileDef"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
depth = self.Depth
width = self.Width
internalfilletradius = self.InternalFilletRadius
assert (not exists(internalfilletradius)) or ((internalfilletradius <= (width / 2.)) and (internalfilletradius <= (depth / 2.)))
class IfcCShapeProfileDef_WR3:
SCOPE = "entity"
TYPE_NAME = "IfcCShapeProfileDef"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
depth = self.Depth
width = self.Width
wallthickness = self.WallThickness
assert (wallthickness < (width / 2.)) and (wallthickness < (depth / 2.))
class IfcCableCarrierFittingType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcCableCarrierFittingType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcCableCarrierFittingTypeEnum.USERDEFINED) or ((predefinedtype == IfcCableCarrierFittingTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcCalendarDate_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcCalendarDate"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
assert IfcValidCalendarDate(self)
class IfcCartesianPoint_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcCartesianPoint"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
coordinates = self.Coordinates
assert hiindex(coordinates) >= 2
def calc_IfcCartesianPoint_Dim(self):
coordinates = self.Coordinates
return \
hiindex(coordinates)
class IfcCartesianTransformationOperator_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcCartesianTransformationOperator"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
scl = self.Scl
assert scl > 0.0
def calc_IfcCartesianTransformationOperator_Scl(self):
scale = self.Scale
return \
nvl(scale,1.0)
def calc_IfcCartesianTransformationOperator_Dim(self):
localorigin = self.LocalOrigin
return \
localorigin.Dim
class IfcCartesianTransformationOperator2D_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcCartesianTransformationOperator2D"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert self.Dim == 2
class IfcCartesianTransformationOperator2D_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcCartesianTransformationOperator2D"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
assert (not exists(self.Axis1)) or (self.Axis1.Dim == 2)
class IfcCartesianTransformationOperator2D_WR3:
SCOPE = "entity"
TYPE_NAME = "IfcCartesianTransformationOperator2D"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
assert (not exists(self.Axis2)) or (self.Axis2.Dim == 2)
def calc_IfcCartesianTransformationOperator2D_U(self):
return \
IfcBaseAxis(2,self.Axis1,self.Axis2,None)
class IfcCartesianTransformationOperator2DnonUniform_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcCartesianTransformationOperator2DnonUniform"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
scl2 = self.Scl2
assert scl2 > 0.0
def calc_IfcCartesianTransformationOperator2DnonUniform_Scl2(self):
scale2 = self.Scale2
return \
nvl(scale2,self.Scl)
class IfcCartesianTransformationOperator3D_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcCartesianTransformationOperator3D"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert self.Dim == 3
class IfcCartesianTransformationOperator3D_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcCartesianTransformationOperator3D"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
assert (not exists(self.Axis1)) or (self.Axis1.Dim == 3)
class IfcCartesianTransformationOperator3D_WR3:
SCOPE = "entity"
TYPE_NAME = "IfcCartesianTransformationOperator3D"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
assert (not exists(self.Axis2)) or (self.Axis2.Dim == 3)
class IfcCartesianTransformationOperator3D_WR4:
SCOPE = "entity"
TYPE_NAME = "IfcCartesianTransformationOperator3D"
RULE_NAME = "WR4"
@staticmethod
def __call__(self):
axis3 = self.Axis3
assert (not exists(axis3)) or (axis3.Dim == 3)
def calc_IfcCartesianTransformationOperator3D_U(self):
axis3 = self.Axis3
return \
IfcBaseAxis(3,self.Axis1,self.Axis2,axis3)
class IfcCartesianTransformationOperator3DnonUniform_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcCartesianTransformationOperator3DnonUniform"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
scl2 = self.Scl2
assert scl2 > 0.0
class IfcCartesianTransformationOperator3DnonUniform_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcCartesianTransformationOperator3DnonUniform"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
scl3 = self.Scl3
assert scl3 > 0.0
def calc_IfcCartesianTransformationOperator3DnonUniform_Scl2(self):
scale2 = self.Scale2
return \
nvl(scale2,self.Scl)
def calc_IfcCartesianTransformationOperator3DnonUniform_Scl3(self):
scale3 = self.Scale3
return \
nvl(scale3,self.Scl)
class IfcChillerType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcChillerType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcChillerTypeEnum.USERDEFINED) or ((predefinedtype == IfcChillerTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcCircleHollowProfileDef_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcCircleHollowProfileDef"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
wallthickness = self.WallThickness
assert wallthickness < self.Radius
class IfcCoilType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcCoilType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcCoilTypeEnum.USERDEFINED) or ((predefinedtype == IfcCoilTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcComplexProperty_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcComplexProperty"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
hasproperties = self.HasProperties
assert (sizeof([temp for temp in hasproperties if self == temp])) == 0
class IfcComplexProperty_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcComplexProperty"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
hasproperties = self.HasProperties
assert IfcUniquePropertyName(hasproperties)
class IfcCompositeCurve_WR41:
SCOPE = "entity"
TYPE_NAME = "IfcCompositeCurve"
RULE_NAME = "WR41"
@staticmethod
def __call__(self):
segments = self.Segments
closedcurve = self.ClosedCurve
assert ((not closedcurve) and ((sizeof([temp for temp in segments if temp.Transition == discontinuous])) == 1)) or (closedcurve and ((sizeof([temp for temp in segments if temp.Transition == discontinuous])) == 0))
class IfcCompositeCurve_WR42:
SCOPE = "entity"
TYPE_NAME = "IfcCompositeCurve"
RULE_NAME = "WR42"
@staticmethod
def __call__(self):
segments = self.Segments
assert (sizeof([temp for temp in segments if temp.Dim != (segments[1 - 1].Dim)])) == 0
def calc_IfcCompositeCurve_NSegments(self):
segments = self.Segments
return \
sizeof(segments)
def calc_IfcCompositeCurve_ClosedCurve(self):
segments = self.Segments
nsegments = self.NSegments
return \
(segments[nsegments - 1].Transition) != discontinuous
class IfcCompositeCurveSegment_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcCompositeCurveSegment"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
parentcurve = self.ParentCurve
assert 'ifc2x3.ifcboundedcurve' in typeof(parentcurve)
def calc_IfcCompositeCurveSegment_Dim(self):
parentcurve = self.ParentCurve
return \
parentcurve.Dim
class IfcCompositeProfileDef_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcCompositeProfileDef"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
profiles = self.Profiles
assert (sizeof([temp for temp in profiles if temp.ProfileType != (profiles[1 - 1].ProfileType)])) == 0
class IfcCompositeProfileDef_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcCompositeProfileDef"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
profiles = self.Profiles
assert (sizeof([temp for temp in profiles if 'ifc2x3.ifccompositeprofiledef' in typeof(temp)])) == 0
class IfcCompressorType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcCompressorType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcCompressorTypeEnum.USERDEFINED) or ((predefinedtype == IfcCompressorTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcCondenserType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcCondenserType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcCondenserTypeEnum.USERDEFINED) or ((predefinedtype == IfcCondenserTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcConditionCriterion_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcConditionCriterion"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert exists(self.Name)
class IfcConstraint_WR11:
SCOPE = "entity"
TYPE_NAME = "IfcConstraint"
RULE_NAME = "WR11"
@staticmethod
def __call__(self):
constraintgrade = self.ConstraintGrade
assert (constraintgrade != IfcConstraintEnum.USERDEFINED) or ((constraintgrade == IfcConstraintEnum.USERDEFINED) and exists(self.UserDefinedGrade))
class IfcConstraintAggregationRelationship_WR11:
SCOPE = "entity"
TYPE_NAME = "IfcConstraintAggregationRelationship"
RULE_NAME = "WR11"
@staticmethod
def __call__(self):
relatingconstraint = self.RelatingConstraint
relatedconstraints = self.RelatedConstraints
assert (sizeof([temp for temp in relatedconstraints if temp == relatingconstraint])) == 0
class IfcConstraintRelationship_WR11:
SCOPE = "entity"
TYPE_NAME = "IfcConstraintRelationship"
RULE_NAME = "WR11"
@staticmethod
def __call__(self):
relatingconstraint = self.RelatingConstraint
relatedconstraints = self.RelatedConstraints
assert (sizeof([temp for temp in relatedconstraints if temp == relatingconstraint])) == 0
class IfcConstructionMaterialResource_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcConstructionMaterialResource"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert sizeof(self.ResourceOf) <= 1
class IfcConstructionMaterialResource_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcConstructionMaterialResource"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
assert (not exists(lambda: self.ResourceOf[1 - 1])) or ((self.ResourceOf[1 - 1].RelatedObjectsType) == IfcObjectTypeEnum.PRODUCT)
class IfcConstructionProductResource_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcConstructionProductResource"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert sizeof(self.ResourceOf) <= 1
class IfcConstructionProductResource_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcConstructionProductResource"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
assert (not exists(lambda: self.ResourceOf[1 - 1])) or ((self.ResourceOf[1 - 1].RelatedObjectsType) == IfcObjectTypeEnum.PRODUCT)
class IfcCooledBeamType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcCooledBeamType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcCooledBeamTypeEnum.USERDEFINED) or ((predefinedtype == IfcCooledBeamTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcCoolingTowerType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcCoolingTowerType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcCoolingTowerTypeEnum.USERDEFINED) or ((predefinedtype == IfcCoolingTowerTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcCovering_WR61:
SCOPE = "entity"
TYPE_NAME = "IfcCovering"
RULE_NAME = "WR61"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (not exists(predefinedtype)) or (predefinedtype != IfcCoveringTypeEnum.USERDEFINED) or ((predefinedtype == IfcCoveringTypeEnum.USERDEFINED) and exists(self.ObjectType))
def calc_IfcCsgPrimitive3D_Dim(self):
return \
3
def calc_IfcCurve_Dim(self):
return \
IfcCurveDim(self)
def calc_IfcCurveBoundedPlane_Dim(self):
basissurface = self.BasisSurface
return \
basissurface.Dim
class IfcCurveStyle_WR11:
SCOPE = "entity"
TYPE_NAME = "IfcCurveStyle"
RULE_NAME = "WR11"
@staticmethod
def __call__(self):
curvewidth = self.CurveWidth
assert (not exists(curvewidth)) or ('ifc2x3.ifcpositivelengthmeasure' in typeof(curvewidth)) or (('ifc2x3.ifcdescriptivemeasure' in typeof(curvewidth)) and (curvewidth == 'bylayer'))
class IfcCurveStyleFontPattern_WR01:
SCOPE = "entity"
TYPE_NAME = "IfcCurveStyleFontPattern"
RULE_NAME = "WR01"
@staticmethod
def __call__(self):
visiblesegmentlength = self.VisibleSegmentLength
assert visiblesegmentlength >= 0.
class IfcDamperType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcDamperType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcDamperTypeEnum.USERDEFINED) or ((predefinedtype == IfcDamperTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcDerivedProfileDef_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcDerivedProfileDef"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
parentprofile = self.ParentProfile
assert self.ProfileType == parentprofile.ProfileType
class IfcDerivedUnit_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcDerivedUnit"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
elements = self.Elements
assert (sizeof(elements) > 1) or ((sizeof(elements) == 1) and ((elements[1 - 1].Exponent) != 1))
class IfcDerivedUnit_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcDerivedUnit"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
unittype = self.UnitType
assert (unittype != IfcDerivedUnitEnum.USERDEFINED) or ((unittype == IfcDerivedUnitEnum.USERDEFINED) and exists(self.UserDefinedType))
def calc_IfcDerivedUnit_Dimensions(self):
elements = self.Elements
return \
IfcDeriveDimensionalExponents(elements)
class IfcDimensionCalloutRelationship_WR11:
SCOPE = "entity"
TYPE_NAME = "IfcDimensionCalloutRelationship"
RULE_NAME = "WR11"
@staticmethod
def __call__(self):
assert self.Name in ['primary','secondary']
class IfcDimensionCalloutRelationship_WR12:
SCOPE = "entity"
TYPE_NAME = "IfcDimensionCalloutRelationship"
RULE_NAME = "WR12"
@staticmethod
def __call__(self):
assert (sizeof(typeof(self.RelatingDraughtingCallout) * ['ifc2x3.ifcangulardimension','ifc2x3.ifcdiameterdimension','ifc2x3.ifclineardimension','ifc2x3.ifcradiusdimension'])) == 1
class IfcDimensionCalloutRelationship_WR13:
SCOPE = "entity"
TYPE_NAME = "IfcDimensionCalloutRelationship"
RULE_NAME = "WR13"
@staticmethod
def __call__(self):
assert not 'ifc2x3.ifcdimensioncurvedirectedcallout' in typeof(self.RelatedDraughtingCallout)
class IfcDimensionCurve_WR51:
SCOPE = "entity"
TYPE_NAME = "IfcDimensionCurve"
RULE_NAME = "WR51"
@staticmethod
def __call__(self):
assert sizeof(usedin(self,'ifc2x3.ifcdraughtingcallout.contents')) >= 1
class IfcDimensionCurve_WR52:
SCOPE = "entity"
TYPE_NAME = "IfcDimensionCurve"
RULE_NAME = "WR52"
@staticmethod
def __call__(self):
assert ((sizeof([dct1 for dct1 in usedin(self,'ifc2x3.' + 'ifcterminatorsymbol.annotatedcurve') if dct1.Role == IfcDimensionExtentUsage.ORIGIN])) <= 1) and ((sizeof([dct2 for dct2 in usedin(self,'ifc2x3.' + 'ifcterminatorsymbol.annotatedcurve') if dct2.Role == IfcDimensionExtentUsage.TARGET])) <= 1)
class IfcDimensionCurve_WR53:
SCOPE = "entity"
TYPE_NAME = "IfcDimensionCurve"
RULE_NAME = "WR53"
@staticmethod
def __call__(self):
annotatedbysymbols = self.AnnotatedBySymbols
assert (sizeof([dct for dct in annotatedbysymbols if not 'ifc2x3.ifcdimensioncurveterminator' in typeof(dct)])) == 0
class IfcDimensionCurveDirectedCallout_WR41:
SCOPE = "entity"
TYPE_NAME = "IfcDimensionCurveDirectedCallout"
RULE_NAME = "WR41"
@staticmethod
def __call__(self):
assert (sizeof([dc for dc in self.Contents if 'ifc2x3.ifcdimensioncurve' in typeof(dc)])) == 1
class IfcDimensionCurveDirectedCallout_WR42:
SCOPE = "entity"
TYPE_NAME = "IfcDimensionCurveDirectedCallout"
RULE_NAME = "WR42"
@staticmethod
def __call__(self):
contents = self.Contents
assert (sizeof([dc for dc in self.contents if 'ifc2x3.ifcprojectioncurve' in typeof(dc)])) <= 2
class IfcDimensionCurveTerminator_WR61:
SCOPE = "entity"
TYPE_NAME = "IfcDimensionCurveTerminator"
RULE_NAME = "WR61"
@staticmethod
def __call__(self):
assert 'ifc2x3.ifcdimensioncurve' in typeof(self.AnnotatedCurve)
class IfcDimensionPair_WR11:
SCOPE = "entity"
TYPE_NAME = "IfcDimensionPair"
RULE_NAME = "WR11"
@staticmethod
def __call__(self):
assert self.Name in ['chained','parallel']
class IfcDimensionPair_WR12:
SCOPE = "entity"
TYPE_NAME = "IfcDimensionPair"
RULE_NAME = "WR12"
@staticmethod
def __call__(self):
assert (sizeof(typeof(self.RelatingDraughtingCallout) * ['ifc2x3.ifcangulardimension','ifc2x3.ifcdiameterdimension','ifc2x3.ifclineardimension','ifc2x3.ifcradiusdimension'])) == 1
class IfcDimensionPair_WR13:
SCOPE = "entity"
TYPE_NAME = "IfcDimensionPair"
RULE_NAME = "WR13"
@staticmethod
def __call__(self):
assert (sizeof(typeof(self.RelatedDraughtingCallout) * ['ifc2x3.ifcangulardimension','ifc2x3.ifcdiameterdimension','ifc2x3.ifclineardimension','ifc2x3.ifcradiusdimension'])) == 1
def calc_IfcDirection_Dim(self):
directionratios = self.DirectionRatios
return \
hiindex(directionratios)
class IfcDocumentElectronicFormat_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcDocumentElectronicFormat"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
fileextension = self.FileExtension
mimecontenttype = self.MimeContentType
assert exists(fileextension) or exists(mimecontenttype)
class IfcDocumentReference_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcDocumentReference"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
name = self.Name
referencetodocument = self.ReferenceToDocument
assert exists(name) ^ (exists(lambda: referencetodocument[1 - 1]))
class IfcDoorLiningProperties_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcDoorLiningProperties"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
liningdepth = self.LiningDepth
liningthickness = self.LiningThickness
assert not (not exists(liningdepth)) and exists(liningthickness)
class IfcDoorLiningProperties_WR32:
SCOPE = "entity"
TYPE_NAME = "IfcDoorLiningProperties"
RULE_NAME = "WR32"
@staticmethod
def __call__(self):
thresholddepth = self.ThresholdDepth
thresholdthickness = self.ThresholdThickness
assert not (not exists(thresholddepth)) and exists(thresholdthickness)
class IfcDoorLiningProperties_WR33:
SCOPE = "entity"
TYPE_NAME = "IfcDoorLiningProperties"
RULE_NAME = "WR33"
@staticmethod
def __call__(self):
transomthickness = self.TransomThickness
transomoffset = self.TransomOffset
assert (exists(transomoffset) and exists(transomthickness)) ^ ((not exists(transomoffset)) and (not exists(transomthickness)))
class IfcDoorLiningProperties_WR34:
SCOPE = "entity"
TYPE_NAME = "IfcDoorLiningProperties"
RULE_NAME = "WR34"
@staticmethod
def __call__(self):
casingthickness = self.CasingThickness
casingdepth = self.CasingDepth
assert (exists(casingdepth) and exists(casingthickness)) ^ ((not exists(casingdepth)) and (not exists(casingthickness)))
class IfcDoorLiningProperties_WR35:
SCOPE = "entity"
TYPE_NAME = "IfcDoorLiningProperties"
RULE_NAME = "WR35"
@staticmethod
def __call__(self):
assert (exists(lambda: self.DefinesType[1 - 1])) and ('ifc2x3.ifcdoorstyle' in (typeof(self.DefinesType[1 - 1])))
class IfcDoorPanelProperties_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcDoorPanelProperties"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert (exists(lambda: self.DefinesType[1 - 1])) and ('ifc2x3.ifcdoorstyle' in (typeof(self.DefinesType[1 - 1])))
class IfcDraughtingPreDefinedColour_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcDraughtingPreDefinedColour"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert self.Name in ['black','red','green','blue','yellow','magenta','cyan','white','bylayer']
class IfcDraughtingPreDefinedCurveFont_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcDraughtingPreDefinedCurveFont"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert self.Name in ['continuous','chain','chaindoubledash','dashed','dotted','bylayer']
class IfcDraughtingPreDefinedTextFont_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcDraughtingPreDefinedTextFont"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert self.Name in ['iso3098-1fonta','iso3098-1fontb']
class IfcDuctFittingType_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcDuctFittingType"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcDuctFittingTypeEnum.USERDEFINED) or ((predefinedtype == IfcDuctFittingTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcDuctSegmentType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcDuctSegmentType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcDuctSegmentTypeEnum.USERDEFINED) or ((predefinedtype == IfcDuctSegmentTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcDuctSilencerType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcDuctSilencerType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcDuctSilencerTypeEnum.USERDEFINED) or ((predefinedtype == IfcDuctSilencerTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcEdgeLoop_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcEdgeLoop"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
edgelist = self.EdgeList
ne = self.Ne
assert (edgelist[1 - 1].EdgeStart) == (edgelist[ne - 1].EdgeEnd)
class IfcEdgeLoop_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcEdgeLoop"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
assert IfcLoopHeadToTail(self)
def calc_IfcEdgeLoop_Ne(self):
edgelist = self.EdgeList
return \
sizeof(edgelist)
class IfcElectricDistributionPoint_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcElectricDistributionPoint"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
distributionpointfunction = self.DistributionPointFunction
assert (distributionpointfunction != IfcElectricDistributionPointFunctionEnum.USERDEFINED) or ((distributionpointfunction == IfcElectricDistributionPointFunctionEnum.USERDEFINED) and exists(self.UserDefinedFunction))
class IfcElementAssembly_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcElementAssembly"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcElementAssemblyTypeEnum.USERDEFINED) or ((predefinedtype == IfcElementAssemblyTypeEnum.USERDEFINED) and exists(self.ObjectType))
def calc_IfcElementarySurface_Dim(self):
position = self.Position
return \
position.Dim
class IfcEnvironmentalImpactValue_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcEnvironmentalImpactValue"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
category = self.Category
assert (category != IfcEnvironmentalImpactCategoryEnum.USERDEFINED) or ((category == IfcEnvironmentalImpactCategoryEnum.USERDEFINED) and exists(self.UserDefinedCategory))
class IfcEvaporativeCoolerType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcEvaporativeCoolerType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcEvaporativeCoolerTypeEnum.USERDEFINED) or ((predefinedtype == IfcEvaporativeCoolerTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcEvaporatorType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcEvaporatorType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcEvaporatorTypeEnum.USERDEFINED) or ((predefinedtype == IfcEvaporatorTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcExternalReference_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcExternalReference"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
location = self.Location
itemreference = self.ItemReference
name = self.Name
assert exists(itemreference) or exists(location) or exists(name)
class IfcExtrudedAreaSolid_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcExtrudedAreaSolid"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert IfcDotProduct(IfcDirection(DirectionRatios=[0.0,0.0,1.0]),self.ExtrudedDirection) != 0.0
class IfcFace_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcFace"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
bounds = self.Bounds
assert (sizeof([temp for temp in bounds if 'ifc2x3.ifcfaceouterbound' in typeof(temp)])) <= 1
def calc_IfcFaceBasedSurfaceModel_Dim(self):
return \
3
class IfcFanType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcFanType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcFanTypeEnum.USERDEFINED) or ((predefinedtype == IfcFanTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcFillAreaStyle_WR11:
SCOPE = "entity"
TYPE_NAME = "IfcFillAreaStyle"
RULE_NAME = "WR11"
@staticmethod
def __call__(self):
assert (sizeof([style for style in self.FillStyles if 'ifc2x3.ifccolour' in typeof(style)])) <= 1
class IfcFillAreaStyle_WR12:
SCOPE = "entity"
TYPE_NAME = "IfcFillAreaStyle"
RULE_NAME = "WR12"
@staticmethod
def __call__(self):
assert (sizeof([style for style in self.FillStyles if 'ifc2x3.ifcexternallydefinedhatchstyle' in typeof(style)])) <= 1
class IfcFillAreaStyle_WR13:
SCOPE = "entity"
TYPE_NAME = "IfcFillAreaStyle"
RULE_NAME = "WR13"
@staticmethod
def __call__(self):
assert IfcCorrectFillAreaStyle(self.FillStyles)
class IfcFillAreaStyleHatching_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcFillAreaStyleHatching"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
startofnexthatchline = self.StartOfNextHatchLine
assert not 'ifc2x3.ifctwodirectionrepeatfactor' in typeof(startofnexthatchline)
class IfcFillAreaStyleHatching_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcFillAreaStyleHatching"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
patternstart = self.PatternStart
assert (not exists(patternstart)) or (patternstart.Dim == 2)
class IfcFillAreaStyleHatching_WR23:
SCOPE = "entity"
TYPE_NAME = "IfcFillAreaStyleHatching"
RULE_NAME = "WR23"
@staticmethod
def __call__(self):
pointofreferencehatchline = self.PointOfReferenceHatchLine
assert (not exists(pointofreferencehatchline)) or (pointofreferencehatchline.Dim == 2)
class IfcFilterType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcFilterType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcFilterTypeEnum.USERDEFINED) or ((predefinedtype == IfcFilterTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcFlowMeterType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcFlowMeterType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcFlowMeterTypeEnum.USERDEFINED) or ((predefinedtype == IfcFlowMeterTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcFooting_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcFooting"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcFootingTypeEnum.USERDEFINED) or ((predefinedtype == IfcFootingTypeEnum.USERDEFINED) and exists(self.ObjectType))
class IfcGasTerminalType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcGasTerminalType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcGasTerminalTypeEnum.USERDEFINED) or ((predefinedtype == IfcGasTerminalTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcGeneralProfileProperties_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcGeneralProfileProperties"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
crosssectionarea = self.CrossSectionArea
assert (not exists(crosssectionarea)) or (crosssectionarea > 0.)
class IfcGeometricCurveSet_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcGeometricCurveSet"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.Elements if 'ifc2x3.ifcsurface' in typeof(temp)])) == 0
class IfcGeometricRepresentationSubContext_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcGeometricRepresentationSubContext"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
parentcontext = self.ParentContext
assert not 'ifc2x3.ifcgeometricrepresentationsubcontext' in typeof(parentcontext)
class IfcGeometricRepresentationSubContext_WR32:
SCOPE = "entity"
TYPE_NAME = "IfcGeometricRepresentationSubContext"
RULE_NAME = "WR32"
@staticmethod
def __call__(self):
targetview = self.TargetView
userdefinedtargetview = self.UserDefinedTargetView
assert (targetview != IfcGeometricProjectionEnum.USERDEFINED) or ((targetview == IfcGeometricProjectionEnum.USERDEFINED) and exists(userdefinedtargetview))
def calc_IfcGeometricRepresentationSubContext_WorldCoordinateSystem(self):
parentcontext = self.ParentContext
return \
parentcontext.WorldCoordinateSystem
def calc_IfcGeometricRepresentationSubContext_CoordinateSpaceDimension(self):
parentcontext = self.ParentContext
return \
parentcontext.CoordinateSpaceDimension
def calc_IfcGeometricRepresentationSubContext_TrueNorth(self):
parentcontext = self.ParentContext
return \
nvl(parentcontext.TrueNorth,self.WorldCoordinateSystem.P[2 - 1])
def calc_IfcGeometricRepresentationSubContext_Precision(self):
parentcontext = self.ParentContext
return \
nvl(parentcontext.Precision,1)
class IfcGeometricSet_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcGeometricSet"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
elements = self.Elements
assert (sizeof([temp for temp in elements if temp.Dim != (elements[1 - 1].Dim)])) == 0
def calc_IfcGeometricSet_Dim(self):
elements = self.Elements
return \
elements[1 - 1].Dim
class IfcGrid_WR41:
SCOPE = "entity"
TYPE_NAME = "IfcGrid"
RULE_NAME = "WR41"
@staticmethod
def __call__(self):
assert exists(self.ObjectPlacement)
class IfcGridAxis_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcGridAxis"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
axiscurve = self.AxisCurve
assert axiscurve.Dim == 2
class IfcGridAxis_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcGridAxis"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
partofw = self.PartOfW
partofv = self.PartOfV
partofu = self.PartOfU
assert (sizeof(partofu) == 1) ^ (sizeof(partofv) == 1) ^ (sizeof(partofw) == 1)
def calc_IfcHalfSpaceSolid_Dim(self):
return \
3
class IfcHeatExchangerType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcHeatExchangerType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcHeatExchangerTypeEnum.USERDEFINED) or ((predefinedtype == IfcHeatExchangerTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcHumidifierType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcHumidifierType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcHumidifierTypeEnum.USERDEFINED) or ((predefinedtype == IfcHumidifierTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcIShapeProfileDef_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcIShapeProfileDef"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
overalldepth = self.OverallDepth
flangethickness = self.FlangeThickness
assert flangethickness < (overalldepth / 2.)
class IfcIShapeProfileDef_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcIShapeProfileDef"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
overallwidth = self.OverallWidth
webthickness = self.WebThickness
assert webthickness < overallwidth
class IfcIShapeProfileDef_WR3:
SCOPE = "entity"
TYPE_NAME = "IfcIShapeProfileDef"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
overallwidth = self.OverallWidth
overalldepth = self.OverallDepth
webthickness = self.WebThickness
flangethickness = self.FlangeThickness
filletradius = self.FilletRadius
assert (not exists(filletradius)) or ((filletradius <= ((overallwidth - webthickness) / 2.)) and (filletradius <= ((overalldepth - (2. * flangethickness)) / 2.)))
class IfcInventory_WR41:
SCOPE = "entity"
TYPE_NAME = "IfcInventory"
RULE_NAME = "WR41"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.IsGroupedBy.RelatedObjects if not ('ifc2x3.ifcspace' in typeof(temp)) or ('ifc2x3.ifcasset' in typeof(temp)) or ('ifc2x3.ifcfurnishingelement' in typeof(temp))])) == 0
class IfcLShapeProfileDef_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcLShapeProfileDef"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
depth = self.Depth
thickness = self.Thickness
assert thickness < depth
class IfcLShapeProfileDef_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcLShapeProfileDef"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
width = self.Width
thickness = self.Thickness
assert (not exists(width)) or (thickness < width)
class IfcLine_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcLine"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
pnt = self.Pnt
dir = self.Dir
assert dir.Dim == pnt.Dim
class IfcLocalPlacement_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcLocalPlacement"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
placementrelto = self.PlacementRelTo
relativeplacement = self.RelativePlacement
assert IfcCorrectLocalPlacement(relativeplacement,placementrelto)
class IfcLocalTime_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcLocalTime"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
assert IfcValidTime(self)
class IfcMaterialDefinitionRepresentation_WR11:
SCOPE = "entity"
TYPE_NAME = "IfcMaterialDefinitionRepresentation"
RULE_NAME = "WR11"
@staticmethod
def __call__(self):
representations = self.Representations
assert (sizeof([temp for temp in representations if not 'ifc2x3.ifcstyledrepresentation' in typeof(temp)])) == 0
def calc_IfcMaterialLayerSet_TotalThickness(self):
return \
IfcMlsTotalThickness(self)
class IfcMechanicalMaterialProperties_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcMechanicalMaterialProperties"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
youngmodulus = self.YoungModulus
assert (not exists(youngmodulus)) or (youngmodulus >= 0.0)
class IfcMechanicalMaterialProperties_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcMechanicalMaterialProperties"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
shearmodulus = self.ShearModulus
assert (not exists(shearmodulus)) or (shearmodulus >= 0.0)
class IfcMechanicalSteelMaterialProperties_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcMechanicalSteelMaterialProperties"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
yieldstress = self.YieldStress
assert (not exists(yieldstress)) or (yieldstress >= 0.)
class IfcMechanicalSteelMaterialProperties_WR32:
SCOPE = "entity"
TYPE_NAME = "IfcMechanicalSteelMaterialProperties"
RULE_NAME = "WR32"
@staticmethod
def __call__(self):
ultimatestress = self.UltimateStress
assert (not exists(ultimatestress)) or (ultimatestress >= 0.)
class IfcMechanicalSteelMaterialProperties_WR33:
SCOPE = "entity"
TYPE_NAME = "IfcMechanicalSteelMaterialProperties"
RULE_NAME = "WR33"
@staticmethod
def __call__(self):
hardeningmodule = self.HardeningModule
assert (not exists(hardeningmodule)) or (hardeningmodule >= 0.)
class IfcMechanicalSteelMaterialProperties_WR34:
SCOPE = "entity"
TYPE_NAME = "IfcMechanicalSteelMaterialProperties"
RULE_NAME = "WR34"
@staticmethod
def __call__(self):
proportionalstress = self.ProportionalStress
assert (not exists(proportionalstress)) or (proportionalstress >= 0.)
class IfcMove_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcMove"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert sizeof(self.OperatesOn) >= 1
class IfcMove_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcMove"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
operateson = self.OperatesOn
assert (sizeof([temp for temp in operateson if (sizeof([temp2 for temp2 in temp.RelatedObjects if ('ifc2x3.ifcactor' in typeof(temp2)) or ('ifc2x3.ifcequipmentelement' in typeof(temp2)) or ('ifc2x3.ifcfurnishingelement' in typeof(temp2))])) >= 1])) >= 1
class IfcMove_WR3:
SCOPE = "entity"
TYPE_NAME = "IfcMove"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
assert exists(self.Name)
class IfcNamedUnit_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcNamedUnit"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert IfcCorrectDimensions(self.UnitType,self.Dimensions)
class IfcObject_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcObject"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
isdefinedby = self.IsDefinedBy
assert (sizeof([temp for temp in isdefinedby if 'ifc2x3.ifcreldefinesbytype' in typeof(temp)])) <= 1
class IfcObjective_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcObjective"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
objectivequalifier = self.ObjectiveQualifier
assert (objectivequalifier != IfcObjectiveEnum.USERDEFINED) or ((objectivequalifier == IfcObjectiveEnum.USERDEFINED) and exists(self.UserDefinedQualifier))
class IfcOccupant_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcOccupant"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (not predefinedtype == IfcOccupantTypeEnum.USERDEFINED) or exists(self.ObjectType)
class IfcOffsetCurve2D_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcOffsetCurve2D"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
basiscurve = self.BasisCurve
assert basiscurve.Dim == 2
class IfcOffsetCurve3D_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcOffsetCurve3D"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
basiscurve = self.BasisCurve
assert basiscurve.Dim == 3
class IfcOrientedEdge_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcOrientedEdge"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
edgeelement = self.EdgeElement
assert not 'ifc2x3.ifcorientededge' in typeof(edgeelement)
def calc_IfcOrientedEdge_EdgeStart(self):
edgeelement = self.EdgeElement
orientation = self.Orientation
return \
IfcBooleanChoose(orientation,edgeelement.EdgeStart,edgeelement.EdgeEnd)
def calc_IfcOrientedEdge_EdgeEnd(self):
edgeelement = self.EdgeElement
orientation = self.Orientation
return \
IfcBooleanChoose(orientation,edgeelement.EdgeEnd,edgeelement.EdgeStart)
class IfcPath_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcPath"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert IfcPathHeadToTail(self)
class IfcPerson_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcPerson"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
familyname = self.FamilyName
givenname = self.GivenName
assert exists(familyname) or exists(givenname)
class IfcPhysicalComplexQuantity_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcPhysicalComplexQuantity"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
hasquantities = self.HasQuantities
assert (sizeof([temp for temp in hasquantities if self == temp])) == 0
class IfcPile_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcPile"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcPileTypeEnum.USERDEFINED) or ((predefinedtype == IfcPileTypeEnum.USERDEFINED) and exists(self.ObjectType))
class IfcPipeFittingType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcPipeFittingType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcPipeFittingTypeEnum.USERDEFINED) or ((predefinedtype == IfcPipeFittingTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcPipeSegmentType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcPipeSegmentType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcPipeSegmentTypeEnum.USERDEFINED) or ((predefinedtype == IfcPipeSegmentTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcPixelTexture_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcPixelTexture"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
width = self.Width
assert width >= 1
class IfcPixelTexture_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcPixelTexture"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
height = self.Height
assert height >= 1
class IfcPixelTexture_WR23:
SCOPE = "entity"
TYPE_NAME = "IfcPixelTexture"
RULE_NAME = "WR23"
@staticmethod
def __call__(self):
colourcomponents = self.ColourComponents
assert 1 <= colourcomponents <= 4
class IfcPixelTexture_WR24:
SCOPE = "entity"
TYPE_NAME = "IfcPixelTexture"
RULE_NAME = "WR24"
@staticmethod
def __call__(self):
width = self.Width
height = self.Height
pixel = self.Pixel
assert sizeof(pixel) == (width * height)
def calc_IfcPlacement_Dim(self):
location = self.Location
return \
location.Dim
def calc_IfcPointOnCurve_Dim(self):
basiscurve = self.BasisCurve
return \
basiscurve.Dim
def calc_IfcPointOnSurface_Dim(self):
basissurface = self.BasisSurface
return \
basissurface.Dim
class IfcPolyLoop_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcPolyLoop"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
polygon = self.Polygon
assert (sizeof([temp for temp in polygon if temp.Dim != (polygon[1 - 1].Dim)])) == 0
class IfcPolygonalBoundedHalfSpace_WR41:
SCOPE = "entity"
TYPE_NAME = "IfcPolygonalBoundedHalfSpace"
RULE_NAME = "WR41"
@staticmethod
def __call__(self):
polygonalboundary = self.PolygonalBoundary
assert polygonalboundary.Dim == 2
class IfcPolygonalBoundedHalfSpace_WR42:
SCOPE = "entity"
TYPE_NAME = "IfcPolygonalBoundedHalfSpace"
RULE_NAME = "WR42"
@staticmethod
def __call__(self):
polygonalboundary = self.PolygonalBoundary
assert (sizeof(typeof(polygonalboundary) * ['ifc2x3.ifcpolyline','ifc2x3.ifccompositecurve'])) == 1
class IfcPolyline_WR41:
SCOPE = "entity"
TYPE_NAME = "IfcPolyline"
RULE_NAME = "WR41"
@staticmethod
def __call__(self):
points = self.Points
assert (sizeof([temp for temp in points if temp.Dim != (points[1 - 1].Dim)])) == 0
class IfcPostalAddress_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcPostalAddress"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
internallocation = self.InternalLocation
addresslines = self.AddressLines
postalbox = self.PostalBox
town = self.Town
region = self.Region
postalcode = self.PostalCode
country = self.Country
assert exists(internallocation) or exists(addresslines) or exists(postalbox) or exists(postalcode) or exists(town) or exists(region) or exists(country)
class IfcPreDefinedDimensionSymbol_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcPreDefinedDimensionSymbol"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert self.Name in ['arclength','conicaltaper','counterbore','countersink','depth','diameter','plusminus','radius','slope','sphericaldiameter','sphericalradius','square']
class IfcPreDefinedPointMarkerSymbol_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcPreDefinedPointMarkerSymbol"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert self.Name in ['asterisk','circle','dot','plus','square','triangle','x']
class IfcPreDefinedTerminatorSymbol_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcPreDefinedTerminatorSymbol"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert self.Name in ['blankedarrow','blankedbox','blankeddot','dimensionorigin','filledarrow','filledbox','filleddot','integralsymbol','openarrow','slash','unfilledarrow']
class IfcProcedure_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcProcedure"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.Decomposes if not 'ifc2x3.ifcrelnests' in typeof(temp)])) == 0
class IfcProcedure_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcProcedure"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.IsDecomposedBy if not 'ifc2x3.ifcrelnests' in typeof(temp)])) == 0
class IfcProcedure_WR3:
SCOPE = "entity"
TYPE_NAME = "IfcProcedure"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
assert exists(self.Name)
class IfcProcedure_WR4:
SCOPE = "entity"
TYPE_NAME = "IfcProcedure"
RULE_NAME = "WR4"
@staticmethod
def __call__(self):
proceduretype = self.ProcedureType
assert (proceduretype != IfcProcedureTypeEnum.USERDEFINED) or ((proceduretype == IfcProcedureTypeEnum.USERDEFINED) and exists(self.UserDefinedProcedureType))
class IfcProduct_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcProduct"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
objectplacement = self.ObjectPlacement
representation = self.Representation
assert (exists(representation) and exists(objectplacement)) or (exists(representation) and (not 'ifc2x3.ifcproductdefinitionshape' in typeof(representation))) or (not exists(representation))
class IfcProductDefinitionShape_WR11:
SCOPE = "entity"
TYPE_NAME = "IfcProductDefinitionShape"
RULE_NAME = "WR11"
@staticmethod
def __call__(self):
representations = self.Representations
assert (sizeof([temp for temp in representations if not 'ifc2x3.ifcshapemodel' in typeof(temp)])) == 0
class IfcProject_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcProject"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert exists(self.Name)
class IfcProject_WR32:
SCOPE = "entity"
TYPE_NAME = "IfcProject"
RULE_NAME = "WR32"
@staticmethod
def __call__(self):
representationcontexts = self.RepresentationContexts
assert (sizeof([temp for temp in representationcontexts if 'ifc2x3.ifcgeometricrepresentationsubcontext' in typeof(temp)])) == 0
class IfcProject_WR33:
SCOPE = "entity"
TYPE_NAME = "IfcProject"
RULE_NAME = "WR33"
@staticmethod
def __call__(self):
assert sizeof(self.Decomposes) == 0
class IfcPropertyBoundedValue_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcPropertyBoundedValue"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
upperboundvalue = self.UpperBoundValue
lowerboundvalue = self.LowerBoundValue
assert (not exists(upperboundvalue)) or (not exists(lowerboundvalue)) or (typeof(upperboundvalue) == typeof(lowerboundvalue))
class IfcPropertyBoundedValue_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcPropertyBoundedValue"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
upperboundvalue = self.UpperBoundValue
lowerboundvalue = self.LowerBoundValue
assert exists(upperboundvalue) or exists(lowerboundvalue)
class IfcPropertyDependencyRelationship_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcPropertyDependencyRelationship"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
dependingproperty = self.DependingProperty
dependantproperty = self.DependantProperty
assert dependingproperty != dependantproperty
class IfcPropertyEnumeratedValue_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcPropertyEnumeratedValue"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
enumerationvalues = self.EnumerationValues
enumerationreference = self.EnumerationReference
assert (not exists(enumerationreference)) or ((sizeof([temp for temp in enumerationvalues if temp in enumerationreference.EnumerationValues])) == sizeof(enumerationvalues))
class IfcPropertyEnumeration_WR01:
SCOPE = "entity"
TYPE_NAME = "IfcPropertyEnumeration"
RULE_NAME = "WR01"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.EnumerationValues if not (typeof(self.EnumerationValues[1 - 1])) == typeof(temp)])) == 0
class IfcPropertyListValue_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcPropertyListValue"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.ListValues if not (typeof(self.ListValues[1 - 1])) == typeof(temp)])) == 0
class IfcPropertySet_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcPropertySet"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert exists(self.Name)
class IfcPropertySet_WR32:
SCOPE = "entity"
TYPE_NAME = "IfcPropertySet"
RULE_NAME = "WR32"
@staticmethod
def __call__(self):
hasproperties = self.HasProperties
assert IfcUniquePropertyName(hasproperties)
class IfcPropertyTableValue_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcPropertyTableValue"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
definingvalues = self.DefiningValues
definedvalues = self.DefinedValues
assert sizeof(definingvalues) == sizeof(definedvalues)
class IfcPropertyTableValue_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcPropertyTableValue"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.DefiningValues if typeof(temp) != (typeof(self.DefiningValues[1 - 1]))])) == 0
class IfcPropertyTableValue_WR3:
SCOPE = "entity"
TYPE_NAME = "IfcPropertyTableValue"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.DefinedValues if typeof(temp) != (typeof(self.DefinedValues[1 - 1]))])) == 0
class IfcProxy_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcProxy"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert exists(self.Name)
class IfcPumpType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcPumpType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcPumpTypeEnum.USERDEFINED) or ((predefinedtype == IfcPumpTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcQuantityArea_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcQuantityArea"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
assert (not exists(self.Unit)) or (self.Unit.UnitType == IfcUnitEnum.AREAUNIT)
class IfcQuantityArea_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcQuantityArea"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
areavalue = self.AreaValue
assert areavalue >= 0.
class IfcQuantityCount_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcQuantityCount"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
countvalue = self.CountValue
assert countvalue >= 0.
class IfcQuantityLength_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcQuantityLength"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
assert (not exists(self.Unit)) or (self.Unit.UnitType == IfcUnitEnum.LENGTHUNIT)
class IfcQuantityLength_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcQuantityLength"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
lengthvalue = self.LengthValue
assert lengthvalue >= 0.
class IfcQuantityTime_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcQuantityTime"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
assert (not exists(self.Unit)) or (self.Unit.UnitType == IfcUnitEnum.TIMEUNIT)
class IfcQuantityTime_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcQuantityTime"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
timevalue = self.TimeValue
assert timevalue >= 0.
class IfcQuantityVolume_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcQuantityVolume"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
assert (not exists(self.Unit)) or (self.Unit.UnitType == IfcUnitEnum.VOLUMEUNIT)
class IfcQuantityVolume_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcQuantityVolume"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
volumevalue = self.VolumeValue
assert volumevalue >= 0.
class IfcQuantityWeight_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcQuantityWeight"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
assert (not exists(self.Unit)) or (self.Unit.UnitType == IfcUnitEnum.MASSUNIT)
class IfcQuantityWeight_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcQuantityWeight"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
weightvalue = self.WeightValue
assert weightvalue >= 0.
class IfcRailing_WR61:
SCOPE = "entity"
TYPE_NAME = "IfcRailing"
RULE_NAME = "WR61"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (not exists(predefinedtype)) or (predefinedtype != IfcRailingTypeEnum.USERDEFINED) or ((predefinedtype == IfcRailingTypeEnum.USERDEFINED) and exists(self.ObjectType))
class IfcRamp_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcRamp"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert (hiindex(self.IsDecomposedBy) == 0) or ((hiindex(self.IsDecomposedBy) == 1) and (not exists(self.Representation)))
class IfcRationalBezierCurve_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcRationalBezierCurve"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
weightsdata = self.WeightsData
assert sizeof(weightsdata) == sizeof(self.ControlPointsList)
class IfcRationalBezierCurve_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcRationalBezierCurve"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
assert IfcCurveWeightsPositive(self)
def calc_IfcRationalBezierCurve_Weights(self):
weightsdata = self.WeightsData
return \
IfcListToArray(weightsdata,0,self.UpperIndexOnControlPoints)
class IfcRectangleHollowProfileDef_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcRectangleHollowProfileDef"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
wallthickness = self.WallThickness
assert (wallthickness < (self.XDim / 2.)) and (wallthickness < (self.YDim / 2.))
class IfcRectangleHollowProfileDef_WR32:
SCOPE = "entity"
TYPE_NAME = "IfcRectangleHollowProfileDef"
RULE_NAME = "WR32"
@staticmethod
def __call__(self):
outerfilletradius = self.OuterFilletRadius
assert (not exists(outerfilletradius)) or ((outerfilletradius <= (self.XDim / 2.)) and (outerfilletradius <= (self.YDim / 2.)))
class IfcRectangleHollowProfileDef_WR33:
SCOPE = "entity"
TYPE_NAME = "IfcRectangleHollowProfileDef"
RULE_NAME = "WR33"
@staticmethod
def __call__(self):
wallthickness = self.WallThickness
innerfilletradius = self.InnerFilletRadius
assert (not exists(innerfilletradius)) or ((innerfilletradius <= ((self.XDim / 2.) - wallthickness)) and (innerfilletradius <= ((self.YDim / 2.) - wallthickness)))
class IfcRectangularTrimmedSurface_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcRectangularTrimmedSurface"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
u1 = self.U1
u2 = self.U2
assert u1 != u2
class IfcRectangularTrimmedSurface_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcRectangularTrimmedSurface"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
v1 = self.V1
v2 = self.V2
assert v1 != v2
class IfcRectangularTrimmedSurface_WR3:
SCOPE = "entity"
TYPE_NAME = "IfcRectangularTrimmedSurface"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
basissurface = self.BasisSurface
u1 = self.U1
u2 = self.U2
usense = self.Usense
assert (('ifc2x3.ifcelementarysurface' in typeof(basissurface)) and (not 'ifc2x3.ifcplane' in typeof(basissurface))) or ('ifc2x3.ifcsurfaceofrevolution' in typeof(basissurface)) or (usense == (u2 > u1))
class IfcRectangularTrimmedSurface_WR4:
SCOPE = "entity"
TYPE_NAME = "IfcRectangularTrimmedSurface"
RULE_NAME = "WR4"
@staticmethod
def __call__(self):
v1 = self.V1
v2 = self.V2
vsense = self.Vsense
assert vsense == (v2 > v1)
def calc_IfcRectangularTrimmedSurface_Dim(self):
basissurface = self.BasisSurface
return \
basissurface.Dim
class IfcReinforcingBar_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcReinforcingBar"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
barrole = self.BarRole
assert (barrole != IfcReinforcingBarRoleEnum.USERDEFINED) or ((barrole == IfcReinforcingBarRoleEnum.USERDEFINED) and exists(self.ObjectType))
class IfcRelAssigns_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcRelAssigns"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
relatedobjects = self.RelatedObjects
relatedobjectstype = self.RelatedObjectsType
assert IfcCorrectObjectAssignment(relatedobjectstype,relatedobjects)
class IfcRelAssignsTasks_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcRelAssignsTasks"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert hiindex(self.RelatedObjects) == 1
class IfcRelAssignsTasks_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcRelAssignsTasks"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
assert 'ifc2x3.ifctask' in (typeof(self.RelatedObjects[1 - 1]))
class IfcRelAssignsTasks_WR3:
SCOPE = "entity"
TYPE_NAME = "IfcRelAssignsTasks"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
assert 'ifc2x3.ifcworkcontrol' in typeof(self.RelatingControl)
class IfcRelAssignsToActor_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcRelAssignsToActor"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
relatingactor = self.RelatingActor
assert (sizeof([temp for temp in self.RelatedObjects if relatingactor == temp])) == 0
class IfcRelAssignsToControl_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcRelAssignsToControl"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
relatingcontrol = self.RelatingControl
assert (sizeof([temp for temp in self.RelatedObjects if relatingcontrol == temp])) == 0
class IfcRelAssignsToGroup_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcRelAssignsToGroup"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
relatinggroup = self.RelatingGroup
assert (sizeof([temp for temp in self.RelatedObjects if relatinggroup == temp])) == 0
class IfcRelAssignsToProcess_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcRelAssignsToProcess"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
relatingprocess = self.RelatingProcess
assert (sizeof([temp for temp in self.RelatedObjects if relatingprocess == temp])) == 0
class IfcRelAssignsToProduct_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcRelAssignsToProduct"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
relatingproduct = self.RelatingProduct
assert (sizeof([temp for temp in self.RelatedObjects if relatingproduct == temp])) == 0
class IfcRelAssignsToResource_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcRelAssignsToResource"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
relatingresource = self.RelatingResource
assert (sizeof([temp for temp in self.RelatedObjects if relatingresource == temp])) == 0
class IfcRelAssociates_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcRelAssociates"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
relatedobjects = self.RelatedObjects
assert (sizeof([temp for temp in relatedobjects if not ('ifc2x3.ifcobjectdefinition' in typeof(temp)) or ('ifc2x3.ifcpropertydefinition' in typeof(temp))])) == 0
class IfcRelAssociatesMaterial_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcRelAssociatesMaterial"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.RelatedObjects if ('ifc2x3.ifcfeatureelementsubtraction' in typeof(temp)) or ('ifc2x3.ifcvirtualelement' in typeof(temp))])) == 0
class IfcRelAssociatesMaterial_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcRelAssociatesMaterial"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.RelatedObjects if (not 'ifc2x3.ifcproduct' in typeof(temp)) and (not 'ifc2x3.ifctypeproduct' in typeof(temp))])) == 0
class IfcRelConnectsElements_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcRelConnectsElements"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
relatingelement = self.RelatingElement
relatedelement = self.RelatedElement
assert relatingelement != relatedelement
class IfcRelContainedInSpatialStructure_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcRelContainedInSpatialStructure"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
relatedelements = self.RelatedElements
assert (sizeof([temp for temp in relatedelements if 'ifc2x3.ifcspatialstructureelement' in typeof(temp)])) == 0
class IfcRelDecomposes_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcRelDecomposes"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
relatingobject = self.RelatingObject
relatedobjects = self.RelatedObjects
assert (sizeof([temp for temp in relatedobjects if relatingobject == temp])) == 0
class IfcRelNests_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcRelNests"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.RelatedObjects if not typeof(self.RelatingObject) == typeof(temp)])) == 0
class IfcRelOverridesProperties_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcRelOverridesProperties"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert sizeof(self.RelatedObjects) == 1
class IfcRelReferencedInSpatialStructure_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcRelReferencedInSpatialStructure"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
relatedelements = self.RelatedElements
assert (sizeof([temp for temp in relatedelements if 'ifc2x3.ifcspatialstructureelement' in typeof(temp)])) == 0
class IfcRelSchedulesCostItems_WR11:
SCOPE = "entity"
TYPE_NAME = "IfcRelSchedulesCostItems"
RULE_NAME = "WR11"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.RelatedObjects if not 'ifc2x3.ifccostitem' in typeof(temp)])) == 0
class IfcRelSchedulesCostItems_WR12:
SCOPE = "entity"
TYPE_NAME = "IfcRelSchedulesCostItems"
RULE_NAME = "WR12"
@staticmethod
def __call__(self):
assert 'ifc2x3.ifccostschedule' in typeof(self.RelatingControl)
class IfcRelSequence_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcRelSequence"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
relatingprocess = self.RelatingProcess
relatedprocess = self.RelatedProcess
assert relatingprocess != relatedprocess
class IfcRelSpaceBoundary_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcRelSpaceBoundary"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
relatedbuildingelement = self.RelatedBuildingElement
physicalorvirtualboundary = self.PhysicalOrVirtualBoundary
assert ((physicalorvirtualboundary == IfcPhysicalOrVirtualEnum.Physical) and (exists(relatedbuildingelement) and (not 'ifc2x3.ifcvirtualelement' in typeof(relatedbuildingelement)))) or ((physicalorvirtualboundary == IfcPhysicalOrVirtualEnum.Virtual) and ((not exists(relatedbuildingelement)) or ('ifc2x3.ifcvirtualelement' in typeof(relatedbuildingelement)))) or (physicalorvirtualboundary == IfcPhysicalOrVirtualEnum.NotDefined)
class IfcRevolvedAreaSolid_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcRevolvedAreaSolid"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
axis = self.Axis
assert (axis.Location.Coordinates[3 - 1]) == 0.0
class IfcRevolvedAreaSolid_WR32:
SCOPE = "entity"
TYPE_NAME = "IfcRevolvedAreaSolid"
RULE_NAME = "WR32"
@staticmethod
def __call__(self):
axis = self.Axis
assert (axis.Z.DirectionRatios[3 - 1]) == 0.0
def calc_IfcRevolvedAreaSolid_AxisLine(self):
axis = self.Axis
return \
IfcLine(Pnt=axis.Location, Dir=IfcVector(Orientation=axis.Z, Magnitude=1.0))
class IfcRoof_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcRoof"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert (hiindex(self.IsDecomposedBy) == 0) or ((hiindex(self.IsDecomposedBy) == 1) and (not exists(self.Representation)))
class IfcRoundedRectangleProfileDef_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcRoundedRectangleProfileDef"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
roundingradius = self.RoundingRadius
assert (roundingradius <= (self.XDim / 2.)) and (roundingradius <= (self.YDim / 2.))
def calc_IfcSIUnit_Dimensions(self):
return \
IfcDimensionsForSiUnit(self.Name)
class IfcSectionedSpine_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcSectionedSpine"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
crosssections = self.CrossSections
crosssectionpositions = self.CrossSectionPositions
assert sizeof(crosssections) == sizeof(crosssectionpositions)
class IfcSectionedSpine_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcSectionedSpine"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
crosssections = self.CrossSections
assert (sizeof([temp for temp in crosssections if (crosssections[1 - 1].ProfileType) != temp.ProfileType])) == 0
class IfcSectionedSpine_WR3:
SCOPE = "entity"
TYPE_NAME = "IfcSectionedSpine"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
spinecurve = self.SpineCurve
assert spinecurve.Dim == 3
def calc_IfcSectionedSpine_Dim(self):
return \
3
class IfcServiceLifeFactor_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcServiceLifeFactor"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (not predefinedtype == IfcServiceLifeFactorTypeEnum.USERDEFINED) or exists(self.ObjectType)
class IfcShapeModel_WR11:
SCOPE = "entity"
TYPE_NAME = "IfcShapeModel"
RULE_NAME = "WR11"
@staticmethod
def __call__(self):
ofshapeaspect = self.OfShapeAspect
assert (sizeof(self.OfProductRepresentation) == 1) ^ (sizeof(self.RepresentationMap) == 1) ^ (sizeof(ofshapeaspect) == 1)
class IfcShapeRepresentation_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcShapeRepresentation"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
assert 'ifc2x3.ifcgeometricrepresentationcontext' in typeof(self.ContextOfItems)
class IfcShapeRepresentation_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcShapeRepresentation"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
items = self.Items
assert (sizeof([temp for temp in items if ('ifc2x3.ifctopologicalrepresentationitem' in typeof(temp)) and (not (sizeof(['ifc2x3.ifcvertexpoint','ifc2x3.ifcedgecurve','ifc2x3.ifcfacesurface'] * typeof(temp))) == 1)])) == 0
class IfcShapeRepresentation_WR23:
SCOPE = "entity"
TYPE_NAME = "IfcShapeRepresentation"
RULE_NAME = "WR23"
@staticmethod
def __call__(self):
assert exists(self.RepresentationType)
class IfcShapeRepresentation_WR24:
SCOPE = "entity"
TYPE_NAME = "IfcShapeRepresentation"
RULE_NAME = "WR24"
@staticmethod
def __call__(self):
assert IfcShapeRepresentationTypes(self.RepresentationType,self.Items)
def calc_IfcShellBasedSurfaceModel_Dim(self):
return \
3
class IfcSlab_WR61:
SCOPE = "entity"
TYPE_NAME = "IfcSlab"
RULE_NAME = "WR61"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (not exists(predefinedtype)) or (predefinedtype != IfcSlabTypeEnum.USERDEFINED) or ((predefinedtype == IfcSlabTypeEnum.USERDEFINED) and exists(self.ObjectType))
def calc_IfcSolidModel_Dim(self):
return \
3
class IfcSpaceHeaterType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcSpaceHeaterType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcSpaceHeaterTypeEnum.USERDEFINED) or ((predefinedtype == IfcSpaceHeaterTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcSpatialStructureElement_WR41:
SCOPE = "entity"
TYPE_NAME = "IfcSpatialStructureElement"
RULE_NAME = "WR41"
@staticmethod
def __call__(self):
assert (hiindex(self.Decomposes) == 1) and ('ifc2x3.ifcrelaggregates' in (typeof(self.Decomposes[1 - 1]))) and (('ifc2x3.ifcproject' in (typeof(self.Decomposes[1 - 1].RelatingObject))) or ('ifc2x3.ifcspatialstructureelement' in (typeof(self.Decomposes[1 - 1].RelatingObject))))
class IfcStair_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcStair"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert (hiindex(self.IsDecomposedBy) == 0) or ((hiindex(self.IsDecomposedBy) == 1) and (not exists(self.Representation)))
class IfcStructuralLinearAction_WR61:
SCOPE = "entity"
TYPE_NAME = "IfcStructuralLinearAction"
RULE_NAME = "WR61"
@staticmethod
def __call__(self):
assert (sizeof(['ifc2x3.ifcstructuralloadlinearforce','ifc2x3.ifcstructuralloadtemperature'] * typeof(self.AppliedLoad))) == 1
def calc_IfcStructuralLinearActionVarying_VaryingAppliedLoads(self):
subsequentappliedloads = self.SubsequentAppliedLoads
return \
IfcAddToBeginOfList(self.AppliedLoad,subsequentappliedloads)
class IfcStructuralPlanarAction_WR61:
SCOPE = "entity"
TYPE_NAME = "IfcStructuralPlanarAction"
RULE_NAME = "WR61"
@staticmethod
def __call__(self):
assert (sizeof(['ifc2x3.ifcstructuralloadplanarforce','ifc2x3.ifcstructuralloadtemperature'] * typeof(self.AppliedLoad))) == 1
def calc_IfcStructuralPlanarActionVarying_VaryingAppliedLoads(self):
subsequentappliedloads = self.SubsequentAppliedLoads
return \
IfcAddToBeginOfList(self.AppliedLoad,subsequentappliedloads)
class IfcStructuralPointAction_WR61:
SCOPE = "entity"
TYPE_NAME = "IfcStructuralPointAction"
RULE_NAME = "WR61"
@staticmethod
def __call__(self):
assert (sizeof(['ifc2x3.ifcstructuralloadsingleforce','ifc2x3.ifcstructuralloadsingledisplacement'] * typeof(self.AppliedLoad))) == 1
class IfcStructuralPointReaction_WR61:
SCOPE = "entity"
TYPE_NAME = "IfcStructuralPointReaction"
RULE_NAME = "WR61"
@staticmethod
def __call__(self):
assert (sizeof(['ifc2x3.ifcstructuralloadsingleforce','ifc2x3.ifcstructuralloadsingledisplacement'] * typeof(self.AppliedLoad))) == 1
class IfcStructuralProfileProperties_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcStructuralProfileProperties"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
sheardeformationareay = self.ShearDeformationAreaY
assert (not exists(sheardeformationareay)) or (sheardeformationareay >= 0.)
class IfcStructuralProfileProperties_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcStructuralProfileProperties"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
sheardeformationareaz = self.ShearDeformationAreaZ
assert (not exists(sheardeformationareaz)) or (sheardeformationareaz >= 0.)
class IfcStructuralSteelProfileProperties_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcStructuralSteelProfileProperties"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
shearareay = self.ShearAreaY
assert (not exists(shearareay)) or (shearareay >= 0.)
class IfcStructuralSteelProfileProperties_WR32:
SCOPE = "entity"
TYPE_NAME = "IfcStructuralSteelProfileProperties"
RULE_NAME = "WR32"
@staticmethod
def __call__(self):
shearareaz = self.ShearAreaZ
assert (not exists(shearareaz)) or (shearareaz >= 0.)
class IfcStructuralSurfaceMemberVarying_WR61:
SCOPE = "entity"
TYPE_NAME = "IfcStructuralSurfaceMemberVarying"
RULE_NAME = "WR61"
@staticmethod
def __call__(self):
assert exists(self.Thickness)
class IfcStructuralSurfaceMemberVarying_WR62:
SCOPE = "entity"
TYPE_NAME = "IfcStructuralSurfaceMemberVarying"
RULE_NAME = "WR62"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.VaryingThicknessLocation.ShapeRepresentations if not sizeof(temp.Items) == 1])) == 0
class IfcStructuralSurfaceMemberVarying_WR63:
SCOPE = "entity"
TYPE_NAME = "IfcStructuralSurfaceMemberVarying"
RULE_NAME = "WR63"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.VaryingThicknessLocation.ShapeRepresentations if not ('ifc2x3.ifccartesianpoint' in (typeof(temp.Items[1 - 1]))) or ('ifc2x3.ifcpointonsurface' in (typeof(temp.Items[1 - 1])))])) == 0
def calc_IfcStructuralSurfaceMemberVarying_VaryingThickness(self):
subsequentthickness = self.SubsequentThickness
return \
IfcAddToBeginOfList(self.Thickness,subsequentthickness)
class IfcStructuredDimensionCallout_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcStructuredDimensionCallout"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
contents = self.Contents
assert (sizeof([ato for ato in [con for con in self.contents if 'ifc2x3.ifcannotationtextoccurrence' in typeof(con)] if not ato.Name in ['dimensionvalue','tolerancevalue','unittext','prefixtext','suffixtext']])) == 0
class IfcStyledItem_WR11:
SCOPE = "entity"
TYPE_NAME = "IfcStyledItem"
RULE_NAME = "WR11"
@staticmethod
def __call__(self):
styles = self.Styles
assert sizeof(styles) == 1
class IfcStyledItem_WR12:
SCOPE = "entity"
TYPE_NAME = "IfcStyledItem"
RULE_NAME = "WR12"
@staticmethod
def __call__(self):
item = self.Item
assert not 'ifc2x3.ifcstyleditem' in typeof(item)
class IfcStyledRepresentation_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcStyledRepresentation"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.Items if not 'ifc2x3.ifcstyleditem' in typeof(temp)])) == 0
class IfcSurfaceOfLinearExtrusion_WR41:
SCOPE = "entity"
TYPE_NAME = "IfcSurfaceOfLinearExtrusion"
RULE_NAME = "WR41"
@staticmethod
def __call__(self):
depth = self.Depth
assert depth > 0.
def calc_IfcSurfaceOfLinearExtrusion_ExtrusionAxis(self):
extrudeddirection = self.ExtrudedDirection
depth = self.Depth
return \
IfcVector(Orientation=extrudeddirection, Magnitude=depth)
def calc_IfcSurfaceOfRevolution_AxisLine(self):
axisposition = self.AxisPosition
return \
IfcLine(Pnt=axisposition.Location, Dir=IfcVector(Orientation=axisposition.Z, Magnitude=1.0))
class IfcSurfaceStyle_WR11:
SCOPE = "entity"
TYPE_NAME = "IfcSurfaceStyle"
RULE_NAME = "WR11"
@staticmethod
def __call__(self):
assert (sizeof([style for style in self.Styles if 'ifc2x3.ifcsurfacestyleshading' in typeof(style)])) <= 1
class IfcSurfaceStyle_WR12:
SCOPE = "entity"
TYPE_NAME = "IfcSurfaceStyle"
RULE_NAME = "WR12"
@staticmethod
def __call__(self):
assert (sizeof([style for style in self.Styles if 'ifc2x3.ifcsurfacestylelighting' in typeof(style)])) <= 1
class IfcSurfaceStyle_WR13:
SCOPE = "entity"
TYPE_NAME = "IfcSurfaceStyle"
RULE_NAME = "WR13"
@staticmethod
def __call__(self):
assert (sizeof([style for style in self.Styles if 'ifc2x3.ifcsurfacestylerefraction' in typeof(style)])) <= 1
class IfcSurfaceStyle_WR14:
SCOPE = "entity"
TYPE_NAME = "IfcSurfaceStyle"
RULE_NAME = "WR14"
@staticmethod
def __call__(self):
assert (sizeof([style for style in self.Styles if 'ifc2x3.ifcsurfacestylewithtextures' in typeof(style)])) <= 1
class IfcSurfaceStyle_WR15:
SCOPE = "entity"
TYPE_NAME = "IfcSurfaceStyle"
RULE_NAME = "WR15"
@staticmethod
def __call__(self):
assert (sizeof([style for style in self.Styles if 'ifc2x3.ifcexternallydefinedsurfacestyle' in typeof(style)])) <= 1
class IfcSweptAreaSolid_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcSweptAreaSolid"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
sweptarea = self.SweptArea
assert sweptarea.ProfileType == IfcProfileTypeEnum.Area
class IfcSweptDiskSolid_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcSweptDiskSolid"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
directrix = self.Directrix
assert directrix.Dim == 3
class IfcSweptDiskSolid_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcSweptDiskSolid"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
radius = self.Radius
innerradius = self.InnerRadius
assert (not exists(innerradius)) or (radius > innerradius)
class IfcSweptSurface_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcSweptSurface"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
sweptcurve = self.SweptCurve
assert not 'ifc2x3.ifcderivedprofiledef' in typeof(sweptcurve)
class IfcSweptSurface_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcSweptSurface"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
sweptcurve = self.SweptCurve
assert sweptcurve.ProfileType == IfcProfileTypeEnum.Curve
def calc_IfcSweptSurface_Dim(self):
position = self.Position
return \
position.Dim
class IfcTShapeProfileDef_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcTShapeProfileDef"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
depth = self.Depth
flangethickness = self.FlangeThickness
assert flangethickness < depth
class IfcTShapeProfileDef_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcTShapeProfileDef"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
flangewidth = self.FlangeWidth
webthickness = self.WebThickness
assert webthickness < flangewidth
class IfcTable_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcTable"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
rows = self.Rows
assert (sizeof([temp for temp in rows if hiindex(temp.RowCells) != (hiindex(rows[1 - 1].RowCells))])) == 0
class IfcTable_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcTable"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
rows = self.Rows
assert (sizeof([temp for temp in rows if hiindex(temp.RowCells) != (hiindex(rows[1 - 1].RowCells))])) == 0
class IfcTable_WR3:
SCOPE = "entity"
TYPE_NAME = "IfcTable"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
numberofheadings = self.NumberOfHeadings
assert 0 <= numberofheadings <= 1
def calc_IfcTable_NumberOfCellsInRow(self):
rows = self.Rows
return \
hiindex(rows[1 - 1].RowCells)
def calc_IfcTable_NumberOfHeadings(self):
rows = self.Rows
return \
sizeof([temp for temp in rows if temp.IsHeading])
def calc_IfcTable_NumberOfDataRows(self):
rows = self.Rows
return \
sizeof([temp for temp in rows if not temp.IsHeading])
class IfcTankType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcTankType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcTankTypeEnum.USERDEFINED) or ((predefinedtype == IfcTankTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcTask_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcTask"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.Decomposes if not 'ifc2x3.ifcrelnests' in typeof(temp)])) == 0
class IfcTask_WR2:
SCOPE = "entity"
TYPE_NAME = "IfcTask"
RULE_NAME = "WR2"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.IsDecomposedBy if not 'ifc2x3.ifcrelnests' in typeof(temp)])) == 0
class IfcTask_WR3:
SCOPE = "entity"
TYPE_NAME = "IfcTask"
RULE_NAME = "WR3"
@staticmethod
def __call__(self):
assert exists(self.Name)
class IfcTelecomAddress_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcTelecomAddress"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
telephonenumbers = self.TelephoneNumbers
facsimilenumbers = self.FacsimileNumbers
pagernumber = self.PagerNumber
electronicmailaddresses = self.ElectronicMailAddresses
wwwhomepageurl = self.WWWHomePageURL
assert exists(telephonenumbers) or exists(pagernumber) or exists(facsimilenumbers) or exists(electronicmailaddresses) or exists(wwwhomepageurl)
class IfcTendon_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcTendon"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcTendonTypeEnum.USERDEFINED) or ((predefinedtype == IfcTendonTypeEnum.USERDEFINED) and exists(self.ObjectType))
class IfcTextLiteralWithExtent_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcTextLiteralWithExtent"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
extent = self.Extent
assert not 'ifc2x3.ifcplanarbox' in typeof(extent)
class IfcTextStyleFontModel_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcTextStyleFontModel"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
assert ('ifc2x3.ifclengthmeasure' in typeof(self.FontSize)) and (self.FontSize > 0.)
class IfcTextureMap_WR11:
SCOPE = "entity"
TYPE_NAME = "IfcTextureMap"
RULE_NAME = "WR11"
@staticmethod
def __call__(self):
assert (sizeof(['ifc2x3.ifcshellbasedsurfacemodel','ifc2x3.ifcfacebasedsurfacemodel','ifc2x3.ifcfacetedbrep','ifc2x3.ifcfacetedbrepwithvoids'] * (typeof(self.AnnotatedSurface[1 - 1].Item)))) >= 1
class IfcTimeSeriesSchedule_WR41:
SCOPE = "entity"
TYPE_NAME = "IfcTimeSeriesSchedule"
RULE_NAME = "WR41"
@staticmethod
def __call__(self):
timeseriesscheduletype = self.TimeSeriesScheduleType
assert (not timeseriesscheduletype == IfcTimeSeriesScheduleTypeEnum.USERDEFINED) or exists(self.ObjectType)
class IfcTopologyRepresentation_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcTopologyRepresentation"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.Items if not 'ifc2x3.ifctopologicalrepresentationitem' in typeof(temp)])) == 0
class IfcTopologyRepresentation_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcTopologyRepresentation"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
assert exists(self.RepresentationType)
class IfcTopologyRepresentation_WR23:
SCOPE = "entity"
TYPE_NAME = "IfcTopologyRepresentation"
RULE_NAME = "WR23"
@staticmethod
def __call__(self):
assert IfcTopologyRepresentationTypes(self.RepresentationType,self.Items)
class IfcTrimmedCurve_WR41:
SCOPE = "entity"
TYPE_NAME = "IfcTrimmedCurve"
RULE_NAME = "WR41"
@staticmethod
def __call__(self):
trim1 = self.Trim1
assert (hiindex(trim1) == 1) or ((typeof(trim1[1 - 1])) != (typeof(trim1[2 - 1])))
class IfcTrimmedCurve_WR42:
SCOPE = "entity"
TYPE_NAME = "IfcTrimmedCurve"
RULE_NAME = "WR42"
@staticmethod
def __call__(self):
trim2 = self.Trim2
assert (hiindex(trim2) == 1) or ((typeof(trim2[1 - 1])) != (typeof(trim2[2 - 1])))
class IfcTrimmedCurve_WR43:
SCOPE = "entity"
TYPE_NAME = "IfcTrimmedCurve"
RULE_NAME = "WR43"
@staticmethod
def __call__(self):
basiscurve = self.BasisCurve
assert not 'ifc2x3.ifcboundedcurve' in typeof(basiscurve)
class IfcTubeBundleType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcTubeBundleType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcTubeBundleTypeEnum.USERDEFINED) or ((predefinedtype == IfcTubeBundleTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcTypeObject_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcTypeObject"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert exists(self.Name)
class IfcTypeProduct_WR41:
SCOPE = "entity"
TYPE_NAME = "IfcTypeProduct"
RULE_NAME = "WR41"
@staticmethod
def __call__(self):
assert (not exists(lambda: self.ObjectTypeOf[1 - 1])) or ((sizeof([temp for temp in self.ObjectTypeOf[1 - 1].RelatedObjects if not 'ifc2x3.ifcproduct' in typeof(temp)])) == 0)
class IfcUShapeProfileDef_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcUShapeProfileDef"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
depth = self.Depth
flangethickness = self.FlangeThickness
assert flangethickness < (depth / 2.)
class IfcUShapeProfileDef_WR22:
SCOPE = "entity"
TYPE_NAME = "IfcUShapeProfileDef"
RULE_NAME = "WR22"
@staticmethod
def __call__(self):
flangewidth = self.FlangeWidth
webthickness = self.WebThickness
assert webthickness < flangewidth
class IfcUnitAssignment_WR01:
SCOPE = "entity"
TYPE_NAME = "IfcUnitAssignment"
RULE_NAME = "WR01"
@staticmethod
def __call__(self):
units = self.Units
assert IfcCorrectUnitAssignment(units)
class IfcUnitaryEquipmentType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcUnitaryEquipmentType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcUnitaryEquipmentTypeEnum.USERDEFINED) or ((predefinedtype == IfcUnitaryEquipmentTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcValveType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcValveType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcValveTypeEnum.USERDEFINED) or ((predefinedtype == IfcValveTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcVector_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcVector"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
magnitude = self.Magnitude
assert magnitude >= 0.0
def calc_IfcVector_Dim(self):
orientation = self.Orientation
return \
orientation.Dim
class IfcVibrationIsolatorType_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcVibrationIsolatorType"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
predefinedtype = self.PredefinedType
assert (predefinedtype != IfcVibrationIsolatorTypeEnum.USERDEFINED) or ((predefinedtype == IfcVibrationIsolatorTypeEnum.USERDEFINED) and exists(self.ElementType))
class IfcWall_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcWall"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.HasAssociations if 'ifc2x3.ifcrelassociatesmaterial' in typeof(temp)])) <= 1
class IfcWallStandardCase_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcWallStandardCase"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in usedin(self,'ifc2x3.ifcrelassociates.relatedobjects') if ('ifc2x3.ifcrelassociatesmaterial' in typeof(temp)) and ('ifc2x3.ifcmateriallayersetusage' in typeof(temp.RelatingMaterial))])) == 1
class IfcWindowLiningProperties_WR31:
SCOPE = "entity"
TYPE_NAME = "IfcWindowLiningProperties"
RULE_NAME = "WR31"
@staticmethod
def __call__(self):
liningdepth = self.LiningDepth
liningthickness = self.LiningThickness
assert not (not exists(liningdepth)) and exists(liningthickness)
class IfcWindowLiningProperties_WR32:
SCOPE = "entity"
TYPE_NAME = "IfcWindowLiningProperties"
RULE_NAME = "WR32"
@staticmethod
def __call__(self):
firsttransomoffset = self.FirstTransomOffset
secondtransomoffset = self.SecondTransomOffset
assert not (not exists(firsttransomoffset)) and exists(secondtransomoffset)
class IfcWindowLiningProperties_WR33:
SCOPE = "entity"
TYPE_NAME = "IfcWindowLiningProperties"
RULE_NAME = "WR33"
@staticmethod
def __call__(self):
firstmullionoffset = self.FirstMullionOffset
secondmullionoffset = self.SecondMullionOffset
assert not (not exists(firstmullionoffset)) and exists(secondmullionoffset)
class IfcWindowLiningProperties_WR34:
SCOPE = "entity"
TYPE_NAME = "IfcWindowLiningProperties"
RULE_NAME = "WR34"
@staticmethod
def __call__(self):
assert (exists(lambda: self.DefinesType[1 - 1])) and ('ifc2x3.ifcwindowstyle' in (typeof(self.DefinesType[1 - 1])))
class IfcWorkControl_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcWorkControl"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
workcontroltype = self.WorkControlType
assert (workcontroltype != IfcWorkControlTypeEnum.USERDEFINED) or ((workcontroltype == IfcWorkControlTypeEnum.USERDEFINED) and exists(self.UserDefinedControlType))
class IfcZShapeProfileDef_WR21:
SCOPE = "entity"
TYPE_NAME = "IfcZShapeProfileDef"
RULE_NAME = "WR21"
@staticmethod
def __call__(self):
depth = self.Depth
flangethickness = self.FlangeThickness
assert flangethickness < (depth / 2.)
class IfcZone_WR1:
SCOPE = "entity"
TYPE_NAME = "IfcZone"
RULE_NAME = "WR1"
@staticmethod
def __call__(self):
assert (sizeof([temp for temp in self.IsGroupedBy.RelatedObjects if not ('ifc2x3.ifczone' in typeof(temp)) or ('ifc2x3.ifcspace' in typeof(temp))])) == 0
class IfcRepresentationContextSameWCS:
SCOPE = "file"
@staticmethod
def __call__(file):
IfcGeometricRepresentationContext = file.by_type("IfcGeometricRepresentationContext")
isdifferent = False
if sizeof(IfcGeometricRepresentationContext) > 1:
for i in range(2, hiindex(IfcGeometricRepresentationContext) + 1):
if (IfcGeometricRepresentationContext[1 - 1].WorldCoordinateSystem) != (IfcGeometricRepresentationContext[i - 1].WorldCoordinateSystem):
isdifferent = (not IfcSameValidPrecision(IfcGeometricRepresentationContext[1 - 1].Precision,IfcGeometricRepresentationContext[i - 1].Precision)) or (not IfcSameAxis2Placement(IfcGeometricRepresentationContext[1 - 1].WorldCoordinateSystem,IfcGeometricRepresentationContext[i - 1].WorldCoordinateSystem,IfcGeometricRepresentationContext[1 - 1].Precision))
if isdifferent == True:
break
assert isdifferent == False
class IfcSingleProjectInstance:
SCOPE = "file"
@staticmethod
def __call__(file):
IfcProject = file.by_type("IfcProject")
assert sizeof(IfcProject) <= 1
def IfcAddToBeginOfList(ascalar, alist):
result = []
if not exists(ascalar):
result = alist
else:
result = result + ascalar
if hiindex(alist) >= 1:
for i in range(1, hiindex(alist) + 1):
temp = list(result)
temp[i - 1] = alist[i - 1]
result = temp
return result
def IfcBaseAxis(dim, axis1, axis2, axis3):
if dim == 3:
d1 = nvl(IfcNormalise(axis3),IfcDirection(DirectionRatios=[0.0,0.0,1.0]))
d2 = IfcFirstProjAxis(d1,axis1)
u = [d2,IfcSecondProjAxis(d1,d2,axis2),d1]
else:
if exists(axis1):
d1 = IfcNormalise(axis1)
u = [d1,IfcOrthogonalComplement(d1)]
if exists(axis2):
factor = IfcDotProduct(axis2,u[2 - 1])
if factor < 0.0:
u[2 - 1].DirectionRatios[1 - 1] = -u[2 - 1].DirectionRatios[1 - 1]
u[2 - 1].DirectionRatios[2 - 1] = -u[2 - 1].DirectionRatios[2 - 1]
else:
if exists(axis2):
d1 = IfcNormalise(axis2)
u = [IfcOrthogonalComplement(d1),d1]
u[1 - 1].DirectionRatios[1 - 1] = -u[1 - 1].DirectionRatios[1 - 1]
u[1 - 1].DirectionRatios[2 - 1] = -u[1 - 1].DirectionRatios[2 - 1]
else:
u = [IfcDirection(DirectionRatios=[1.0,0.0]),IfcDirection(DirectionRatios=[0.0,1.0])]
return u
def IfcBooleanChoose(b, choice1, choice2):
if b:
return choice1
else:
return choice2
def IfcBuild2Axes(refdirection):
d = nvl(IfcNormalise(refdirection),IfcDirection(DirectionRatios=[1.0,0.0]))
return [d,IfcOrthogonalComplement(d)]
def IfcBuildAxes(axis, refdirection):
d1 = nvl(IfcNormalise(axis),IfcDirection(DirectionRatios=[0.0,0.0,1.0]))
d2 = IfcFirstProjAxis(d1,refdirection)
return [d2,IfcNormalise(IfcCrossProduct(d1,d2)).Orientation,d1]
def IfcCorrectDimensions(m, dim):
if m == lengthunit:
if dim == IfcDimensionalExponents(1,0,0,0,0,0,0):
return True
else:
return False
elif m == massunit:
if dim == IfcDimensionalExponents(0,1,0,0,0,0,0):
return True
else:
return False
elif m == timeunit:
if dim == IfcDimensionalExponents(0,0,1,0,0,0,0):
return True
else:
return False
elif m == electriccurrentunit:
if dim == IfcDimensionalExponents(0,0,0,1,0,0,0):
return True
else:
return False
elif m == thermodynamictemperatureunit:
if dim == IfcDimensionalExponents(0,0,0,0,1,0,0):
return True
else:
return False
elif m == amountofsubstanceunit:
if dim == IfcDimensionalExponents(0,0,0,0,0,1,0):
return True
else:
return False
elif m == luminousintensityunit:
if dim == IfcDimensionalExponents(0,0,0,0,0,0,1):
return True
else:
return False
elif m == planeangleunit:
if dim == IfcDimensionalExponents(0,0,0,0,0,0,0):
return True
else:
return False
elif m == solidangleunit:
if dim == IfcDimensionalExponents(0,0,0,0,0,0,0):
return True
else:
return False
elif m == areaunit:
if dim == IfcDimensionalExponents(2,0,0,0,0,0,0):
return True
else:
return False
elif m == volumeunit:
if dim == IfcDimensionalExponents(3,0,0,0,0,0,0):
return True
else:
return False
elif m == absorbeddoseunit:
if dim == IfcDimensionalExponents(2,0,-2,0,0,0,0):
return True
else:
return False
elif m == radioactivityunit:
if dim == IfcDimensionalExponents(0,0,-1,0,0,0,0):
return True
else:
return False
elif m == electriccapacitanceunit:
if dim == IfcDimensionalExponents(-2,1,4,1,0,0,0):
return True
else:
return False
elif m == doseequivalentunit:
if dim == IfcDimensionalExponents(2,0,-2,0,0,0,0):
return True
else:
return False
elif m == electricchargeunit:
if dim == IfcDimensionalExponents(0,0,1,1,0,0,0):
return True
else:
return False
elif m == electricconductanceunit:
if dim == IfcDimensionalExponents(-2,-1,3,2,0,0,0):
return True
else:
return False
elif m == electricvoltageunit:
if dim == IfcDimensionalExponents(2,1,-3,-1,0,0,0):
return True
else:
return False
elif m == electricresistanceunit:
if dim == IfcDimensionalExponents(2,1,-3,-2,0,0,0):
return True
else:
return False
elif m == energyunit:
if dim == IfcDimensionalExponents(2,1,-2,0,0,0,0):
return True
else:
return False
elif m == forceunit:
if dim == IfcDimensionalExponents(1,1,-2,0,0,0,0):
return True
else:
return False
elif m == frequencyunit:
if dim == IfcDimensionalExponents(0,0,-1,0,0,0,0):
return True
else:
return False
elif m == inductanceunit:
if dim == IfcDimensionalExponents(2,1,-2,-2,0,0,0):
return True
else:
return False
elif m == illuminanceunit:
if dim == IfcDimensionalExponents(-2,0,0,0,0,0,1):
return True
else:
return False
elif m == luminousfluxunit:
if dim == IfcDimensionalExponents(0,0,0,0,0,0,1):
return True
else:
return False
elif m == magneticfluxunit:
if dim == IfcDimensionalExponents(2,1,-2,-1,0,0,0):
return True
else:
return False
elif m == magneticfluxdensityunit:
if dim == IfcDimensionalExponents(0,1,-2,-1,0,0,0):
return True
else:
return False
elif m == powerunit:
if dim == IfcDimensionalExponents(2,1,-3,0,0,0,0):
return True
else:
return False
elif m == pressureunit:
if dim == IfcDimensionalExponents(-1,1,-2,0,0,0,0):
return True
else:
return False
else:
return unknown
def IfcCorrectFillAreaStyle(styles):
hatching = 0
tiles = 0
colour = 0
external = 0
external = sizeof([style for style in styles if 'ifc2x3.ifcexternallydefinedhatchstyle' in typeof(style)])
hatching = sizeof([style for style in styles if 'ifc2x3.ifcfillareastylehatching' in typeof(style)])
tiles = sizeof([style for style in styles if 'ifc2x3.ifcfillareastyletiles' in typeof(style)])
colour = sizeof([style for style in styles if 'ifc2x3.ifccolour' in typeof(style)])
if external > 1:
return False
if (external == 1) and ((hatching > 0) or (tiles > 0) or (colour > 0)):
return False
if colour > 1:
return False
if (hatching > 0) and (tiles > 0):
return False
return True
def IfcCorrectLocalPlacement(axisplacement, relplacement):
if exists(relplacement):
if 'ifc2x3.ifcgridplacement' in typeof(relplacement):
return None
if 'ifc2x3.ifclocalplacement' in typeof(relplacement):
if 'ifc2x3.ifcaxis2placement2d' in typeof(axisplacement):
return True
if 'ifc2x3.ifcaxis2placement3d' in typeof(axisplacement):
if relplacement.RelativePlacement.Dim == 3:
return True
else:
return False
return True
return None
def IfcCorrectObjectAssignment(constraint, objects):
count = 0
if not exists(constraint):
return True
if constraint == IfcObjectTypeEnum.NOTDEFINED:
return True
elif constraint == IfcObjectTypeEnum.PRODUCT:
count = sizeof([temp for temp in objects if not 'ifc2x3.ifcproduct' in typeof(temp)])
return count == 0
elif constraint == IfcObjectTypeEnum.PROCESS:
count = sizeof([temp for temp in objects if not 'ifc2x3.ifcprocess' in typeof(temp)])
return count == 0
elif constraint == IfcObjectTypeEnum.CONTROL:
count = sizeof([temp for temp in objects if not 'ifc2x3.ifccontrol' in typeof(temp)])
return count == 0
elif constraint == IfcObjectTypeEnum.RESOURCE:
count = sizeof([temp for temp in objects if not 'ifc2x3.ifcresource' in typeof(temp)])
return count == 0
elif constraint == IfcObjectTypeEnum.ACTOR:
count = sizeof([temp for temp in objects if not 'ifc2x3.ifcactor' in typeof(temp)])
return count == 0
elif constraint == IfcObjectTypeEnum.GROUP:
count = sizeof([temp for temp in objects if not 'ifc2x3.ifcgroup' in typeof(temp)])
return count == 0
elif constraint == IfcObjectTypeEnum.PROJECT:
count = sizeof([temp for temp in objects if not 'ifc2x3.ifcproject' in typeof(temp)])
return count == 0
else:
return None
def IfcCorrectUnitAssignment(units):
namedunitnumber = 0
derivedunitnumber = 0
monetaryunitnumber = 0
namedunitnames = express_set([])
derivedunitnames = express_set([])
namedunitnumber = sizeof([temp for temp in units if ('ifc2x3.ifcnamedunit' in typeof(temp)) and (not temp.UnitType == IfcUnitEnum.USERDEFINED)])
derivedunitnumber = sizeof([temp for temp in units if ('ifc2x3.ifcderivedunit' in typeof(temp)) and (not temp.UnitType == IfcDerivedUnitEnum.USERDEFINED)])
monetaryunitnumber = sizeof([temp for temp in units if 'ifc2x3.ifcmonetaryunit' in typeof(temp)])
for i in range(1, sizeof(units) + 1):
if ('ifc2x3.ifcnamedunit' in (typeof(units[i - 1]))) and (not (units[i - 1].UnitType) == IfcUnitEnum.USERDEFINED):
namedunitnames = namedunitnames + (units[i - 1].UnitType)
if ('ifc2x3.ifcderivedunit' in (typeof(units[i - 1]))) and (not (units[i - 1].UnitType) == IfcDerivedUnitEnum.USERDEFINED):
derivedunitnames = derivedunitnames + (units[i - 1].UnitType)
return (sizeof(namedunitnames) == namedunitnumber) and (sizeof(derivedunitnames) == derivedunitnumber) and (monetaryunitnumber <= 1)
def IfcCrossProduct(arg1, arg2):
if ((not exists(arg1)) or (arg1.Dim == 2)) or ((not exists(arg2)) or (arg2.Dim == 2)):
return None
else:
v1 = IfcNormalise(arg1).DirectionRatios
v2 = IfcNormalise(arg2).DirectionRatios
res = IfcDirection(DirectionRatios=[((v1[2 - 1]) * (v2[3 - 1])) - ((v1[3 - 1]) * (v2[2 - 1])),((v1[3 - 1]) * (v2[1 - 1])) - ((v1[1 - 1]) * (v2[3 - 1])),((v1[1 - 1]) * (v2[2 - 1])) - ((v1[2 - 1]) * (v2[1 - 1]))])
mag = 0.0
for i in range(1, 3 + 1):
mag = mag + ((res.DirectionRatios[i - 1]) * (res.DirectionRatios[i - 1]))
if mag > 0.0:
result = IfcVector(Orientation=res, Magnitude=sqrt(mag))
else:
result = IfcVector(Orientation=arg1, Magnitude=0.0)
return result
def IfcCurveDim(curve):
if 'ifc2x3.ifcline' in typeof(curve):
return curve.Pnt.Dim
if 'ifc2x3.ifcconic' in typeof(curve):
return curve.Position.Dim
if 'ifc2x3.ifcpolyline' in typeof(curve):
return curve.Points[1 - 1].Dim
if 'ifc2x3.ifctrimmedcurve' in typeof(curve):
return IfcCurveDim(curve.BasisCurve)
if 'ifc2x3.ifccompositecurve' in typeof(curve):
return curve.Segments[1 - 1].Dim
if 'ifc2x3.ifcbsplinecurve' in typeof(curve):
return curve.ControlPointsList[1 - 1].Dim
if 'ifc2x3.ifcoffsetcurve2d' in typeof(curve):
return 2
if 'ifc2x3.ifcoffsetcurve3d' in typeof(curve):
return 3
return None
def IfcCurveWeightsPositive(b):
result = True
for i in range(0, b.UpperIndexOnControlPoints + 1):
if (b.Weights[i - 1]) <= 0.0:
result = False
return result
return result
def IfcDeriveDimensionalExponents(unitelements):
result = IfcDimensionalExponents(0,0,0,0,0,0,0)
for i in range(loindex(unitelements), hiindex(unitelements) + 1):
result.LengthExponent = result.LengthExponent + ((unitelements[i - 1].Exponent) * (unitelements[i - 1].Unit.Dimensions.LengthExponent))
result.MassExponent = result.MassExponent + ((unitelements[i - 1].Exponent) * (unitelements[i - 1].Unit.Dimensions.MassExponent))
result.TimeExponent = result.TimeExponent + ((unitelements[i - 1].Exponent) * (unitelements[i - 1].Unit.Dimensions.TimeExponent))
result.ElectricCurrentExponent = result.ElectricCurrentExponent + ((unitelements[i - 1].Exponent) * (unitelements[i - 1].Unit.Dimensions.ElectricCurrentExponent))
result.ThermodynamicTemperatureExponent = result.ThermodynamicTemperatureExponent + ((unitelements[i - 1].Exponent) * (unitelements[i - 1].Unit.Dimensions.ThermodynamicTemperatureExponent))
result.AmountOfSubstanceExponent = result.AmountOfSubstanceExponent + ((unitelements[i - 1].Exponent) * (unitelements[i - 1].Unit.Dimensions.AmountOfSubstanceExponent))
result.LuminousIntensityExponent = result.LuminousIntensityExponent + ((unitelements[i - 1].Exponent) * (unitelements[i - 1].Unit.Dimensions.LuminousIntensityExponent))
return result
def IfcDimensionsForSiUnit(n):
if n == metre:
return IfcDimensionalExponents(1,0,0,0,0,0,0)
elif n == square_metre:
return IfcDimensionalExponents(2,0,0,0,0,0,0)
elif n == cubic_metre:
return IfcDimensionalExponents(3,0,0,0,0,0,0)
elif n == gram:
return IfcDimensionalExponents(0,1,0,0,0,0,0)
elif n == second:
return IfcDimensionalExponents(0,0,1,0,0,0,0)
elif n == ampere:
return IfcDimensionalExponents(0,0,0,1,0,0,0)
elif n == kelvin:
return IfcDimensionalExponents(0,0,0,0,1,0,0)
elif n == mole:
return IfcDimensionalExponents(0,0,0,0,0,1,0)
elif n == candela:
return IfcDimensionalExponents(0,0,0,0,0,0,1)
elif n == radian:
return IfcDimensionalExponents(0,0,0,0,0,0,0)
elif n == steradian:
return IfcDimensionalExponents(0,0,0,0,0,0,0)
elif n == hertz:
return IfcDimensionalExponents(0,0,-1,0,0,0,0)
elif n == newton:
return IfcDimensionalExponents(1,1,-2,0,0,0,0)
elif n == pascal:
return IfcDimensionalExponents(-1,1,-2,0,0,0,0)
elif n == joule:
return IfcDimensionalExponents(2,1,-2,0,0,0,0)
elif n == watt:
return IfcDimensionalExponents(2,1,-3,0,0,0,0)
elif n == coulomb:
return IfcDimensionalExponents(0,0,1,1,0,0,0)
elif n == volt:
return IfcDimensionalExponents(2,1,-3,-1,0,0,0)
elif n == farad:
return IfcDimensionalExponents(-2,-1,4,1,0,0,0)
elif n == ohm:
return IfcDimensionalExponents(2,1,-3,-2,0,0,0)
elif n == siemens:
return IfcDimensionalExponents(-2,-1,3,2,0,0,0)
elif n == weber:
return IfcDimensionalExponents(2,1,-2,-1,0,0,0)
elif n == tesla:
return IfcDimensionalExponents(0,1,-2,-1,0,0,0)
elif n == henry:
return IfcDimensionalExponents(2,1,-2,-2,0,0,0)
elif n == degree_celsius:
return IfcDimensionalExponents(0,0,0,0,1,0,0)
elif n == lumen:
return IfcDimensionalExponents(0,0,0,0,0,0,1)
elif n == lux:
return IfcDimensionalExponents(-2,0,0,0,0,0,1)
elif n == becquerel:
return IfcDimensionalExponents(0,0,-1,0,0,0,0)
elif n == gray:
return IfcDimensionalExponents(2,0,-2,0,0,0,0)
elif n == sievert:
return IfcDimensionalExponents(2,0,-2,0,0,0,0)
else:
return IfcDimensionalExponents(0,0,0,0,0,0,0)
def IfcDotProduct(arg1, arg2):
if (not exists(arg1)) or (not exists(arg2)):
scalar = None
else:
if arg1.Dim != arg2.Dim:
scalar = None
else:
vec1 = IfcNormalise(arg1)
vec2 = IfcNormalise(arg2)
ndim = arg1.Dim
scalar = 0.0
for i in range(1, ndim + 1):
scalar = scalar + ((vec1.DirectionRatios[i - 1]) * (vec2.DirectionRatios[i - 1]))
return scalar
def IfcFirstProjAxis(zaxis, arg):
if not exists(zaxis):
return None
else:
z = IfcNormalise(zaxis)
if not exists(arg):
if z.DirectionRatios != [1.0,0.0,0.0]:
v = IfcDirection(DirectionRatios=[1.0,0.0,0.0])
else:
v = IfcDirection(DirectionRatios=[0.0,1.0,0.0])
else:
if arg.Dim != 3:
return None
if IfcCrossProduct(arg,z).Magnitude == 0.0:
return None
else:
v = IfcNormalise(arg)
xvec = IfcScalarTimesVector(IfcDotProduct(v,z),z)
xaxis = IfcVectorDifference(v,xvec).Orientation
xaxis = IfcNormalise(xaxis)
return xaxis
def IfcLeapYear(year):
if (((year % 4) == 0) and ((year % 100) != 0)) or ((year % 400) == 0):
return True
else:
return False
def IfcListToArray(lis, low, u):
n = sizeof(lis)
if n != (u - low + 1):
return None
else:
res = ([lis[1 - 1]] * n)
for i in range(2, n + 1):
temp = list(res)
temp[low - 1] = lis[i - 1]
res = temp
return res
def IfcLoopHeadToTail(aloop):
p = True
n = sizeof(aloop.EdgeList)
for i in range(2, n + 1):
p = p and ((aloop.EdgeList[i - 1].EdgeEnd) == (aloop.EdgeList[i - 1].EdgeStart))
return p
def IfcMlsTotalThickness(layerset):
max = layerset.MaterialLayers[1 - 1].LayerThickness
if sizeof(layerset.MaterialLayers) > 1:
for i in range(2, hiindex(layerset.MaterialLayers) + 1):
max = max + (layerset.MaterialLayers[i - 1].LayerThickness)
return max
def IfcNormalise(arg):
v = IfcDirection(DirectionRatios=[1.,0.])
vec = IfcVector(Orientation=IfcDirection(DirectionRatios=[1.,0.]), Magnitude=1.)
result = v
if not exists(arg):
return None
else:
ndim = arg.Dim
if 'ifc2x3.ifcvector' in typeof(arg):
v.DirectionRatios = arg.Orientation.DirectionRatios
vec.Magnitude = arg.Magnitude
vec.Orientation = v
if arg.Magnitude == 0.0:
return None
else:
vec.Magnitude = 1.0
else:
v.DirectionRatios = arg.DirectionRatios
mag = 0.0
for i in range(1, ndim + 1):
mag = mag + ((v.DirectionRatios[i - 1]) * (v.DirectionRatios[i - 1]))
if mag > 0.0:
mag = sqrt(mag)
for i in range(1, ndim + 1):
temp = list(v.DirectionRatios)
temp[i - 1] = (v.DirectionRatios[i - 1]) / mag
v.DirectionRatios = temp
if 'ifc2x3.ifcvector' in typeof(arg):
vec.Orientation = v
result = vec
else:
result = v
else:
return None
return result
def IfcOrthogonalComplement(vec):
if (not exists(vec)) or (vec.Dim != 2):
return None
else:
result = IfcDirection(DirectionRatios=[-vec.DirectionRatios[2 - 1],vec.DirectionRatios[1 - 1]])
return result
def IfcPathHeadToTail(apath):
n = 0
p = unknown
n = sizeof(apath.EdgeList)
for i in range(2, n + 1):
p = p and ((apath.EdgeList[i - 1].EdgeEnd) == (apath.EdgeList[i - 1].EdgeStart))
return p
def IfcSameAxis2Placement(ap1, ap2, epsilon):
return (IfcSameDirection(ap1.P[1 - 1],ap2.P[1 - 1],epsilon)) and (IfcSameDirection(ap1.P[2 - 1],ap2.P[2 - 1],epsilon)) and IfcSameCartesianPoint(ap1.Location,ap1.Location,epsilon)
def IfcSameCartesianPoint(cp1, cp2, epsilon):
cp1x = cp1.Coordinates[1 - 1]
cp1y = cp1.Coordinates[2 - 1]
cp1z = 0
cp2x = cp2.Coordinates[1 - 1]
cp2y = cp2.Coordinates[2 - 1]
cp2z = 0
if sizeof(cp1.Coordinates) > 2:
cp1z = cp1.Coordinates[3 - 1]
if sizeof(cp2.Coordinates) > 2:
cp2z = cp2.Coordinates[3 - 1]
return IfcSameValue(cp1x,cp2x,epsilon) and IfcSameValue(cp1y,cp2y,epsilon) and IfcSameValue(cp1z,cp2z,epsilon)
def IfcSameDirection(dir1, dir2, epsilon):
dir1x = dir1.DirectionRatios[1 - 1]
dir1y = dir1.DirectionRatios[2 - 1]
dir1z = 0
dir2x = dir2.DirectionRatios[1 - 1]
dir2y = dir2.DirectionRatios[2 - 1]
dir2z = 0
if sizeof(dir1.DirectionRatios) > 2:
dir1z = dir1.DirectionRatios[3 - 1]
if sizeof(dir2.DirectionRatios) > 2:
dir2z = dir2.DirectionRatios[3 - 1]
return IfcSameValue(dir1x,dir2x,epsilon) and IfcSameValue(dir1y,dir2y,epsilon) and IfcSameValue(dir1z,dir2z,epsilon)
def IfcSameValidPrecision(epsilon1, epsilon2):
defaulteps = 0.000001
derivationofeps = 1.001
uppereps = 1.0
valideps1 = nvl(epsilon1,defaulteps)
valideps2 = nvl(epsilon2,defaulteps)
return (0.0 < valideps1) and (valideps1 <= (derivationofeps * valideps2)) and (valideps2 <= (derivationofeps * valideps1)) and (valideps2 < uppereps)
def IfcSameValue(value1, value2, epsilon):
defaulteps = 0.000001
valideps = nvl(epsilon,defaulteps)
return ((value1 + valideps) > value2) and (value1 < (value2 + valideps))
def IfcScalarTimesVector(scalar, vec):
if (not exists(scalar)) or (not exists(vec)):
return None
else:
if 'ifc2x3.ifcvector' in typeof(vec):
v = vec.Orientation
mag = scalar * vec.Magnitude
else:
v = vec
mag = scalar
if mag < 0.0:
for i in range(1, sizeof(v.DirectionRatios) + 1):
temp = list(v.DirectionRatios)
temp[i - 1] = -v.DirectionRatios[i - 1]
v.DirectionRatios = temp
mag = -mag
result = IfcVector(Orientation=IfcNormalise(v), Magnitude=mag)
return result
def IfcSecondProjAxis(zaxis, xaxis, arg):
if not exists(arg):
v = IfcDirection(DirectionRatios=[0.0,1.0,0.0])
else:
v = arg
temp = IfcScalarTimesVector(IfcDotProduct(v,zaxis),zaxis)
yaxis = IfcVectorDifference(v,temp)
temp = IfcScalarTimesVector(IfcDotProduct(v,xaxis),xaxis)
yaxis = IfcVectorDifference(yaxis,temp)
yaxis = IfcNormalise(yaxis)
return yaxis.Orientation
def IfcShapeRepresentationTypes(reptype, items):
count = 0
if reptype.lower() == 'curve2d':
count = sizeof([temp for temp in items if ('ifc2x3.ifccurve' in typeof(temp)) and (temp.Dim == 2)])
elif reptype.lower() == 'annotation2d':
count = sizeof([temp for temp in items if (sizeof(typeof(temp) * ['ifc2x3.ifcpoint','ifc2x3.ifccurve','ifc2x3.ifcgeometriccurveset','ifc2x3.ifcannotationfillarea','ifc2x3.ifcdefinedsymbol','ifc2x3.ifctextliteral','ifc2x3.ifcdraughtingcallout'])) == 1])
elif reptype.lower() == 'geometricset':
count = sizeof([temp for temp in items if ('ifc2x3.ifcgeometricset' in typeof(temp)) or ('ifc2x3.ifcpoint' in typeof(temp)) or ('ifc2x3.ifccurve' in typeof(temp)) or ('ifc2x3.ifcsurface' in typeof(temp))])
elif reptype.lower() == 'geometriccurveset':
count = sizeof([temp for temp in items if ('ifc2x3.ifcgeometriccurveset' in typeof(temp)) or ('ifc2x3.ifcgeometricset' in typeof(temp)) or ('ifc2x3.ifcpoint' in typeof(temp)) or ('ifc2x3.ifccurve' in typeof(temp))])
for i in range(1, hiindex(items) + 1):
if 'ifc2x3.ifcgeometricset' in (typeof(items[i - 1])):
if (sizeof([temp for temp in items[i - 1].Elements if 'ifc2x3.ifcsurface' in typeof(temp)])) > 0:
count = count - 1
elif reptype.lower() == 'surfacemodel':
count = sizeof([temp for temp in items if (sizeof(['ifc2x3.ifcshellbasedsurfacemodel','ifc2x3.ifcfacebasedsurfacemodel','ifc2x3.ifcfacetedbrep','ifc2x3.ifcfacetedbrepwithvoids'] * typeof(temp))) >= 1])
elif reptype.lower() == 'solidmodel':
count = sizeof([temp for temp in items if 'ifc2x3.ifcsolidmodel' in typeof(temp)])
elif reptype.lower() == 'sweptsolid':
count = sizeof([temp for temp in items if 'ifc2x3.ifcsweptareasolid' in typeof(temp)])
elif reptype.lower() == 'csg':
count = sizeof([temp for temp in items if 'ifc2x3.ifcbooleanresult' in typeof(temp)])
elif reptype.lower() == 'clipping':
count = sizeof([temp for temp in items if 'ifc2x3.ifcbooleanclippingresult' in typeof(temp)])
elif reptype.lower() == 'advancedsweptsolid':
count = sizeof([temp for temp in items if ('ifc2x3.ifcsurfacecurvesweptareasolid' in typeof(temp)) or ('ifc2x3.ifcsweptdisksolid' in typeof(temp))])
elif reptype.lower() == 'brep':
count = sizeof([temp for temp in items if ('ifc2x3.ifcfacetedbrep' in typeof(temp)) or ('ifc2x3.ifcfacetedbrepwithvoids' in typeof(temp))])
elif reptype.lower() == 'boundingbox':
count = sizeof([temp for temp in items if 'ifc2x3.ifcboundingbox' in typeof(temp)])
if sizeof(items) > 1:
count = 0
elif reptype.lower() == 'sectionedspine':
count = sizeof([temp for temp in items if 'ifc2x3.ifcsectionedspine' in typeof(temp)])
elif reptype.lower() == 'mappedrepresentation':
count = sizeof([temp for temp in items if 'ifc2x3.ifcmappeditem' in typeof(temp)])
else:
return None
return count == sizeof(items)
def IfcTopologyRepresentationTypes(reptype, items):
count = 0
if reptype.lower() == 'vertex':
count = sizeof([temp for temp in items if 'ifc2x3.ifcvertex' in typeof(temp)])
elif reptype.lower() == 'edge':
count = sizeof([temp for temp in items if 'ifc2x3.ifcedge' in typeof(temp)])
elif reptype.lower() == 'path':
count = sizeof([temp for temp in items if 'ifc2x3.ifcpath' in typeof(temp)])
elif reptype.lower() == 'face':
count = sizeof([temp for temp in items if 'ifc2x3.ifcface' in typeof(temp)])
elif reptype.lower() == 'shell':
count = sizeof([temp for temp in items if ('ifc2x3.ifcopenshell' in typeof(temp)) or ('ifc2x3.ifcclosedshell' in typeof(temp))])
elif reptype.lower() == 'undefined':
return True
else:
return None
return count == sizeof(items)
def IfcUniquePropertyName(properties):
names = express_set([])
for i in range(1, hiindex(properties) + 1):
names = names + (properties[i - 1].Name)
return sizeof(names) == sizeof(properties)
def IfcValidCalendarDate(date):
if not 1 <= date.DayComponent <= 31:
return False
if date.MonthComponent == 4:
return 1 <= date.DayComponent <= 30
elif date.MonthComponent == 6:
return 1 <= date.DayComponent <= 30
elif date.MonthComponent == 9:
return 1 <= date.DayComponent <= 30
elif date.MonthComponent == 11:
return 1 <= date.DayComponent <= 30
elif date.MonthComponent == 2:
if IfcLeapYear(date.YearComponent):
return 1 <= date.DayComponent <= 29
else:
return 1 <= date.DayComponent <= 28
else:
return True
def IfcValidTime(time):
if exists(time.SecondComponent):
return exists(time.MinuteComponent)
else:
return True
def IfcVectorDifference(arg1, arg2):
if ((not exists(arg1)) or (not exists(arg2))) or (arg1.Dim != arg2.Dim):
return None
else:
if 'ifc2x3.ifcvector' in typeof(arg1):
mag1 = arg1.Magnitude
vec1 = arg1.Orientation
else:
mag1 = 1.0
vec1 = arg1
if 'ifc2x3.ifcvector' in typeof(arg2):
mag2 = arg2.Magnitude
vec2 = arg2.Orientation
else:
mag2 = 1.0
vec2 = arg2
vec1 = IfcNormalise(vec1)
vec2 = IfcNormalise(vec2)
ndim = sizeof(vec1.DirectionRatios)
mag = 0.0
res = IfcDirection(DirectionRatios=([0.0] * ndim))
for i in range(1, ndim + 1):
temp = list(res.DirectionRatios)
temp[i - 1] = (mag1 * (vec1.DirectionRatios[i - 1])) - (mag2 * (vec2.DirectionRatios[i - 1]))
res.DirectionRatios = temp
mag = mag + ((res.DirectionRatios[i - 1]) * (res.DirectionRatios[i - 1]))
if mag > 0.0:
result = IfcVector(Orientation=res, Magnitude=sqrt(mag))
else:
result = IfcVector(Orientation=vec1, Magnitude=0.0)
return result
def IfcVectorSum(arg1, arg2):
if ((not exists(arg1)) or (not exists(arg2))) or (arg1.Dim != arg2.Dim):
return None
else:
if 'ifc2x3.ifcvector' in typeof(arg1):
mag1 = arg1.Magnitude
vec1 = arg1.Orientation
else:
mag1 = 1.0
vec1 = arg1
if 'ifc2x3.ifcvector' in typeof(arg2):
mag2 = arg2.Magnitude
vec2 = arg2.Orientation
else:
mag2 = 1.0
vec2 = arg2
vec1 = IfcNormalise(vec1)
vec2 = IfcNormalise(vec2)
ndim = sizeof(vec1.DirectionRatios)
mag = 0.0
res = IfcDirection(DirectionRatios=([0.0] * ndim))
for i in range(1, ndim + 1):
temp = list(res.DirectionRatios)
temp[i - 1] = (mag1 * (vec1.DirectionRatios[i - 1])) + (mag2 * (vec2.DirectionRatios[i - 1]))
res.DirectionRatios = temp
mag = mag + ((res.DirectionRatios[i - 1]) * (res.DirectionRatios[i - 1]))
if mag > 0.0:
result = IfcVector(Orientation=res, Magnitude=sqrt(mag))
else:
result = IfcVector(Orientation=vec1, Magnitude=0.0)
return result