Add property types.
This commit is contained in:
parent
cc66895499
commit
ee035c130e
31
source/external/ifcimporter.js
vendored
31
source/external/ifcimporter.js
vendored
@ -134,14 +134,39 @@ OV.ImporterIfc = class extends OV.ImporterBase
|
|||||||
}
|
}
|
||||||
let propSetDef = rel.RelatingPropertyDefinition;
|
let propSetDef = rel.RelatingPropertyDefinition;
|
||||||
let propSet = obj.ifc.GetLine (modelID, propSetDef.value, true);
|
let propSet = obj.ifc.GetLine (modelID, propSetDef.value, true);
|
||||||
|
if (!propSet || !propSet.HasProperties) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
let propertyGroup = new OV.PropertyGroup (propSet.Name.value);
|
let propertyGroup = new OV.PropertyGroup (propSet.Name.value);
|
||||||
propSet.HasProperties.forEach (function (property) {
|
propSet.HasProperties.forEach (function (property) {
|
||||||
let meshProperty = null;
|
let meshProperty = null;
|
||||||
if (property.NominalValue.label === 'IFCLABEL' || property.NominalValue.label === 'IFCIDENTIFIER') {
|
switch (property.NominalValue.label) {
|
||||||
|
case 'IFCTEXT':
|
||||||
|
case 'IFCLABEL':
|
||||||
|
case 'IFCIDENTIFIER':
|
||||||
meshProperty = new OV.Property (OV.PropertyType.Text, property.Name.value, property.NominalValue.value);
|
meshProperty = new OV.Property (OV.PropertyType.Text, property.Name.value, property.NominalValue.value);
|
||||||
} else if (property.NominalValue.label === 'IFCBOOLEAN') {
|
break;
|
||||||
// TODO: bool property type
|
case 'IFCBOOLEAN':
|
||||||
meshProperty = new OV.Property (OV.PropertyType.Boolean, property.Name.value, property.NominalValue.value === 'T' ? true : false);
|
meshProperty = new OV.Property (OV.PropertyType.Boolean, property.Name.value, property.NominalValue.value === 'T' ? true : false);
|
||||||
|
break;
|
||||||
|
case 'IFCCOUNTMEASURE':
|
||||||
|
meshProperty = new OV.Property (OV.PropertyType.Integer, property.Name.value, property.NominalValue.value);
|
||||||
|
break;
|
||||||
|
case 'IFCREAL':
|
||||||
|
case 'IFCLENGTHMEASURE':
|
||||||
|
case 'IFCPOSITIVELENGTHMEASURE':
|
||||||
|
case 'IFCRATIOMEASURE':
|
||||||
|
case 'IFCPOSITIVERATIOMEASURE':
|
||||||
|
case 'IFCMASSMEASURE':
|
||||||
|
case 'IFCMASSPERLENGTHMEASURE':
|
||||||
|
case 'IFCPLANEANGLEMEASURE':
|
||||||
|
case 'IFCTHERMALTRANSMITTANCEMEASURE':
|
||||||
|
meshProperty = new OV.Property (OV.PropertyType.Number, property.Name.value, property.NominalValue.value);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// TODO
|
||||||
|
console.log (property.NominalValue.label);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (meshProperty !== null) {
|
if (meshProperty !== null) {
|
||||||
propertyGroup.AddProperty (meshProperty);
|
propertyGroup.AddProperty (meshProperty);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user