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 global products_enum
if len(products_enum) < 1: if len(products_enum) < 1:
products_enum.extend([(e, e, '') for e in products_enum.extend([(e, e, '') for e in
['IfcElement', 'IfcElementType', 'IfcSpatialStructureElement', 'IfcStructural']]) ['IfcElement', 'IfcElementType', 'IfcSpatialElement', 'IfcStructural']])
return products_enum return products_enum
+1 -1
View File
@@ -11,7 +11,7 @@ class IfcSchema():
# TODO: Make it less troublesome # TODO: Make it less troublesome
self.products = [ self.products = [
'IfcElement', 'IfcElement',
'IfcSpatialStructureElement', 'IfcSpatialElement',
'IfcStructural', 'IfcStructural',
'IfcMaterialDefinition', 'IfcMaterialDefinition',
'IfcParameterizedProfileDef', 'IfcParameterizedProfileDef',
@@ -1,256 +1,256 @@
{ {
"IfcBoundaryEdgeCondition": { "IfcBoundaryEdgeCondition": {
"is_abstract": false,
"parent": "IfcBoundaryCondition",
"attributes": [ "attributes": [
{ {
"enum_values": [],
"type": "IfcLabel",
"name": "Name", "name": "Name",
"is_enum": false "type": "IfcLabel",
"is_enum": false,
"enum_values": []
} }
], ],
"is_abstract": false,
"complex_attributes": [ "complex_attributes": [
{ {
"select_types": [
"IfcBoolean",
"IfcModulusOfLinearSubgradeReactionMeasure"
],
"type": "IfcModulusOfTranslationalSubgradeReactionSelect",
"name": "TranslationalStiffnessByLengthX", "name": "TranslationalStiffnessByLengthX",
"is_select": true "type": "IfcModulusOfTranslationalSubgradeReactionSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcModulusOfLinearSubgradeReactionMeasure" "IfcModulusOfLinearSubgradeReactionMeasure"
], ]
"type": "IfcModulusOfTranslationalSubgradeReactionSelect", },
{
"name": "TranslationalStiffnessByLengthY", "name": "TranslationalStiffnessByLengthY",
"is_select": true "type": "IfcModulusOfTranslationalSubgradeReactionSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcModulusOfLinearSubgradeReactionMeasure" "IfcModulusOfLinearSubgradeReactionMeasure"
], ]
"type": "IfcModulusOfTranslationalSubgradeReactionSelect", },
{
"name": "TranslationalStiffnessByLengthZ", "name": "TranslationalStiffnessByLengthZ",
"is_select": true "type": "IfcModulusOfTranslationalSubgradeReactionSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcModulusOfRotationalSubgradeReactionMeasure" "IfcModulusOfLinearSubgradeReactionMeasure"
], ]
"type": "IfcModulusOfRotationalSubgradeReactionSelect", },
{
"name": "RotationalStiffnessByLengthX", "name": "RotationalStiffnessByLengthX",
"is_select": true "type": "IfcModulusOfRotationalSubgradeReactionSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcModulusOfRotationalSubgradeReactionMeasure" "IfcModulusOfRotationalSubgradeReactionMeasure"
], ]
"type": "IfcModulusOfRotationalSubgradeReactionSelect", },
{
"name": "RotationalStiffnessByLengthY", "name": "RotationalStiffnessByLengthY",
"is_select": true "type": "IfcModulusOfRotationalSubgradeReactionSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcModulusOfRotationalSubgradeReactionMeasure" "IfcModulusOfRotationalSubgradeReactionMeasure"
], ]
"type": "IfcModulusOfRotationalSubgradeReactionSelect", },
{
"name": "RotationalStiffnessByLengthZ", "name": "RotationalStiffnessByLengthZ",
"is_select": true "type": "IfcModulusOfRotationalSubgradeReactionSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcModulusOfRotationalSubgradeReactionMeasure"
]
} }
], ]
"parent": "IfcBoundaryCondition"
}, },
"IfcBoundaryFaceCondition": { "IfcBoundaryFaceCondition": {
"is_abstract": false,
"parent": "IfcBoundaryCondition",
"attributes": [ "attributes": [
{ {
"enum_values": [],
"type": "IfcLabel",
"name": "Name", "name": "Name",
"is_enum": false "type": "IfcLabel",
"is_enum": false,
"enum_values": []
} }
], ],
"is_abstract": false,
"complex_attributes": [ "complex_attributes": [
{ {
"select_types": [
"IfcBoolean",
"IfcModulusOfSubgradeReactionMeasure"
],
"type": "IfcModulusOfSubgradeReactionSelect",
"name": "TranslationalStiffnessByAreaX", "name": "TranslationalStiffnessByAreaX",
"is_select": true "type": "IfcModulusOfSubgradeReactionSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcModulusOfSubgradeReactionMeasure" "IfcModulusOfSubgradeReactionMeasure"
], ]
"type": "IfcModulusOfSubgradeReactionSelect", },
{
"name": "TranslationalStiffnessByAreaY", "name": "TranslationalStiffnessByAreaY",
"is_select": true "type": "IfcModulusOfSubgradeReactionSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcModulusOfSubgradeReactionMeasure" "IfcModulusOfSubgradeReactionMeasure"
], ]
"type": "IfcModulusOfSubgradeReactionSelect", },
{
"name": "TranslationalStiffnessByAreaZ", "name": "TranslationalStiffnessByAreaZ",
"is_select": true "type": "IfcModulusOfSubgradeReactionSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcModulusOfSubgradeReactionMeasure"
]
} }
], ]
"parent": "IfcBoundaryCondition"
}, },
"IfcBoundaryNodeCondition": { "IfcBoundaryNodeCondition": {
"is_abstract": false,
"parent": "IfcBoundaryCondition",
"attributes": [ "attributes": [
{ {
"enum_values": [],
"type": "IfcLabel",
"name": "Name", "name": "Name",
"is_enum": false "type": "IfcLabel",
"is_enum": false,
"enum_values": []
} }
], ],
"is_abstract": false,
"complex_attributes": [ "complex_attributes": [
{ {
"select_types": [
"IfcBoolean",
"IfcLinearStiffnessMeasure"
],
"type": "IfcTranslationalStiffnessSelect",
"name": "TranslationalStiffnessX", "name": "TranslationalStiffnessX",
"is_select": true "type": "IfcTranslationalStiffnessSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcLinearStiffnessMeasure" "IfcLinearStiffnessMeasure"
], ]
"type": "IfcTranslationalStiffnessSelect", },
{
"name": "TranslationalStiffnessY", "name": "TranslationalStiffnessY",
"is_select": true "type": "IfcTranslationalStiffnessSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcLinearStiffnessMeasure" "IfcLinearStiffnessMeasure"
], ]
"type": "IfcTranslationalStiffnessSelect", },
{
"name": "TranslationalStiffnessZ", "name": "TranslationalStiffnessZ",
"is_select": true "type": "IfcTranslationalStiffnessSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcRotationalStiffnessMeasure" "IfcLinearStiffnessMeasure"
], ]
"type": "IfcRotationalStiffnessSelect", },
{
"name": "RotationalStiffnessX", "name": "RotationalStiffnessX",
"is_select": true "type": "IfcRotationalStiffnessSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcRotationalStiffnessMeasure" "IfcRotationalStiffnessMeasure"
], ]
"type": "IfcRotationalStiffnessSelect", },
{
"name": "RotationalStiffnessY", "name": "RotationalStiffnessY",
"is_select": true "type": "IfcRotationalStiffnessSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcRotationalStiffnessMeasure" "IfcRotationalStiffnessMeasure"
], ]
"type": "IfcRotationalStiffnessSelect", },
{
"name": "RotationalStiffnessZ", "name": "RotationalStiffnessZ",
"is_select": true "type": "IfcRotationalStiffnessSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcRotationalStiffnessMeasure"
]
} }
], ]
"parent": "IfcBoundaryCondition"
}, },
"IfcBoundaryNodeConditionWarping": { "IfcBoundaryNodeConditionWarping": {
"is_abstract": false,
"parent": "IfcBoundaryNodeCondition",
"attributes": [ "attributes": [
{ {
"enum_values": [],
"type": "IfcLabel",
"name": "Name", "name": "Name",
"is_enum": false "type": "IfcLabel",
"is_enum": false,
"enum_values": []
} }
], ],
"is_abstract": false,
"complex_attributes": [ "complex_attributes": [
{ {
"select_types": [
"IfcBoolean",
"IfcLinearStiffnessMeasure"
],
"type": "IfcTranslationalStiffnessSelect",
"name": "TranslationalStiffnessX", "name": "TranslationalStiffnessX",
"is_select": true "type": "IfcTranslationalStiffnessSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcLinearStiffnessMeasure" "IfcLinearStiffnessMeasure"
], ]
"type": "IfcTranslationalStiffnessSelect", },
{
"name": "TranslationalStiffnessY", "name": "TranslationalStiffnessY",
"is_select": true "type": "IfcTranslationalStiffnessSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcLinearStiffnessMeasure" "IfcLinearStiffnessMeasure"
], ]
"type": "IfcTranslationalStiffnessSelect", },
{
"name": "TranslationalStiffnessZ", "name": "TranslationalStiffnessZ",
"is_select": true "type": "IfcTranslationalStiffnessSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcRotationalStiffnessMeasure" "IfcLinearStiffnessMeasure"
], ]
"type": "IfcRotationalStiffnessSelect", },
{
"name": "RotationalStiffnessX", "name": "RotationalStiffnessX",
"is_select": true "type": "IfcRotationalStiffnessSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcRotationalStiffnessMeasure" "IfcRotationalStiffnessMeasure"
], ]
"type": "IfcRotationalStiffnessSelect", },
{
"name": "RotationalStiffnessY", "name": "RotationalStiffnessY",
"is_select": true "type": "IfcRotationalStiffnessSelect",
}, "is_select": true,
{
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcRotationalStiffnessMeasure" "IfcRotationalStiffnessMeasure"
], ]
"type": "IfcRotationalStiffnessSelect",
"name": "RotationalStiffnessZ",
"is_select": true
}, },
{ {
"name": "RotationalStiffnessZ",
"type": "IfcRotationalStiffnessSelect",
"is_select": true,
"select_types": [
"IfcBoolean",
"IfcRotationalStiffnessMeasure"
]
},
{
"name": "WarpingStiffness",
"type": "IfcWarpingStiffnessSelect",
"is_select": true,
"select_types": [ "select_types": [
"IfcBoolean", "IfcBoolean",
"IfcWarpingMomentMeasure" "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": { "IfcMaterial": {
"is_abstract": false,
"parent": "IfcMaterialDefinition",
"attributes": [ "attributes": [
{ {
"enum_values": [],
"type": "IfcLabel",
"name": "Name", "name": "Name",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel", "type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"name": "Category", "name": "Category",
"is_enum": false "type": "IfcLabel",
"is_enum": false,
"enum_values": []
} }
], ],
"is_abstract": false,
"complex_attributes": [ "complex_attributes": [
{ {
"select_types": [],
"type": "IfcMaterialDefinitionRepresentation",
"name": "HasRepresentation", "name": "HasRepresentation",
"is_select": false "type": "IfcMaterialDefinitionRepresentation",
"is_select": false,
"select_types": []
} }
], ]
"parent": "IfcMaterialDefinition"
}, },
"IfcMaterialConstituent": { "IfcMaterialConstituent": {
"is_abstract": false,
"parent": "IfcMaterialDefinition",
"attributes": [ "attributes": [
{ {
"enum_values": [],
"type": "IfcLabel",
"name": "Name", "name": "Name",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcNormalisedRatioMeasure",
"name": "Fraction",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel", "type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"name": "Fraction",
"type": "IfcNormalisedRatioMeasure",
"is_enum": false,
"enum_values": []
},
{
"name": "Category", "name": "Category",
"is_enum": false "type": "IfcLabel",
"is_enum": false,
"enum_values": []
} }
], ],
"is_abstract": false,
"complex_attributes": [ "complex_attributes": [
{ {
"select_types": [],
"type": "IfcMaterial",
"name": "Material", "name": "Material",
"is_select": false "type": "IfcMaterial",
"is_select": false,
"select_types": []
} }
], ]
"parent": "IfcMaterialDefinition"
}, },
"IfcMaterialConstituentSet": { "IfcMaterialConstituentSet": {
"is_abstract": false,
"parent": "IfcMaterialDefinition",
"attributes": [ "attributes": [
{ {
"enum_values": [],
"type": "IfcLabel",
"name": "Name", "name": "Name",
"is_enum": false "type": "IfcLabel",
"is_enum": false,
"enum_values": []
}, },
{ {
"enum_values": [],
"type": "IfcText",
"name": "Description", "name": "Description",
"is_enum": false "type": "IfcText",
"is_enum": false,
"enum_values": []
} }
], ],
"is_abstract": false, "complex_attributes": []
"complex_attributes": [],
"parent": "IfcMaterialDefinition"
}, },
"IfcMaterialLayer": { "IfcMaterialLayer": {
"is_abstract": false,
"parent": "IfcMaterialDefinition",
"attributes": [ "attributes": [
{ {
"enum_values": [],
"type": "IfcNonNegativeLengthMeasure",
"name": "LayerThickness", "name": "LayerThickness",
"is_enum": false "type": "IfcNonNegativeLengthMeasure",
"is_enum": false,
"enum_values": []
}, },
{ {
"enum_values": [],
"type": "IfcLogical",
"name": "IsVentilated", "name": "IsVentilated",
"is_enum": false "type": "IfcLogical",
"is_enum": false,
"enum_values": []
}, },
{ {
"enum_values": [],
"type": "IfcLabel",
"name": "Name", "name": "Name",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel", "type": "IfcLabel",
"name": "Category", "is_enum": false,
"is_enum": false "enum_values": []
},
{
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"name": "Category",
"type": "IfcLabel",
"is_enum": false,
"enum_values": []
}, },
{ {
"enum_values": [],
"type": "IfcInteger",
"name": "Priority", "name": "Priority",
"is_enum": false "type": "IfcInteger",
"is_enum": false,
"enum_values": []
} }
], ],
"is_abstract": false,
"complex_attributes": [ "complex_attributes": [
{ {
"select_types": [],
"type": "IfcMaterial",
"name": "Material", "name": "Material",
"is_select": false "type": "IfcMaterial",
"is_select": false,
"select_types": []
} }
], ]
"parent": "IfcMaterialDefinition"
}, },
"IfcMaterialLayerSet": { "IfcMaterialLayerSet": {
"is_abstract": false,
"parent": "IfcMaterialDefinition",
"attributes": [ "attributes": [
{ {
"enum_values": [],
"type": "IfcLabel",
"name": "LayerSetName", "name": "LayerSetName",
"is_enum": false "type": "IfcLabel",
"is_enum": false,
"enum_values": []
}, },
{ {
"enum_values": [],
"type": "IfcText",
"name": "Description", "name": "Description",
"is_enum": false "type": "IfcText",
"is_enum": false,
"enum_values": []
} }
], ],
"is_abstract": false, "complex_attributes": []
"complex_attributes": [],
"parent": "IfcMaterialDefinition"
}, },
"IfcMaterialLayerWithOffsets": { "IfcMaterialLayerWithOffsets": {
"is_abstract": false,
"parent": "IfcMaterialLayer",
"attributes": [ "attributes": [
{ {
"enum_values": [],
"type": "IfcNonNegativeLengthMeasure",
"name": "LayerThickness", "name": "LayerThickness",
"is_enum": false "type": "IfcNonNegativeLengthMeasure",
"is_enum": false,
"enum_values": []
}, },
{ {
"enum_values": [],
"type": "IfcLogical",
"name": "IsVentilated", "name": "IsVentilated",
"is_enum": false "type": "IfcLogical",
"is_enum": false,
"enum_values": []
}, },
{ {
"enum_values": [],
"type": "IfcLabel",
"name": "Name", "name": "Name",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel", "type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"name": "Category", "name": "Category",
"is_enum": false "type": "IfcLabel",
"is_enum": false,
"enum_values": []
}, },
{ {
"enum_values": [],
"type": "IfcInteger",
"name": "Priority", "name": "Priority",
"is_enum": false "type": "IfcInteger",
"is_enum": false,
"enum_values": []
}, },
{ {
"name": "OffsetDirection",
"type": "IfcLayerSetDirectionEnum",
"is_enum": true,
"enum_values": [ "enum_values": [
"AXIS1", "AXIS1",
"AXIS2", "AXIS2",
"AXIS3" "AXIS3"
], ]
"type": "IfcLayerSetDirectionEnum",
"name": "OffsetDirection",
"is_enum": true
} }
], ],
"is_abstract": false,
"complex_attributes": [ "complex_attributes": [
{ {
"select_types": [],
"type": "IfcMaterial",
"name": "Material", "name": "Material",
"is_select": false "type": "IfcMaterial",
"is_select": false,
"select_types": []
} }
], ]
"parent": "IfcMaterialLayer"
}, },
"IfcMaterialProfile": { "IfcMaterialProfile": {
"is_abstract": false,
"parent": "IfcMaterialDefinition",
"attributes": [ "attributes": [
{ {
"enum_values": [],
"type": "IfcLabel",
"name": "Name", "name": "Name",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcInteger",
"name": "Priority",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel", "type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"name": "Priority",
"type": "IfcInteger",
"is_enum": false,
"enum_values": []
},
{
"name": "Category", "name": "Category",
"is_enum": false "type": "IfcLabel",
"is_enum": false,
"enum_values": []
} }
], ],
"is_abstract": false,
"complex_attributes": [ "complex_attributes": [
{ {
"select_types": [],
"type": "IfcMaterial",
"name": "Material", "name": "Material",
"is_select": false "type": "IfcMaterial",
"is_select": false,
"select_types": []
}, },
{ {
"select_types": [],
"type": "IfcProfileDef",
"name": "Profile", "name": "Profile",
"is_select": false "type": "IfcProfileDef",
"is_select": false,
"select_types": []
} }
], ]
"parent": "IfcMaterialDefinition"
}, },
"IfcMaterialProfileSet": { "IfcMaterialProfileSet": {
"is_abstract": false,
"parent": "IfcMaterialDefinition",
"attributes": [ "attributes": [
{ {
"enum_values": [],
"type": "IfcLabel",
"name": "Name", "name": "Name",
"is_enum": false "type": "IfcLabel",
"is_enum": false,
"enum_values": []
}, },
{ {
"enum_values": [],
"type": "IfcText",
"name": "Description", "name": "Description",
"is_enum": false "type": "IfcText",
"is_enum": false,
"enum_values": []
} }
], ],
"is_abstract": false,
"complex_attributes": [ "complex_attributes": [
{ {
"select_types": [],
"type": "IfcCompositeProfileDef",
"name": "CompositeProfile", "name": "CompositeProfile",
"is_select": false "type": "IfcCompositeProfileDef",
"is_select": false,
"select_types": []
} }
], ]
"parent": "IfcMaterialDefinition"
}, },
"IfcMaterialProfileWithOffsets": { "IfcMaterialProfileWithOffsets": {
"is_abstract": false,
"parent": "IfcMaterialProfile",
"attributes": [ "attributes": [
{ {
"enum_values": [],
"type": "IfcLabel",
"name": "Name", "name": "Name",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcText",
"name": "Description",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcInteger",
"name": "Priority",
"is_enum": false
},
{
"enum_values": [],
"type": "IfcLabel", "type": "IfcLabel",
"is_enum": false,
"enum_values": []
},
{
"name": "Description",
"type": "IfcText",
"is_enum": false,
"enum_values": []
},
{
"name": "Priority",
"type": "IfcInteger",
"is_enum": false,
"enum_values": []
},
{
"name": "Category", "name": "Category",
"is_enum": false "type": "IfcLabel",
"is_enum": false,
"enum_values": []
} }
], ],
"is_abstract": false,
"complex_attributes": [ "complex_attributes": [
{ {
"select_types": [],
"type": "IfcMaterial",
"name": "Material", "name": "Material",
"is_select": false "type": "IfcMaterial",
"is_select": false,
"select_types": []
}, },
{ {
"select_types": [],
"type": "IfcProfileDef",
"name": "Profile", "name": "Profile",
"is_select": false "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 self.elements[element.attrib['name']] = data
for filter in self.filters: 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 self.filtered_elements.setdefault(filter, {})[element.attrib['name']] = data
def export(self, filename): def export(self, filename):
@@ -146,7 +147,7 @@ class IFC2X3Extractor(IFC4Extractor):
filename_filters = { filename_filters = {
'IfcElement_IFC4.json': ['IfcElement'], 'IfcElement_IFC4.json': ['IfcElement'],
'IfcSpatialStructureElement_IFC4.json': ['IfcSpatialStructureElement'], 'IfcSpatialElement_IFC4.json': ['IfcSpatialElement'],
'IfcStructural_IFC4.json': ['IfcStructuralActivity', 'IfcStructuralItem'], 'IfcStructural_IFC4.json': ['IfcStructuralActivity', 'IfcStructuralItem'],
'IfcMaterialDefinition_IFC4.json': ['IfcMaterialDefinition'], 'IfcMaterialDefinition_IFC4.json': ['IfcMaterialDefinition'],
'IfcParameterizedProfileDef_IFC4.json': ['IfcParameterizedProfileDef'], 'IfcParameterizedProfileDef_IFC4.json': ['IfcParameterizedProfileDef'],