Add support for IfcSpatialElements and exclude abstract classes.

This commit is contained in:
Dion Moult
2020-03-17 19:16:11 +11:00
parent 8ba9b37ec9
commit dc8e73b822
11 changed files with 17745 additions and 19004 deletions
+1 -1
View File
@@ -116,7 +116,7 @@ def getIfcProducts(self, context):
global products_enum
if len(products_enum) < 1:
products_enum.extend([(e, e, '') for e in
['IfcElement', 'IfcElementType', 'IfcSpatialStructureElement', 'IfcStructural']])
['IfcElement', 'IfcElementType', 'IfcSpatialElement', 'IfcStructural']])
return products_enum
+1 -1
View File
@@ -11,7 +11,7 @@ class IfcSchema():
# TODO: Make it less troublesome
self.products = [
'IfcElement',
'IfcSpatialStructureElement',
'IfcSpatialElement',
'IfcStructural',
'IfcMaterialDefinition',
'IfcParameterizedProfileDef',
@@ -1,256 +1,256 @@
{
"IfcBoundaryEdgeCondition": {
"is_abstract": false,
"parent": "IfcBoundaryCondition",
"attributes": [
{
"enum_values": [],
"type": "IfcLabel",
"name": "Name",
"is_enum": false
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
}
],
"is_abstract": false,
],
"complex_attributes": [
{
"name": "TranslationalStiffnessByLengthX",
"type": "IfcModulusOfTranslationalSubgradeReactionSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcModulusOfLinearSubgradeReactionMeasure"
],
"type": "IfcModulusOfTranslationalSubgradeReactionSelect",
"name": "TranslationalStiffnessByLengthX",
"is_select": true
},
]
},
{
"name": "TranslationalStiffnessByLengthY",
"type": "IfcModulusOfTranslationalSubgradeReactionSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcModulusOfLinearSubgradeReactionMeasure"
],
"type": "IfcModulusOfTranslationalSubgradeReactionSelect",
"name": "TranslationalStiffnessByLengthY",
"is_select": true
},
]
},
{
"name": "TranslationalStiffnessByLengthZ",
"type": "IfcModulusOfTranslationalSubgradeReactionSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcModulusOfLinearSubgradeReactionMeasure"
],
"type": "IfcModulusOfTranslationalSubgradeReactionSelect",
"name": "TranslationalStiffnessByLengthZ",
"is_select": true
},
]
},
{
"name": "RotationalStiffnessByLengthX",
"type": "IfcModulusOfRotationalSubgradeReactionSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcModulusOfRotationalSubgradeReactionMeasure"
],
"type": "IfcModulusOfRotationalSubgradeReactionSelect",
"name": "RotationalStiffnessByLengthX",
"is_select": true
},
]
},
{
"name": "RotationalStiffnessByLengthY",
"type": "IfcModulusOfRotationalSubgradeReactionSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcModulusOfRotationalSubgradeReactionMeasure"
],
"type": "IfcModulusOfRotationalSubgradeReactionSelect",
"name": "RotationalStiffnessByLengthY",
"is_select": true
},
]
},
{
"name": "RotationalStiffnessByLengthZ",
"type": "IfcModulusOfRotationalSubgradeReactionSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcModulusOfRotationalSubgradeReactionMeasure"
],
"type": "IfcModulusOfRotationalSubgradeReactionSelect",
"name": "RotationalStiffnessByLengthZ",
"is_select": true
]
}
],
"parent": "IfcBoundaryCondition"
},
]
},
"IfcBoundaryFaceCondition": {
"is_abstract": false,
"parent": "IfcBoundaryCondition",
"attributes": [
{
"enum_values": [],
"type": "IfcLabel",
"name": "Name",
"is_enum": false
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
}
],
"is_abstract": false,
],
"complex_attributes": [
{
"name": "TranslationalStiffnessByAreaX",
"type": "IfcModulusOfSubgradeReactionSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcModulusOfSubgradeReactionMeasure"
],
"type": "IfcModulusOfSubgradeReactionSelect",
"name": "TranslationalStiffnessByAreaX",
"is_select": true
},
]
},
{
"name": "TranslationalStiffnessByAreaY",
"type": "IfcModulusOfSubgradeReactionSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcModulusOfSubgradeReactionMeasure"
],
"type": "IfcModulusOfSubgradeReactionSelect",
"name": "TranslationalStiffnessByAreaY",
"is_select": true
},
]
},
{
"name": "TranslationalStiffnessByAreaZ",
"type": "IfcModulusOfSubgradeReactionSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcModulusOfSubgradeReactionMeasure"
],
"type": "IfcModulusOfSubgradeReactionSelect",
"name": "TranslationalStiffnessByAreaZ",
"is_select": true
]
}
],
"parent": "IfcBoundaryCondition"
},
]
},
"IfcBoundaryNodeCondition": {
"is_abstract": false,
"parent": "IfcBoundaryCondition",
"attributes": [
{
"enum_values": [],
"type": "IfcLabel",
"name": "Name",
"is_enum": false
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
}
],
"is_abstract": false,
],
"complex_attributes": [
{
"name": "TranslationalStiffnessX",
"type": "IfcTranslationalStiffnessSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcLinearStiffnessMeasure"
],
"type": "IfcTranslationalStiffnessSelect",
"name": "TranslationalStiffnessX",
"is_select": true
},
]
},
{
"name": "TranslationalStiffnessY",
"type": "IfcTranslationalStiffnessSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcLinearStiffnessMeasure"
],
"type": "IfcTranslationalStiffnessSelect",
"name": "TranslationalStiffnessY",
"is_select": true
},
]
},
{
"name": "TranslationalStiffnessZ",
"type": "IfcTranslationalStiffnessSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcLinearStiffnessMeasure"
],
"type": "IfcTranslationalStiffnessSelect",
"name": "TranslationalStiffnessZ",
"is_select": true
},
]
},
{
"name": "RotationalStiffnessX",
"type": "IfcRotationalStiffnessSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcRotationalStiffnessMeasure"
],
"type": "IfcRotationalStiffnessSelect",
"name": "RotationalStiffnessX",
"is_select": true
},
]
},
{
"name": "RotationalStiffnessY",
"type": "IfcRotationalStiffnessSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcRotationalStiffnessMeasure"
],
"type": "IfcRotationalStiffnessSelect",
"name": "RotationalStiffnessY",
"is_select": true
},
]
},
{
"name": "RotationalStiffnessZ",
"type": "IfcRotationalStiffnessSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcRotationalStiffnessMeasure"
],
"type": "IfcRotationalStiffnessSelect",
"name": "RotationalStiffnessZ",
"is_select": true
]
}
],
"parent": "IfcBoundaryCondition"
},
]
},
"IfcBoundaryNodeConditionWarping": {
"is_abstract": false,
"parent": "IfcBoundaryNodeCondition",
"attributes": [
{
"enum_values": [],
"type": "IfcLabel",
"name": "Name",
"is_enum": false
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
}
],
"is_abstract": false,
],
"complex_attributes": [
{
"name": "TranslationalStiffnessX",
"type": "IfcTranslationalStiffnessSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcLinearStiffnessMeasure"
],
"type": "IfcTranslationalStiffnessSelect",
"name": "TranslationalStiffnessX",
"is_select": true
},
]
},
{
"name": "TranslationalStiffnessY",
"type": "IfcTranslationalStiffnessSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcLinearStiffnessMeasure"
],
"type": "IfcTranslationalStiffnessSelect",
"name": "TranslationalStiffnessY",
"is_select": true
},
]
},
{
"name": "TranslationalStiffnessZ",
"type": "IfcTranslationalStiffnessSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcLinearStiffnessMeasure"
],
"type": "IfcTranslationalStiffnessSelect",
"name": "TranslationalStiffnessZ",
"is_select": true
},
]
},
{
"name": "RotationalStiffnessX",
"type": "IfcRotationalStiffnessSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcRotationalStiffnessMeasure"
],
"type": "IfcRotationalStiffnessSelect",
"name": "RotationalStiffnessX",
"is_select": true
},
]
},
{
"name": "RotationalStiffnessY",
"type": "IfcRotationalStiffnessSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcRotationalStiffnessMeasure"
],
"type": "IfcRotationalStiffnessSelect",
"name": "RotationalStiffnessY",
"is_select": true
},
]
},
{
"name": "RotationalStiffnessZ",
"type": "IfcRotationalStiffnessSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcRotationalStiffnessMeasure"
],
"type": "IfcRotationalStiffnessSelect",
"name": "RotationalStiffnessZ",
"is_select": true
},
]
},
{
"name": "WarpingStiffness",
"type": "IfcWarpingStiffnessSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcBoolean",
"IfcWarpingMomentMeasure"
],
"type": "IfcWarpingStiffnessSelect",
"name": "WarpingStiffness",
"is_select": true
]
}
],
"parent": "IfcBoundaryNodeCondition"
]
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,334 +1,334 @@
{
"IfcMaterial": {
"is_abstract": false,
"parent": "IfcMaterialDefinition",
"attributes": [
{
"enum_values": [],
"type": "IfcLabel",
"name": "Name",
"is_enum": false
},
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
},
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "Category",
"is_enum": false
"name": "Category",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
}
],
"is_abstract": false,
],
"complex_attributes": [
{
"select_types": [],
"type": "IfcMaterialDefinitionRepresentation",
"name": "HasRepresentation",
"is_select": false
"name": "HasRepresentation",
"type": "IfcMaterialDefinitionRepresentation",
"is_select": false,
"select_types": []
}
],
"parent": "IfcMaterialDefinition"
},
]
},
"IfcMaterialConstituent": {
"is_abstract": false,
"parent": "IfcMaterialDefinition",
"attributes": [
{
"enum_values": [],
"type": "IfcLabel",
"name": "Name",
"is_enum": false
},
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
},
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcNormalisedRatioMeasure",
"name": "Fraction",
"is_enum": false
},
"name": "Fraction",
"type": "IfcNormalisedRatioMeasure",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "Category",
"is_enum": false
"name": "Category",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
}
],
"is_abstract": false,
],
"complex_attributes": [
{
"select_types": [],
"type": "IfcMaterial",
"name": "Material",
"is_select": false
"name": "Material",
"type": "IfcMaterial",
"is_select": false,
"select_types": []
}
],
"parent": "IfcMaterialDefinition"
},
]
},
"IfcMaterialConstituentSet": {
"is_abstract": false,
"parent": "IfcMaterialDefinition",
"attributes": [
{
"enum_values": [],
"type": "IfcLabel",
"name": "Name",
"is_enum": false
},
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
}
],
"is_abstract": false,
"complex_attributes": [],
"parent": "IfcMaterialDefinition"
},
],
"complex_attributes": []
},
"IfcMaterialLayer": {
"is_abstract": false,
"parent": "IfcMaterialDefinition",
"attributes": [
{
"enum_values": [],
"type": "IfcNonNegativeLengthMeasure",
"name": "LayerThickness",
"is_enum": false
},
"name": "LayerThickness",
"type": "IfcNonNegativeLengthMeasure",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcLogical",
"name": "IsVentilated",
"is_enum": false
},
"name": "IsVentilated",
"type": "IfcLogical",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "Name",
"is_enum": false
},
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
},
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "Category",
"is_enum": false
},
"name": "Category",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcInteger",
"name": "Priority",
"is_enum": false
"name": "Priority",
"type": "IfcInteger",
"is_enum": false,
"enum_values": []
}
],
"is_abstract": false,
],
"complex_attributes": [
{
"select_types": [],
"type": "IfcMaterial",
"name": "Material",
"is_select": false
"name": "Material",
"type": "IfcMaterial",
"is_select": false,
"select_types": []
}
],
"parent": "IfcMaterialDefinition"
},
]
},
"IfcMaterialLayerSet": {
"is_abstract": false,
"parent": "IfcMaterialDefinition",
"attributes": [
{
"enum_values": [],
"type": "IfcLabel",
"name": "LayerSetName",
"is_enum": false
},
"name": "LayerSetName",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
}
],
"is_abstract": false,
"complex_attributes": [],
"parent": "IfcMaterialDefinition"
},
],
"complex_attributes": []
},
"IfcMaterialLayerWithOffsets": {
"is_abstract": false,
"parent": "IfcMaterialLayer",
"attributes": [
{
"enum_values": [],
"type": "IfcNonNegativeLengthMeasure",
"name": "LayerThickness",
"is_enum": false
},
"name": "LayerThickness",
"type": "IfcNonNegativeLengthMeasure",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcLogical",
"name": "IsVentilated",
"is_enum": false
},
"name": "IsVentilated",
"type": "IfcLogical",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "Name",
"is_enum": false
},
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
},
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "Category",
"is_enum": false
},
"name": "Category",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcInteger",
"name": "Priority",
"is_enum": false
},
"name": "Priority",
"type": "IfcInteger",
"is_enum": false,
"enum_values": []
},
{
"name": "OffsetDirection",
"type": "IfcLayerSetDirectionEnum",
"is_enum": true,
"enum_values": [
"AXIS1",
"AXIS2",
"AXIS1",
"AXIS2",
"AXIS3"
],
"type": "IfcLayerSetDirectionEnum",
"name": "OffsetDirection",
"is_enum": true
]
}
],
"is_abstract": false,
],
"complex_attributes": [
{
"select_types": [],
"type": "IfcMaterial",
"name": "Material",
"is_select": false
"name": "Material",
"type": "IfcMaterial",
"is_select": false,
"select_types": []
}
],
"parent": "IfcMaterialLayer"
},
]
},
"IfcMaterialProfile": {
"is_abstract": false,
"parent": "IfcMaterialDefinition",
"attributes": [
{
"enum_values": [],
"type": "IfcLabel",
"name": "Name",
"is_enum": false
},
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
},
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcInteger",
"name": "Priority",
"is_enum": false
},
"name": "Priority",
"type": "IfcInteger",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "Category",
"is_enum": false
"name": "Category",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
}
],
"is_abstract": false,
],
"complex_attributes": [
{
"select_types": [],
"type": "IfcMaterial",
"name": "Material",
"is_select": false
},
"name": "Material",
"type": "IfcMaterial",
"is_select": false,
"select_types": []
},
{
"select_types": [],
"type": "IfcProfileDef",
"name": "Profile",
"is_select": false
"name": "Profile",
"type": "IfcProfileDef",
"is_select": false,
"select_types": []
}
],
"parent": "IfcMaterialDefinition"
},
]
},
"IfcMaterialProfileSet": {
"is_abstract": false,
"parent": "IfcMaterialDefinition",
"attributes": [
{
"enum_values": [],
"type": "IfcLabel",
"name": "Name",
"is_enum": false
},
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
}
],
"is_abstract": false,
],
"complex_attributes": [
{
"select_types": [],
"type": "IfcCompositeProfileDef",
"name": "CompositeProfile",
"is_select": false
"name": "CompositeProfile",
"type": "IfcCompositeProfileDef",
"is_select": false,
"select_types": []
}
],
"parent": "IfcMaterialDefinition"
},
]
},
"IfcMaterialProfileWithOffsets": {
"is_abstract": false,
"parent": "IfcMaterialProfile",
"attributes": [
{
"enum_values": [],
"type": "IfcLabel",
"name": "Name",
"is_enum": false
},
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
},
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcInteger",
"name": "Priority",
"is_enum": false
},
"name": "Priority",
"type": "IfcInteger",
"is_enum": false,
"enum_values": []
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "Category",
"is_enum": false
"name": "Category",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
}
],
"is_abstract": false,
],
"complex_attributes": [
{
"select_types": [],
"type": "IfcMaterial",
"name": "Material",
"is_select": false
},
"name": "Material",
"type": "IfcMaterial",
"is_select": false,
"select_types": []
},
{
"select_types": [],
"type": "IfcProfileDef",
"name": "Profile",
"is_select": false
"name": "Profile",
"type": "IfcProfileDef",
"is_select": false,
"select_types": []
}
],
"parent": "IfcMaterialProfile"
]
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,554 @@
{
"IfcBuilding": {
"is_abstract": false,
"parent": "IfcSpatialStructureElement",
"attributes": [
{
"name": "GlobalId",
"type": "IfcGloballyUniqueId",
"is_enum": false,
"enum_values": []
},
{
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"name": "ObjectType",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "LongName",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "CompositionType",
"type": "IfcElementCompositionEnum",
"is_enum": true,
"enum_values": [
"COMPLEX",
"ELEMENT",
"PARTIAL"
]
},
{
"name": "ElevationOfRefHeight",
"type": "IfcLengthMeasure",
"is_enum": false,
"enum_values": []
},
{
"name": "ElevationOfTerrain",
"type": "IfcLengthMeasure",
"is_enum": false,
"enum_values": []
}
],
"complex_attributes": [
{
"name": "OwnerHistory",
"type": "IfcOwnerHistory",
"is_select": false,
"select_types": []
},
{
"name": "IsDeclaredBy",
"type": "IfcRelDefinesByObject",
"is_select": false,
"select_types": []
},
{
"name": "IsTypedBy",
"type": "IfcRelDefinesByType",
"is_select": false,
"select_types": []
},
{
"name": "ObjectPlacement",
"type": "IfcObjectPlacement",
"is_select": false,
"select_types": []
},
{
"name": "Representation",
"type": "IfcProductRepresentation",
"is_select": false,
"select_types": []
},
{
"name": "BuildingAddress",
"type": "IfcPostalAddress",
"is_select": false,
"select_types": []
}
]
},
"IfcBuildingStorey": {
"is_abstract": false,
"parent": "IfcSpatialStructureElement",
"attributes": [
{
"name": "GlobalId",
"type": "IfcGloballyUniqueId",
"is_enum": false,
"enum_values": []
},
{
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"name": "ObjectType",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "LongName",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "CompositionType",
"type": "IfcElementCompositionEnum",
"is_enum": true,
"enum_values": [
"COMPLEX",
"ELEMENT",
"PARTIAL"
]
},
{
"name": "Elevation",
"type": "IfcLengthMeasure",
"is_enum": false,
"enum_values": []
}
],
"complex_attributes": [
{
"name": "OwnerHistory",
"type": "IfcOwnerHistory",
"is_select": false,
"select_types": []
},
{
"name": "IsDeclaredBy",
"type": "IfcRelDefinesByObject",
"is_select": false,
"select_types": []
},
{
"name": "IsTypedBy",
"type": "IfcRelDefinesByType",
"is_select": false,
"select_types": []
},
{
"name": "ObjectPlacement",
"type": "IfcObjectPlacement",
"is_select": false,
"select_types": []
},
{
"name": "Representation",
"type": "IfcProductRepresentation",
"is_select": false,
"select_types": []
}
]
},
"IfcExternalSpatialElement": {
"is_abstract": false,
"parent": "IfcExternalSpatialStructureElement",
"attributes": [
{
"name": "GlobalId",
"type": "IfcGloballyUniqueId",
"is_enum": false,
"enum_values": []
},
{
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"name": "ObjectType",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "LongName",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "PredefinedType",
"type": "IfcExternalSpatialElementTypeEnum",
"is_enum": true,
"enum_values": [
"EXTERNAL",
"EXTERNAL_EARTH",
"EXTERNAL_WATER",
"EXTERNAL_FIRE",
"USERDEFINED",
"NOTDEFINED"
]
}
],
"complex_attributes": [
{
"name": "OwnerHistory",
"type": "IfcOwnerHistory",
"is_select": false,
"select_types": []
},
{
"name": "IsDeclaredBy",
"type": "IfcRelDefinesByObject",
"is_select": false,
"select_types": []
},
{
"name": "IsTypedBy",
"type": "IfcRelDefinesByType",
"is_select": false,
"select_types": []
},
{
"name": "ObjectPlacement",
"type": "IfcObjectPlacement",
"is_select": false,
"select_types": []
},
{
"name": "Representation",
"type": "IfcProductRepresentation",
"is_select": false,
"select_types": []
}
]
},
"IfcSite": {
"is_abstract": false,
"parent": "IfcSpatialStructureElement",
"attributes": [
{
"name": "GlobalId",
"type": "IfcGloballyUniqueId",
"is_enum": false,
"enum_values": []
},
{
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"name": "ObjectType",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "LongName",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "CompositionType",
"type": "IfcElementCompositionEnum",
"is_enum": true,
"enum_values": [
"COMPLEX",
"ELEMENT",
"PARTIAL"
]
},
{
"name": "RefLatitude",
"type": "List-IfcCompoundPlaneAngleMeasure",
"is_enum": false,
"enum_values": []
},
{
"name": "RefLongitude",
"type": "List-IfcCompoundPlaneAngleMeasure",
"is_enum": false,
"enum_values": []
},
{
"name": "RefElevation",
"type": "IfcLengthMeasure",
"is_enum": false,
"enum_values": []
},
{
"name": "LandTitleNumber",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
}
],
"complex_attributes": [
{
"name": "OwnerHistory",
"type": "IfcOwnerHistory",
"is_select": false,
"select_types": []
},
{
"name": "IsDeclaredBy",
"type": "IfcRelDefinesByObject",
"is_select": false,
"select_types": []
},
{
"name": "IsTypedBy",
"type": "IfcRelDefinesByType",
"is_select": false,
"select_types": []
},
{
"name": "ObjectPlacement",
"type": "IfcObjectPlacement",
"is_select": false,
"select_types": []
},
{
"name": "Representation",
"type": "IfcProductRepresentation",
"is_select": false,
"select_types": []
},
{
"name": "SiteAddress",
"type": "IfcPostalAddress",
"is_select": false,
"select_types": []
}
]
},
"IfcSpace": {
"is_abstract": false,
"parent": "IfcSpatialStructureElement",
"attributes": [
{
"name": "GlobalId",
"type": "IfcGloballyUniqueId",
"is_enum": false,
"enum_values": []
},
{
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"name": "ObjectType",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "LongName",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "CompositionType",
"type": "IfcElementCompositionEnum",
"is_enum": true,
"enum_values": [
"COMPLEX",
"ELEMENT",
"PARTIAL"
]
},
{
"name": "PredefinedType",
"type": "IfcSpaceTypeEnum",
"is_enum": true,
"enum_values": [
"SPACE",
"PARKING",
"GFA",
"INTERNAL",
"EXTERNAL",
"USERDEFINED",
"NOTDEFINED"
]
},
{
"name": "ElevationWithFlooring",
"type": "IfcLengthMeasure",
"is_enum": false,
"enum_values": []
}
],
"complex_attributes": [
{
"name": "OwnerHistory",
"type": "IfcOwnerHistory",
"is_select": false,
"select_types": []
},
{
"name": "IsDeclaredBy",
"type": "IfcRelDefinesByObject",
"is_select": false,
"select_types": []
},
{
"name": "IsTypedBy",
"type": "IfcRelDefinesByType",
"is_select": false,
"select_types": []
},
{
"name": "ObjectPlacement",
"type": "IfcObjectPlacement",
"is_select": false,
"select_types": []
},
{
"name": "Representation",
"type": "IfcProductRepresentation",
"is_select": false,
"select_types": []
}
]
},
"IfcSpatialZone": {
"is_abstract": false,
"parent": "IfcSpatialElement",
"attributes": [
{
"name": "GlobalId",
"type": "IfcGloballyUniqueId",
"is_enum": false,
"enum_values": []
},
{
"name": "Name",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"name": "ObjectType",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "LongName",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "PredefinedType",
"type": "IfcSpatialZoneTypeEnum",
"is_enum": true,
"enum_values": [
"CONSTRUCTION",
"FIRESAFETY",
"LIGHTING",
"OCCUPANCY",
"SECURITY",
"THERMAL",
"TRANSPORT",
"VENTILATION",
"USERDEFINED",
"NOTDEFINED"
]
}
],
"complex_attributes": [
{
"name": "OwnerHistory",
"type": "IfcOwnerHistory",
"is_select": false,
"select_types": []
},
{
"name": "IsDeclaredBy",
"type": "IfcRelDefinesByObject",
"is_select": false,
"select_types": []
},
{
"name": "IsTypedBy",
"type": "IfcRelDefinesByType",
"is_select": false,
"select_types": []
},
{
"name": "ObjectPlacement",
"type": "IfcObjectPlacement",
"is_select": false,
"select_types": []
},
{
"name": "Representation",
"type": "IfcProductRepresentation",
"is_select": false,
"select_types": []
}
]
}
}
@@ -1,388 +0,0 @@
{
"IfcBuilding": {
"attributes": [
{
"enum_values": [],
"type": "IfcGloballyUniqueId",
"name": "GlobalId",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "Name",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "ObjectType",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "LongName",
"is_enum": false
},
{
"enum_values": [
"COMPLEX",
"ELEMENT",
"PARTIAL"
],
"type": "IfcElementCompositionEnum",
"name": "CompositionType",
"is_enum": true
},
{
"enum_values": [],
"type": "IfcLengthMeasure",
"name": "ElevationOfRefHeight",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLengthMeasure",
"name": "ElevationOfTerrain",
"is_enum": false
}
],
"is_abstract": false,
"complex_attributes": [
{
"select_types": [],
"type": "IfcOwnerHistory",
"name": "OwnerHistory",
"is_select": false
},
{
"select_types": [],
"type": "IfcRelDefinesByObject",
"name": "IsDeclaredBy",
"is_select": false
},
{
"select_types": [],
"type": "IfcRelDefinesByType",
"name": "IsTypedBy",
"is_select": false
},
{
"select_types": [],
"type": "IfcObjectPlacement",
"name": "ObjectPlacement",
"is_select": false
},
{
"select_types": [],
"type": "IfcProductRepresentation",
"name": "Representation",
"is_select": false
},
{
"select_types": [],
"type": "IfcPostalAddress",
"name": "BuildingAddress",
"is_select": false
}
],
"parent": "IfcSpatialStructureElement"
},
"IfcBuildingStorey": {
"attributes": [
{
"enum_values": [],
"type": "IfcGloballyUniqueId",
"name": "GlobalId",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "Name",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "ObjectType",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "LongName",
"is_enum": false
},
{
"enum_values": [
"COMPLEX",
"ELEMENT",
"PARTIAL"
],
"type": "IfcElementCompositionEnum",
"name": "CompositionType",
"is_enum": true
},
{
"enum_values": [],
"type": "IfcLengthMeasure",
"name": "Elevation",
"is_enum": false
}
],
"is_abstract": false,
"complex_attributes": [
{
"select_types": [],
"type": "IfcOwnerHistory",
"name": "OwnerHistory",
"is_select": false
},
{
"select_types": [],
"type": "IfcRelDefinesByObject",
"name": "IsDeclaredBy",
"is_select": false
},
{
"select_types": [],
"type": "IfcRelDefinesByType",
"name": "IsTypedBy",
"is_select": false
},
{
"select_types": [],
"type": "IfcObjectPlacement",
"name": "ObjectPlacement",
"is_select": false
},
{
"select_types": [],
"type": "IfcProductRepresentation",
"name": "Representation",
"is_select": false
}
],
"parent": "IfcSpatialStructureElement"
},
"IfcSite": {
"attributes": [
{
"enum_values": [],
"type": "IfcGloballyUniqueId",
"name": "GlobalId",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "Name",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "ObjectType",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "LongName",
"is_enum": false
},
{
"enum_values": [
"COMPLEX",
"ELEMENT",
"PARTIAL"
],
"type": "IfcElementCompositionEnum",
"name": "CompositionType",
"is_enum": true
},
{
"enum_values": [],
"type": "List-IfcCompoundPlaneAngleMeasure",
"name": "RefLatitude",
"is_enum": false
},
{
"enum_values": [],
"type": "List-IfcCompoundPlaneAngleMeasure",
"name": "RefLongitude",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLengthMeasure",
"name": "RefElevation",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "LandTitleNumber",
"is_enum": false
}
],
"is_abstract": false,
"complex_attributes": [
{
"select_types": [],
"type": "IfcOwnerHistory",
"name": "OwnerHistory",
"is_select": false
},
{
"select_types": [],
"type": "IfcRelDefinesByObject",
"name": "IsDeclaredBy",
"is_select": false
},
{
"select_types": [],
"type": "IfcRelDefinesByType",
"name": "IsTypedBy",
"is_select": false
},
{
"select_types": [],
"type": "IfcObjectPlacement",
"name": "ObjectPlacement",
"is_select": false
},
{
"select_types": [],
"type": "IfcProductRepresentation",
"name": "Representation",
"is_select": false
},
{
"select_types": [],
"type": "IfcPostalAddress",
"name": "SiteAddress",
"is_select": false
}
],
"parent": "IfcSpatialStructureElement"
},
"IfcSpace": {
"attributes": [
{
"enum_values": [],
"type": "IfcGloballyUniqueId",
"name": "GlobalId",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "Name",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "ObjectType",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel",
"name": "LongName",
"is_enum": false
},
{
"enum_values": [
"COMPLEX",
"ELEMENT",
"PARTIAL"
],
"type": "IfcElementCompositionEnum",
"name": "CompositionType",
"is_enum": true
},
{
"enum_values": [
"SPACE",
"PARKING",
"GFA",
"INTERNAL",
"EXTERNAL",
"USERDEFINED",
"NOTDEFINED"
],
"type": "IfcSpaceTypeEnum",
"name": "PredefinedType",
"is_enum": true
},
{
"enum_values": [],
"type": "IfcLengthMeasure",
"name": "ElevationWithFlooring",
"is_enum": false
}
],
"is_abstract": false,
"complex_attributes": [
{
"select_types": [],
"type": "IfcOwnerHistory",
"name": "OwnerHistory",
"is_select": false
},
{
"select_types": [],
"type": "IfcRelDefinesByObject",
"name": "IsDeclaredBy",
"is_select": false
},
{
"select_types": [],
"type": "IfcRelDefinesByType",
"name": "IsTypedBy",
"is_select": false
},
{
"select_types": [],
"type": "IfcObjectPlacement",
"name": "ObjectPlacement",
"is_select": false
},
{
"select_types": [],
"type": "IfcProductRepresentation",
"name": "Representation",
"is_select": false
}
],
"parent": "IfcSpatialStructureElement"
}
}
File diff suppressed because it is too large Load Diff
+3 -2
View File
@@ -28,7 +28,8 @@ class IFC4Extractor:
}
self.elements[element.attrib['name']] = data
for filter in self.filters:
if self.is_descendant_from_class(element, filter):
if self.is_descendant_from_class(element, filter) \
and not data['is_abstract']:
self.filtered_elements.setdefault(filter, {})[element.attrib['name']] = data
def export(self, filename):
@@ -146,7 +147,7 @@ class IFC2X3Extractor(IFC4Extractor):
filename_filters = {
'IfcElement_IFC4.json': ['IfcElement'],
'IfcSpatialStructureElement_IFC4.json': ['IfcSpatialStructureElement'],
'IfcSpatialElement_IFC4.json': ['IfcSpatialElement'],
'IfcStructural_IFC4.json': ['IfcStructuralActivity', 'IfcStructuralItem'],
'IfcMaterialDefinition_IFC4.json': ['IfcMaterialDefinition'],
'IfcParameterizedProfileDef_IFC4.json': ['IfcParameterizedProfileDef'],