Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
The first thing we are going to configure is the required entities. These three should do fine.
var requiredEntities = {
IFCPROPERTYSINGLEVALUE: "IfcPropertySingleValue",
IFCRELDEFINESBYPROPERTIES: "IfcRelDefinesByProperties",
IFCPROPERTYSET: "IfcPropertySet",
};
Notice how the object is structured. The key must be in uppercase. The value can have any form.
There's no need to get all IfcEntities
. Let's specify which entities we want.
var selectedEntities = {
IFCDOOR: "IfcDoor",
IFCWALLSTANDARDCASE: "IfcWallStandardCase",
};
Our sample file has only a door and a wall. It would be unnecessary to try to get the roofs, floors, windows, etc.
A list of common Ifc Entites can be found here:
Also, there's no need to get all Property Sets
. Let's specify which we want. Leave the array blank to include all Property Sets
.
var selectedPropertySets = ["Custom_Pset"];
Notice how the object is structured.
This is an array, not an object.
var allEntities = {
...requiredEntities,
...selectedEntities,
};
The spread operator can be used to join the two arrays
Our final config object
is constructed as:
var config = {
requiredEntities,
selectedEntities,
selectedPropertySets,
allEntities
};
Our BIM model was created in Revit.
We have created our own IFC export setup. With our custom setup, Revit exports a Property Set
called Custom_Pset. This means that each object (each door, wall, window, etc.) will have a property set called Custom_Pset.
We can open our exported IFC file in Solibri Anywhere. Our information that we want to parse is avaible in the tab Custom_Pset.
A property set is simply a set of properties
This example will use the Simple Wall sample file.
Make sure you read the detailed instructions before continuing
We are looking to retrieve the Property Set
called Custom_Pset.
Custom_Pset occurs five times in our file, see below:
#370= IFCPROPERTYSET('2WRKEbxzHDcwyFLp2OWZN6',#42,'Custom_Pset',$,(#365,#366,#367,#368,#369));
#420= IFCPROPERTYSET('0GscS$MUj8VORpWhZ8HE9A',#42,'Custom_Pset','',(#410,#411,#412,#413,#414,#415,#416,#417,#418,#419));
#603= IFCPROPERTYSET('1CXc3dmFPFfQbCU$bHsAfS',#42,'Custom_Pset','',(#593,#594,#595,#596,#597,#598,#599,#600,#601,#602));
#735= IFCPROPERTYSET('3CUt_fMl9Df9OKgw$sNH0T',#42,'Custom_Pset',$,(#729,#730,#731,#732,#733,#734));
#762= IFCPROPERTYSET('081bdaxsT7tvi7VV3hCTqa',#42,'Custom_Pset','',(#761))
These lines are not in a human-readable form. We cannot interpret this data. BIMWHALE.js will help us retrive and parse this data. Take a very quick at the input/output
then go ahead to the next step.
ISO-10303-21;
HEADER;
/******************************************************************************************
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.02.0100.07 : 28 Aug 2013
* Module: EDMstepFileFactory/EDMstandAlone
* Creation date: Wed Oct 28 18:06:27 2020
* Host: desktop
* Database: C:\Users\andre\AppData\Local\Temp\1d5c9ec4-3372-4075-8f09-942daf5120f6\c6a3f380-df47-414e-a6ff-0f212625bc9d\ifc
* Database version: 5507
* Database creation date: Wed Oct 28 18:06:26 2020
* Schema: IFC2X3
* Model: DataRepository.ifc
* Model creation date: Wed Oct 28 18:06:26 2020
* Header model: DataRepository.ifc_HeaderModel
* Header model creation date: Wed Oct 28 18:06:26 2020
* EDMuser: sdai-user
* EDMgroup: sdai-group
* License ID and type: 5605 : Permanent license. Expiry date:
* EDMstepFileFactory options: 020000
******************************************************************************************/
FILE_DESCRIPTION(('ViewDefinition [CoordinationView_V2.0, QuantityTakeOffAddOnView]'),'2;1');
FILE_NAME('// PROJECT/NUMBER //','2020-10-28T18:06:27',(''),(''),'The EXPRESS Data Manager Version 5.02.0100.07 : 28 Aug 2013','21.1.0.108 - Exporter 21.1.0.108 - Alternate UI 21.1.0.108','');
FILE_SCHEMA(('IFC2X3'));
ENDSEC;
DATA;
#1= IFCORGANIZATION($,'Autodesk Revit 2021 (ENU)',$,$,$);
#5= IFCAPPLICATION(#1,'2021','Autodesk Revit 2021 (ENU)','Revit');
#6= IFCCARTESIANPOINT((0.,0.,0.));
#9= IFCCARTESIANPOINT((0.,0.));
#11= IFCDIRECTION((1.,0.,0.));
#13= IFCDIRECTION((-1.,0.,0.));
#15= IFCDIRECTION((0.,1.,0.));
#17= IFCDIRECTION((0.,-1.,0.));
#19= IFCDIRECTION((0.,0.,1.));
#21= IFCDIRECTION((0.,0.,-1.));
#23= IFCDIRECTION((1.,0.));
#25= IFCDIRECTION((-1.,0.));
#27= IFCDIRECTION((0.,1.));
#29= IFCDIRECTION((0.,-1.));
#31= IFCAXIS2PLACEMENT3D(#6,$,$);
#32= IFCLOCALPLACEMENT(#149,#31);
#35= IFCPERSON($,'//','//',('AUTHOR'),$,$,$,$);
#38= IFCORGANIZATION($,'// ORGANIZATION/NAME //','// ORGANIZATION/DESCRIPTION //',$,$);
#39= IFCPERSONANDORGANIZATION(#35,#38,$);
#42= IFCOWNERHISTORY(#39,#5,$,.NOCHANGE.,$,$,$,1603900718);
#43= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
#44= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
#45= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
#46= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);
#47= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
#48= IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0);
#49= IFCMEASUREWITHUNIT(IFCRATIOMEASURE(0.0174532925199433),#47);
#50= IFCCONVERSIONBASEDUNIT(#48,.PLANEANGLEUNIT.,'DEGREE',#49);
#51= IFCSIUNIT(*,.MASSUNIT.,.KILO.,.GRAM.);
#52= IFCDERIVEDUNITELEMENT(#51,1);
#53= IFCDERIVEDUNITELEMENT(#44,-3);
#54= IFCDERIVEDUNIT((#52,#53),.MASSDENSITYUNIT.,$);
#56= IFCDERIVEDUNITELEMENT(#44,4);
#57= IFCDERIVEDUNIT((#56),.MOMENTOFINERTIAUNIT.,$);
#59= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.);
#60= IFCSIUNIT(*,.FREQUENCYUNIT.,$,.HERTZ.);
#61= IFCSIUNIT(*,.THERMODYNAMICTEMPERATUREUNIT.,$,.KELVIN.);
#62= IFCSIUNIT(*,.THERMODYNAMICTEMPERATUREUNIT.,$,.DEGREE_CELSIUS.);
#63= IFCDERIVEDUNITELEMENT(#51,1);
#64= IFCDERIVEDUNITELEMENT(#61,-1);
#65= IFCDERIVEDUNITELEMENT(#59,-3);
#66= IFCDERIVEDUNIT((#63,#64,#65),.THERMALTRANSMITTANCEUNIT.,$);
#68= IFCSIUNIT(*,.LENGTHUNIT.,.DECI.,.METRE.);
#69= IFCDERIVEDUNITELEMENT(#44,3);
#70= IFCDERIVEDUNITELEMENT(#59,-1);
#71= IFCDERIVEDUNIT((#69,#70),.VOLUMETRICFLOWRATEUNIT.,$);
#73= IFCSIUNIT(*,.ELECTRICCURRENTUNIT.,$,.AMPERE.);
#74= IFCSIUNIT(*,.ELECTRICVOLTAGEUNIT.,$,.VOLT.);
#75= IFCSIUNIT(*,.POWERUNIT.,$,.WATT.);
#76= IFCSIUNIT(*,.FORCEUNIT.,.KILO.,.NEWTON.);
#77= IFCSIUNIT(*,.ILLUMINANCEUNIT.,$,.LUX.);
#78= IFCSIUNIT(*,.LUMINOUSFLUXUNIT.,$,.LUMEN.);
#79= IFCSIUNIT(*,.LUMINOUSINTENSITYUNIT.,$,.CANDELA.);
#80= IFCDERIVEDUNITELEMENT(#51,-1);
#81= IFCDERIVEDUNITELEMENT(#44,-2);
#82= IFCDERIVEDUNITELEMENT(#59,3);
#83= IFCDERIVEDUNITELEMENT(#78,1);
#84= IFCDERIVEDUNIT((#80,#81,#82,#83),.USERDEFINED.,'Luminous Efficacy');
#86= IFCDERIVEDUNITELEMENT(#44,1);
#87= IFCDERIVEDUNITELEMENT(#59,-1);
#88= IFCDERIVEDUNIT((#86,#87),.LINEARVELOCITYUNIT.,$);
#90= IFCSIUNIT(*,.PRESSUREUNIT.,$,.PASCAL.);
#91= IFCDERIVEDUNITELEMENT(#44,-2);
#92= IFCDERIVEDUNITELEMENT(#51,1);
#93= IFCDERIVEDUNITELEMENT(#59,-2);
#94= IFCDERIVEDUNIT((#91,#92,#93),.USERDEFINED.,'Friction Loss');
#96= IFCDERIVEDUNITELEMENT(#51,1);
#97= IFCDERIVEDUNITELEMENT(#44,1);
#98= IFCDERIVEDUNITELEMENT(#59,-2);
#99= IFCDERIVEDUNITELEMENT(#44,-1);
#100= IFCDERIVEDUNIT((#96,#97,#98,#99),.LINEARFORCEUNIT.,$);
#102= IFCDERIVEDUNITELEMENT(#51,1);
#103= IFCDERIVEDUNITELEMENT(#44,1);
#104= IFCDERIVEDUNITELEMENT(#59,-2);
#105= IFCDERIVEDUNITELEMENT(#44,-2);
#106= IFCDERIVEDUNIT((#102,#103,#104,#105),.PLANARFORCEUNIT.,$);
#108= IFCUNITASSIGNMENT((#43,#45,#46,#50,#51,#54,#57,#59,#60,#62,#66,#71,#73,#74,#75,#76,#77,#78,#79,#84,#88,#90,#94,#100,#106));
#110= IFCAXIS2PLACEMENT3D(#6,$,$);
#111= IFCDIRECTION((6.12303176911189E-17,1.));
#113= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.01,#110,#111);
#116= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#113,$,.GRAPH_VIEW.,$);
#118= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#113,$,.MODEL_VIEW.,$);
#119= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Box','Model',*,*,*,*,#113,$,.MODEL_VIEW.,$);
#120= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('FootPrint','Model',*,*,*,*,#113,$,.MODEL_VIEW.,$);
#121= IFCPROJECT('2nxdYR2RHCDBiKJulbA_QU',#42,'// PROJECT/NUMBER //',$,$,'// PROJECT/NAME //','// PROJECT/STATUS //',(#113),#108);
#127= IFCPOSTALADDRESS($,$,$,$,('Enter address here'),$,'','Boston','','MA');
#131= IFCBUILDING('2nxdYR2RHCDBiKJulbA_QV',#42,'// BUILDING/NAME //',$,$,#32,$,'// BUILDING/NAME //',.ELEMENT.,$,$,#127);
#137= IFCAXIS2PLACEMENT3D(#6,$,$);
#138= IFCLOCALPLACEMENT(#32,#137);
#140= IFCBUILDINGSTOREY('2nxdYR2RHCDBiKJuiQr1XP',#42,'Level 1',$,'Level:8mm Head',#138,$,'Level 1',.ELEMENT.,0.);
#142= IFCCARTESIANPOINT((0.,0.,4000.));
#144= IFCAXIS2PLACEMENT3D(#142,$,$);
#937= IFCAXIS2PLACEMENT3D(#6,#19,#13);
#823= IFCRELCONTAINEDINSPATIALSTRUCTURE('3Zu5Bv0LOHrPC10066FoQQ',#42,$,$,(#219,#572),#140);
#148= IFCAXIS2PLACEMENT3D(#6,$,$);
#149= IFCLOCALPLACEMENT($,#148);
#150= IFCSITE('2nxdYR2RHCDBiKJulbA_QS',#42,'Default',$,$,#149,$,$,.ELEMENT.,(42,21,31,181945),(-71,-3,-24,-263305),0.,$,$);
#154= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Project Information'),$);
#155= IFCPROPERTYSET('2fyIDpiXL2EOHb_molX$RM',#42,'Pset_ProductRequirements',$,(#154));
#160= IFCRELDEFINESBYPROPERTIES('2Zkk7MDtv5UPXO7lnY9Pfr',#42,$,$,(#150),#155);
#164= IFCPROPERTYSINGLEVALUE('Author',$,IFCTEXT('// AUTHOR //'),$);
#165= IFCPROPERTYSINGLEVALUE('Building Name',$,IFCTEXT('// BUILDING/NAME //'),$);
#166= IFCPROPERTYSINGLEVALUE('Organization Description',$,IFCTEXT('// ORGANIZATION/DESCRIPTION //'),$);
#167= IFCPROPERTYSINGLEVALUE('Organization Name',$,IFCTEXT('// ORGANIZATION/NAME //'),$);
#168= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Project Information'),$);
#169= IFCPROPERTYSINGLEVALUE('Client Name',$,IFCTEXT('// CLIENT/NAME //'),$);
#170= IFCPROPERTYSINGLEVALUE('Project Address',$,IFCTEXT('Enter address here'),$);
#171= IFCPROPERTYSINGLEVALUE('Project Issue Date',$,IFCTEXT('// ISSUE DATE //'),$);
#172= IFCPROPERTYSINGLEVALUE('Project Name',$,IFCTEXT('// PROJECT/NAME //'),$);
#173= IFCPROPERTYSINGLEVALUE('Project Number',$,IFCTEXT('// PROJECT/NUMBER //'),$);
#174= IFCPROPERTYSINGLEVALUE('Project Status',$,IFCTEXT('// PROJECT/STATUS //'),$);
#175= IFCPROPERTYSET('27PCKGLxT4mxtV86o6mgBW',#42,'Identity Data',$,(#164,#165,#166,#167));
#177= IFCRELDEFINESBYPROPERTIES('27PCKGLxT4mxtV8Mo6mgBW',#42,$,$,(#150),#175);
#180= IFCPROPERTYSET('3qEsWJfw50zAS2DD_Fn$yp',#42,'Other',$,(#168,#169,#170,#171,#172,#173,#174));
#182= IFCRELDEFINESBYPROPERTIES('2O3RVoVXf1igF5Ze9BKwLp',#42,$,$,(#150),#180);
#185= IFCCARTESIANPOINT((-1693.30861181816,-5.56914852525364,0.));
#187= IFCAXIS2PLACEMENT3D(#185,$,$);
#188= IFCLOCALPLACEMENT(#138,#187);
#190= IFCCARTESIANPOINT((4000.,0.));
#192= IFCPOLYLINE((#9,#190));
#194= IFCSHAPEREPRESENTATION(#116,'Axis','Curve2D',(#192));
#197= IFCCARTESIANPOINT((2000.,0.));
#199= IFCAXIS2PLACEMENT2D(#197,#25);
#200= IFCRECTANGLEPROFILEDEF(.AREA.,$,#199,4000.,200.);
#201= IFCAXIS2PLACEMENT3D(#6,$,$);
#202= IFCEXTRUDEDAREASOLID(#200,#201,#19,4000.);
#203= IFCCOLOURRGB($,0.501960784313725,0.501960784313725,0.501960784313725);
#204= IFCSURFACESTYLERENDERING(#203,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.5),IFCSPECULAREXPONENT(64.),.NOTDEFINED.);
#205= IFCSURFACESTYLE('Default Wall',.BOTH.,(#204));
#207= IFCPRESENTATIONSTYLEASSIGNMENT((#205));
#209= IFCSTYLEDITEM(#202,(#207),$);
#212= IFCSHAPEREPRESENTATION(#118,'Body','SweptSolid',(#202));
#215= IFCPRODUCTDEFINITIONSHAPE($,$,(#194,#212));
#219= IFCWALLSTANDARDCASE('1F6umJ5H50aeL3A1As_wTm',#42,'Basic Wall:Bearing Wall:346660',$,'Basic Wall:Bearing Wall',#188,#215,'346660');
#228= IFCQUANTITYLENGTH('Height',$,$,4000.);
#229= IFCQUANTITYLENGTH('Length',$,$,4000.);
#230= IFCQUANTITYLENGTH('Width',$,$,200.);
#231= IFCQUANTITYAREA('GrossFootprintArea',$,$,0.8);
#232= IFCQUANTITYVOLUME('NetVolume',$,$,3200000000.);
#233= IFCQUANTITYAREA('NetSideArea',$,$,16000000.);
#234= IFCQUANTITYAREA('NetSideArea',$,$,14.04739);
#235= IFCQUANTITYVOLUME('NetVolume',$,$,2.809478);
#236= IFCELEMENTQUANTITY('1tNGP0o7zCuxUSDLATNaK3',#42,'BaseQuantities',$,$,(#228,#229,#230,#231,#232,#233,#234,#235));
#238= IFCRELDEFINESBYPROPERTIES('0Vgcm4Chb6OxnMJMYOlkea',#42,$,$,(#219),#236);
#242= IFCMATERIAL('Default Wall');
#245= IFCPRESENTATIONSTYLEASSIGNMENT((#205));
#247= IFCSTYLEDITEM($,(#245),$);
#249= IFCSTYLEDREPRESENTATION(#113,'Style','Material',(#247));
#252= IFCMATERIALDEFINITIONREPRESENTATION($,$,(#249),#242);
#255= IFCMATERIALLAYER(#242,200.,$);
#257= IFCMATERIALLAYERSET((#255),'Basic Wall:Bearing Wall');
#260= IFCMATERIALLAYERSETUSAGE(#257,.AXIS2.,.NEGATIVE.,100.);
#261= IFCWALLTYPE('1F6umJ5H50aeL3A1As_wV9',#42,'Basic Wall:Bearing Wall',$,$,(#332,#334,#336,#338,#340,#343,#346,#349,#352,#355,#359,#363,#370),$,'346781',$,.STANDARD.);
#263= IFCPROPERTYSINGLEVALUE('Base Constraint',$,IFCLABEL('Level: Level 1'),$);
#264= IFCPROPERTYSINGLEVALUE('Base Extension Distance',$,IFCLENGTHMEASURE(0.),$);
#265= IFCPROPERTYSINGLEVALUE('Base is Attached',$,IFCBOOLEAN(.F.),$);
#266= IFCPROPERTYSINGLEVALUE('Base Offset',$,IFCLENGTHMEASURE(0.),$);
#267= IFCPROPERTYSINGLEVALUE('Cross-Section',$,IFCIDENTIFIER('Vertical'),$);
#268= IFCPROPERTYSINGLEVALUE('Location Line',$,IFCIDENTIFIER('Wall Centerline'),$);
#269= IFCPROPERTYSINGLEVALUE('Related to Mass',$,IFCBOOLEAN(.F.),$);
#270= IFCPROPERTYSINGLEVALUE('Room Bounding',$,IFCBOOLEAN(.T.),$);
#271= IFCPROPERTYSINGLEVALUE('Top Constraint',$,IFCLABEL('Level: Level 2'),$);
#272= IFCPROPERTYSINGLEVALUE('Top Extension Distance',$,IFCLENGTHMEASURE(0.),$);
#273= IFCPROPERTYSINGLEVALUE('Top is Attached',$,IFCBOOLEAN(.F.),$);
#274= IFCPROPERTYSINGLEVALUE('Top Offset',$,IFCLENGTHMEASURE(0.),$);
#275= IFCPROPERTYSINGLEVALUE('Unconnected Height',$,IFCLENGTHMEASURE(4000.),$);
#276= IFCPROPERTYSINGLEVALUE('Phase Created',$,IFCLABEL('New Construction'),$);
#277= IFCPROPERTYSINGLEVALUE('Enable Analytical Model',$,IFCBOOLEAN(.F.),$);
#278= IFCPROPERTYSINGLEVALUE('Structural',$,IFCBOOLEAN(.F.),$);
#279= IFCPROPERTYSINGLEVALUE('Structural Usage',$,IFCIDENTIFIER('Non-bearing'),$);
#280= IFCPROPERTYSINGLEVALUE('Area',$,IFCAREAMEASURE(14.04739),$);
#281= IFCPROPERTYSINGLEVALUE('Length',$,IFCLENGTHMEASURE(4000.),$);
#282= IFCPROPERTYSINGLEVALUE('Volume',$,IFCVOLUMEMEASURE(2.809478),$);
#283= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Walls'),$);
#284= IFCPROPERTYSINGLEVALUE('Family',$,IFCLABEL('Basic Wall: Bearing Wall'),$);
#285= IFCPROPERTYSINGLEVALUE('Family and Type',$,IFCLABEL('Basic Wall: Bearing Wall'),$);
#286= IFCPROPERTYSINGLEVALUE('Type',$,IFCLABEL('Basic Wall: Bearing Wall'),$);
#287= IFCPROPERTYSINGLEVALUE('Type Id',$,IFCLABEL('Basic Wall: Bearing Wall'),$);
#288= IFCPROPERTYSINGLEVALUE('Absorptance',$,IFCREAL(0.7),$);
#289= IFCPROPERTYSINGLEVALUE('Roughness',$,IFCINTEGER(3),$);
#290= IFCPROPERTYSINGLEVALUE('Coarse Scale Fill Color',$,IFCINTEGER(0),$);
#291= IFCPROPERTYSINGLEVALUE('Function',$,IFCIDENTIFIER('Exterior'),$);
#292= IFCPROPERTYSINGLEVALUE('Width',$,IFCLENGTHMEASURE(200.),$);
#293= IFCPROPERTYSINGLEVALUE('Wrapping at Ends',$,IFCIDENTIFIER('None'),$);
#294= IFCPROPERTYSINGLEVALUE('Wrapping at Inserts',$,IFCIDENTIFIER('Do not wrap'),$);
#295= IFCPROPERTYSINGLEVALUE('Assembly Code',$,IFCTEXT('_ASSEMBLY-CODE_'),$);
#296= IFCPROPERTYSINGLEVALUE('Assembly Description',$,IFCTEXT(''),$);
#297= IFCPROPERTYSINGLEVALUE('Description',$,IFCTEXT('_DESCRIPTION_'),$);
#298= IFCPROPERTYSINGLEVALUE('Fire Rating',$,IFCTEXT('_FIRE-RATING_'),$);
#299= IFCPROPERTYSINGLEVALUE('Keynote',$,IFCTEXT('_KEYNOTE_'),$);
#300= IFCPROPERTYSINGLEVALUE('Manufacturer',$,IFCTEXT('_MANUFACTURER_'),$);
#301= IFCPROPERTYSINGLEVALUE('Model',$,IFCTEXT('MODEL'),$);
#302= IFCPROPERTYSINGLEVALUE('Type Comments',$,IFCTEXT('_TYPE-COMMENTS_'),$);
#303= IFCPROPERTYSINGLEVALUE('Type Mark',$,IFCTEXT('_TYPE-MARK_'),$);
#304= IFCPROPERTYSINGLEVALUE('Type Name',$,IFCTEXT('Bearing Wall'),$);
#305= IFCPROPERTYSINGLEVALUE('URL',$,IFCTEXT('_URL_'),$);
#306= IFCPROPERTYSINGLEVALUE('Family Name',$,IFCTEXT('Basic Wall'),$);
#307= IFCPROPERTYSET('1F6umJ5H50aeL3BWQs_wTm',#42,'Constraints',$,(#263,#264,#265,#266,#267,#268,#269,#270,#271,#272,#273,#274,#275));
#309= IFCRELDEFINESBYPROPERTIES('1F6umJ5H50aeL3BmQs_wTm',#42,$,$,(#219),#307);
#312= IFCPROPERTYSET('1F6umJ5H50aeL3BX2s_wTm',#42,'Dimensions',$,(#280,#281,#282));
#314= IFCRELDEFINESBYPROPERTIES('1F6umJ5H50aeL3Bn2s_wTm',#42,$,$,(#219),#312);
#317= IFCPROPERTYSET('0Orq4sVkf4nuhG2_KyNA6v',#42,'Other',$,(#283,#284,#285,#286,#287));
#319= IFCRELDEFINESBYPROPERTIES('2piNnh9PP7P9X83hwTczmI',#42,$,$,(#219),#317);
#322= IFCPROPERTYSET('1F6umJ5H50aeL3BXss_wTm',#42,'Phasing',$,(#276));
#324= IFCRELDEFINESBYPROPERTIES('1F6umJ5H50aeL3Bnss_wTm',#42,$,$,(#219),#322);
#327= IFCPROPERTYSET('1F6umJ5H50aeL3BX_s_wTm',#42,'Structural',$,(#277,#278,#279));
#329= IFCRELDEFINESBYPROPERTIES('1F6umJ5H50aeL3Bn_s_wTm',#42,$,$,(#219),#327);
#332= IFCPROPERTYSET('1F6umJ5H50aeL3Ba_s_wV9',#42,'Analytical Properties',$,(#288,#289));
#334= IFCPROPERTYSET('1F6umJ5H50aeL3BXQs_wV9',#42,'Construction',$,(#291,#292,#293,#294));
#336= IFCPROPERTYSET('1F6umJ5H50aeL3BXUs_wV9',#42,'Graphics',$,(#290));
#338= IFCPROPERTYSET('1F6umJ5H50aeL3BXEs_wV9',#42,'Identity Data',$,(#295,#296,#297,#298,#299,#300,#301,#302,#303,#304,#305));
#340= IFCPROPERTYSET('3SvvqA__r5DgpdHwQyK3Bd',#42,'Other',$,(#283,#306));
#342= IFCPROPERTYSINGLEVALUE('FireRating',$,IFCLABEL('_FIRE-RATING_'),$);
#343= IFCPROPERTYSET('2FgIvz$DH78OxbP_6aQM2V',#42,'Pset_ConcreteElementGeneral',$,(#342));
#345= IFCPROPERTYSINGLEVALUE('Roughness',$,IFCPOSITIVELENGTHMEASURE(914.4),$);
#346= IFCPROPERTYSET('1oVspYgob9zvAirDJdqqfX',#42,'Pset_ElementShading',$,(#345));
#348= IFCPROPERTYSINGLEVALUE('Manufacturer',$,IFCLABEL('_MANUFACTURER_'),$);
#349= IFCPROPERTYSET('1aTixl2HD13BY1fMD6Ca95',#42,'Pset_ManufacturerTypeInformation',$,(#348));
#351= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Walls'),$);
#352= IFCPROPERTYSET('3TpEitt5fAtunT40jgEguw',#42,'Pset_ProductRequirements',$,(#351));
#354= IFCPROPERTYSINGLEVALUE('Reference',$,IFCIDENTIFIER('Bearing Wall'),$);
#355= IFCPROPERTYSET('3G$HLInsX3ceLuR_J74pJp',#42,'Pset_QuantityTakeOff',$,(#354));
#357= IFCPROPERTYSINGLEVALUE('Description',$,IFCTEXT('_DESCRIPTION_'),$);
#358= IFCPROPERTYSINGLEVALUE('Reference',$,IFCLABEL('Bearing Wall'),$);
#359= IFCPROPERTYSET('30Z0TShUL41BB0lNR6torP',#42,'Pset_ReinforcementBarPitchOfWall',$,(#357,#358));
#361= IFCPROPERTYSINGLEVALUE('FireRating',$,IFCLABEL('_FIRE-RATING_'),$);
#362= IFCPROPERTYSINGLEVALUE('IsExternal',$,IFCBOOLEAN(.F.),$);
#363= IFCPROPERTYSET('1F6umJ5H50aeL38__s_wV9',#42,'Pset_WallCommon',$,(#354,#361,#362));
#365= IFCPROPERTYSINGLEVALUE('TypeMark',$,IFCLABEL('_TYPE-MARK_'),$);
#366= IFCPROPERTYSINGLEVALUE('Keynote',$,IFCLABEL('_KEYNOTE_'),$);
#367= IFCPROPERTYSINGLEVALUE('TypeDescription',$,IFCTEXT('_DESCRIPTION_'),$);
#368= IFCPROPERTYSINGLEVALUE('Width',$,IFCLENGTHMEASURE(200.),$);
#369= IFCPROPERTYSINGLEVALUE('Hyperlink',$,IFCTEXT('_URL_'),$);
#370= IFCPROPERTYSET('2WRKEbxzHDcwyFLp2OWZN6',#42,'Custom_Pset',$,(#365,#366,#367,#368,#369));
#386= IFCPROPERTYSINGLEVALUE('FireRating',$,IFCLABEL('_FIRE-RATING_'),$);
#387= IFCPROPERTYSET('3P2gpigy5Bxf21UPLtfxGn',#42,'Pset_ConcreteElementGeneral',$,(#386));
#389= IFCPROPERTYSINGLEVALUE('Roughness',$,IFCPOSITIVELENGTHMEASURE(914.4),$);
#390= IFCPROPERTYSET('3oPqgsplnDQBBauhDymfTT',#42,'Pset_ElementShading',$,(#389));
#392= IFCPROPERTYSINGLEVALUE('Manufacturer',$,IFCLABEL('_MANUFACTURER_'),$);
#393= IFCPROPERTYSET('0sSV0IAmn1$hYjAOaeItMd',#42,'Pset_ManufacturerTypeInformation',$,(#392));
#395= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Walls'),$);
#396= IFCPROPERTYSET('0BJealGbf6YvPiyaIcPtbR',#42,'Pset_ProductRequirements',$,(#395));
#398= IFCPROPERTYSET('3B2kERP3j9yuxt6oSMSCYK',#42,'Pset_QuantityTakeOff',$,(#354));
#400= IFCPROPERTYSINGLEVALUE('Description',$,IFCTEXT('_DESCRIPTION_'),$);
#401= IFCPROPERTYSINGLEVALUE('Reference',$,IFCLABEL('Bearing Wall'),$);
#402= IFCPROPERTYSET('35fO62eKf7eBj26c0ZGCYK',#42,'Pset_ReinforcementBarPitchOfWall',$,(#400,#401));
#404= IFCPROPERTYSINGLEVALUE('FireRating',$,IFCLABEL('_FIRE-RATING_'),$);
#405= IFCPROPERTYSINGLEVALUE('IsExternal',$,IFCBOOLEAN(.T.),$);
#406= IFCPROPERTYSINGLEVALUE('ExtendToStructure',$,IFCBOOLEAN(.F.),$);
#407= IFCPROPERTYSINGLEVALUE('LoadBearing',$,IFCBOOLEAN(.F.),$);
#408= IFCPROPERTYSET('1F6umJ5H50aeL38__s_wTm',#42,'Pset_WallCommon',$,(#354,#404,#405,#406,#407));
#410= IFCPROPERTYSINGLEVALUE('TypeMark',$,IFCLABEL('_TYPE-MARK_'),$);
#411= IFCPROPERTYSINGLEVALUE('Keynote',$,IFCLABEL('_KEYNOTE_'),$);
#412= IFCPROPERTYSINGLEVALUE('StoreyName',$,IFCTEXT('Level: Level 1'),$);
#413= IFCPROPERTYSINGLEVALUE('TypeDescription',$,IFCTEXT('_DESCRIPTION_'),$);
#414= IFCPROPERTYSINGLEVALUE('StatusConstruction',$,IFCLABEL('New Construction'),$);
#415= IFCPROPERTYSINGLEVALUE('NetArea',$,IFCAREAMEASURE(14.04739),$);
#416= IFCPROPERTYSINGLEVALUE('Height',$,IFCLENGTHMEASURE(4000.),$);
#417= IFCPROPERTYSINGLEVALUE('Width',$,IFCLENGTHMEASURE(200.),$);
#418= IFCPROPERTYSINGLEVALUE('Length',$,IFCLENGTHMEASURE(4000.),$);
#419= IFCPROPERTYSINGLEVALUE('Hyperlink',$,IFCTEXT('_URL_'),$);
#420= IFCPROPERTYSET('0GscS$MUj8VORpWhZ8HE9A',#42,'Custom_Pset','',(#410,#411,#412,#413,#414,#415,#416,#417,#418,#419));
#422= IFCRELDEFINESBYPROPERTIES('2MFCuX$Tz2sPZWU81naSyy',#42,$,$,(#219),#387);
#425= IFCRELDEFINESBYPROPERTIES('2zJMZ6wET4dgTHfaIfMtfO',#42,$,$,(#219),#390);
#428= IFCRELDEFINESBYPROPERTIES('1X0JGVfDf1W9F9IK$qt1Lk',#42,$,$,(#219),#393);
#431= IFCRELDEFINESBYPROPERTIES('1Ol9CkDoP5Dun0TKKnif29',#42,$,$,(#219),#396);
#434= IFCRELDEFINESBYPROPERTIES('0JqUYZ7Z16zQrsbalAuwUh',#42,$,$,(#219),#398);
#437= IFCRELDEFINESBYPROPERTIES('2qcAwIAOvEYPa5s9UuUorV',#42,$,$,(#219),#402);
#440= IFCRELDEFINESBYPROPERTIES('1xmcmfIjT6CR2StfT5_wlv',#42,$,$,(#219),#408);
#443= IFCRELDEFINESBYPROPERTIES('36lLKbnX5EwwW25YA80Mtv',#42,$,$,(#219),#420);
#446= IFCCLASSIFICATION('http://www.csiorg.net/uniformat','1998',$,'Uniformat');
#448= IFCCLASSIFICATIONREFERENCE('http://www.csiorg.net/uniformat','_ASSEMBLY-CODE_',$,#446);
#449= IFCRELASSOCIATESCLASSIFICATION('1Tbe43SmzDeheUB6aGPLmp',#42,'Uniformat Classification','',(#219),#448);
#452= IFCCARTESIANPOINT((-533.5,-1124.));
#454= IFCCARTESIANPOINT((533.5,-1124.));
#456= IFCCARTESIANPOINT((533.5,1086.));
#458= IFCCARTESIANPOINT((457.5,1086.));
#460= IFCCARTESIANPOINT((457.5,-1048.));
#462= IFCCARTESIANPOINT((-457.5,-1048.));
#464= IFCCARTESIANPOINT((-457.5,1086.));
#466= IFCCARTESIANPOINT((-533.5,1086.));
#468= IFCPOLYLINE((#452,#454,#456,#458,#460,#462,#464,#466,#452));
#470= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Outside door',#468);
#471= IFCCARTESIANPOINT((457.500000000001,200.,1086.));
#473= IFCAXIS2PLACEMENT3D(#471,#15,#11);
#474= IFCEXTRUDEDAREASOLID(#470,#473,#19,24.9999999999945);
#475= IFCCARTESIANPOINT((-1124.,-533.499999999997));
#477= IFCCARTESIANPOINT((1086.,-533.499999999997));
#479= IFCCARTESIANPOINT((1086.,-457.500000000007));
#481= IFCCARTESIANPOINT((-1048.,-457.500000000007));
#483= IFCCARTESIANPOINT((-1048.,457.500000000002));
#485= IFCCARTESIANPOINT((1086.,457.500000000002));
#487= IFCCARTESIANPOINT((1086.,533.500000000003));
#489= IFCCARTESIANPOINT((-1124.,533.500000000003));
#491= IFCPOLYLINE((#475,#477,#479,#481,#483,#485,#487,#489,#475));
#493= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Outside door',#491);
#494= IFCCARTESIANPOINT((457.500000000003,-25.,1086.));
#496= IFCAXIS2PLACEMENT3D(#494,#15,#21);
#497= IFCEXTRUDEDAREASOLID(#493,#496,#19,25.0000000000056);
#498= IFCCARTESIANPOINT((-5.32907051820075E-15,0.));
#500= IFCAXIS2PLACEMENT2D(#498,#23);
#501= IFCRECTANGLEPROFILEDEF(.AREA.,'Outside door',#500,51.,915.);
#502= IFCCARTESIANPOINT((457.5,174.500000000001,0.));
#504= IFCAXIS2PLACEMENT3D(#502,#19,#15);
#505= IFCEXTRUDEDAREASOLID(#501,#504,#19,2134.);
#506= IFCCOLOURRGB($,0.462745098039216,0.274509803921569,0.2);
#507= IFCSURFACESTYLERENDERING(#506,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.5),IFCSPECULAREXPONENT(128.),.NOTDEFINED.);
#508= IFCSURFACESTYLE('Door - Frame',.BOTH.,(#507));
#510= IFCPRESENTATIONSTYLEASSIGNMENT((#508));
#512= IFCSTYLEDITEM(#474,(#510),$);
#515= IFCSTYLEDITEM(#497,(#510),$);
#518= IFCCOLOURRGB($,0.823529411764706,0.623529411764706,0.372549019607843);
#519= IFCSURFACESTYLERENDERING(#518,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.5),IFCSPECULAREXPONENT(128.),.NOTDEFINED.);
#520= IFCSURFACESTYLE('Door - Panel',.BOTH.,(#519));
#522= IFCPRESENTATIONSTYLEASSIGNMENT((#520));
#524= IFCSTYLEDITEM(#505,(#522),$);
#527= IFCSHAPEREPRESENTATION(#118,'Body','SweptSolid',(#474,#497,#505));
#529= IFCAXIS2PLACEMENT3D(#6,$,$);
#530= IFCREPRESENTATIONMAP(#529,#527);
#532= IFCDOORLININGPROPERTIES('1F6umJ5H50aeL3A1Es_wUF',#42,'M_Single-Flush:Outside door:346843',$,$,$,$,$,$,$,$,$,$,$,$);
#533= IFCDOORPANELPROPERTIES('1F6umJ5H50aeL3A12s_wUF',#42,'M_Single-Flush:Outside door:346843',$,$,.SWINGING.,$,.NOTDEFINED.,$);
#534= IFCDOORSTYLE('1F6umJ5H50aeL3A0Us_wOq',#42,'M_Single-Flush:Outside door',$,$,(#532,#533,#702,#704,#706,#708,#710,#712,#715,#719,#722,#725,#727,#735),(#530),'49480',.SINGLE_SWING_RIGHT.,.NOTDEFINED.,.F.,.F.);
#539= IFCMATERIAL('Door - Frame');
#540= IFCPRESENTATIONSTYLEASSIGNMENT((#508));
#542= IFCSTYLEDITEM($,(#540),$);
#544= IFCSTYLEDREPRESENTATION(#113,'Style','Material',(#542));
#546= IFCMATERIALDEFINITIONREPRESENTATION($,$,(#544),#539);
#549= IFCMATERIAL('Door - Panel');
#550= IFCPRESENTATIONSTYLEASSIGNMENT((#520));
#552= IFCSTYLEDITEM($,(#550),$);
#554= IFCSTYLEDREPRESENTATION(#113,'Style','Material',(#552));
#556= IFCMATERIALDEFINITIONREPRESENTATION($,$,(#554),#549);
#559= IFCMATERIALLIST((#539,#549));
#561= IFCCARTESIANTRANSFORMATIONOPERATOR3D($,$,#6,1.,$);
#562= IFCMAPPEDITEM(#530,#561);
#564= IFCSHAPEREPRESENTATION(#118,'Body','MappedRepresentation',(#562));
#566= IFCPRODUCTDEFINITIONSHAPE($,$,(#564));
#568= IFCCARTESIANPOINT((764.191388181842,94.4308514747393,0.));
#570= IFCAXIS2PLACEMENT3D(#568,#19,#13);
#938= IFCLOCALPLACEMENT(#915,#937);
#572= IFCDOOR('1F6umJ5H50aeL3A1As_wUF',#42,'M_Single-Flush:Outside door:346843',$,'M_Single-Flush:Outside door',#938,#566,'346843',2134.,915.);
#575= IFCMATERIALLIST((#539,#549));
#577= IFCPROPERTYSINGLEVALUE('FireRating',$,IFCLABEL('--FIRE_CODE--'),$);
#578= IFCPROPERTYSET('1MAvBog6f9YfPSrRA3TNJX',#42,'Pset_ConcreteElementGeneral',$,(#577));
#580= IFCPROPERTYSINGLEVALUE('Reference',$,IFCIDENTIFIER('Outside door'),$);
#581= IFCPROPERTYSINGLEVALUE('FireRating',$,IFCLABEL('--FIRE_CODE--'),$);
#582= IFCPROPERTYSINGLEVALUE('ThermalTransmittance',$,IFCTHERMALTRANSMITTANCEMEASURE(3.7021),$);
#583= IFCPROPERTYSET('1F6umJ5H50aeL38_As_wUF',#42,'Pset_DoorCommon',$,(#362,#580,#581,#582));
#585= IFCPROPERTYSINGLEVALUE('Manufacturer',$,IFCLABEL('--TYPE_COMMENTS_'),$);
#586= IFCPROPERTYSET('2aWAgDA5DBTx6ubccoEHuL',#42,'Pset_ManufacturerTypeInformation',$,(#585));
#588= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Doors'),$);
#589= IFCPROPERTYSET('37$b9ZV6bEV9w4ajZ6Vuro',#42,'Pset_ProductRequirements',$,(#588));
#591= IFCPROPERTYSET('1VUx5P6tv2FRM5czFXIoYd',#42,'Pset_QuantityTakeOff',$,(#580));
#593= IFCPROPERTYSINGLEVALUE('TypeMark',$,IFCLABEL('20'),$);
#594= IFCPROPERTYSINGLEVALUE('Keynote',$,IFCLABEL('--KEYNOTE--'),$);
#595= IFCPROPERTYSINGLEVALUE('StoreyName',$,IFCTEXT('Level: Level 1'),$);
#596= IFCPROPERTYSINGLEVALUE('TypeDescription',$,IFCTEXT('--DESCRIPTION--'),$);
#597= IFCPROPERTYSINGLEVALUE('StatusConstruction',$,IFCLABEL('New Construction'),$);
#598= IFCPROPERTYSINGLEVALUE('NetArea',$,IFCAREAMEASURE(3.18957899999998),$);
#599= IFCPROPERTYSINGLEVALUE('Height',$,IFCLENGTHMEASURE(2134.),$);
#600= IFCPROPERTYSINGLEVALUE('Width',$,IFCLENGTHMEASURE(915.),$);
#601= IFCPROPERTYSINGLEVALUE('SillHeight',$,IFCLENGTHMEASURE(0.),$);
#602= IFCPROPERTYSINGLEVALUE('Hyperlink',$,IFCTEXT('--URL--'),$);
#603= IFCPROPERTYSET('1CXc3dmFPFfQbCU$bHsAfS',#42,'Custom_Pset','',(#593,#594,#595,#596,#597,#598,#599,#600,#601,#602));
#605= IFCRELDEFINESBYPROPERTIES('14RxrffgjD6QlWHKtlQTAN',#42,$,$,(#572),#578);
#609= IFCRELDEFINESBYPROPERTIES('04ckjvoyL25Q50h8x6sUPv',#42,$,$,(#572),#583);
#612= IFCRELDEFINESBYPROPERTIES('0$6_vvQgz7_eKsnZrkKoIw',#42,$,$,(#572),#586);
#615= IFCRELDEFINESBYPROPERTIES('1UyD_HmPHBougIcmoJRJ7m',#42,$,$,(#572),#589);
#618= IFCRELDEFINESBYPROPERTIES('2lpvQgxsjEfPta9gxkQaM5',#42,$,$,(#572),#591);
#621= IFCRELDEFINESBYPROPERTIES('26uNI57VnEBgae2CZ9gqtr',#42,$,$,(#572),#603);
#624= IFCQUANTITYLENGTH('Height','',$,2134.);
#625= IFCQUANTITYLENGTH('Width','',$,915.);
#626= IFCQUANTITYAREA('Area','area measured in geometry',$,3.18957899999998);
#627= IFCELEMENTQUANTITY('39uqRwTJT9qhACjvMcPpu_',#42,'BaseQuantities',$,$,(#624,#625,#626));
#629= IFCRELDEFINESBYPROPERTIES('1QmkCV1Kz2MfAPznLVFMCy',#42,$,$,(#572),#627);
#632= IFCCLASSIFICATIONREFERENCE('http://www.csiorg.net/uniformat','--ASSEMBLY_CODE--',$,#446);
#633= IFCRELASSOCIATESCLASSIFICATION('2nmxXpeUXAOQtHOkOFmKTR',#42,'Uniformat Classification','',(#572),#632);
#636= IFCPROPERTYSINGLEVALUE('Level',$,IFCLABEL('Level: Level 1'),$);
#637= IFCPROPERTYSINGLEVALUE('Sill Height',$,IFCLENGTHMEASURE(0.),$);
#638= IFCPROPERTYSINGLEVALUE('Area',$,IFCAREAMEASURE(3.18957899999998),$);
#639= IFCPROPERTYSINGLEVALUE('Volume',$,IFCVOLUMEMEASURE(0.119856109999999),$);
#640= IFCPROPERTYSINGLEVALUE('Mark',$,IFCTEXT('1'),$);
#641= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Doors'),$);
#642= IFCPROPERTYSINGLEVALUE('Family',$,IFCLABEL('M_Single-Flush: Outside door'),$);
#643= IFCPROPERTYSINGLEVALUE('Family and Type',$,IFCLABEL('M_Single-Flush: Outside door'),$);
#644= IFCPROPERTYSINGLEVALUE('Head Height',$,IFCLENGTHMEASURE(2134.),$);
#645= IFCPROPERTYSINGLEVALUE('Host Id',$,IFCLABEL('Basic Wall: Bearing Wall'),$);
#646= IFCPROPERTYSINGLEVALUE('Type',$,IFCLABEL('M_Single-Flush: Outside door'),$);
#647= IFCPROPERTYSINGLEVALUE('Type Id',$,IFCLABEL('M_Single-Flush: Outside door'),$);
#648= IFCPROPERTYSINGLEVALUE('Analytic Construction',$,IFCTEXT('Metal'),$);
#649= IFCPROPERTYSINGLEVALUE('Define Thermal Properties by',$,IFCIDENTIFIER('Schematic Type'),$);
#650= IFCPROPERTYSINGLEVALUE('Heat Transfer Coefficient (U)',$,IFCREAL(3.7021),$);
#651= IFCPROPERTYSINGLEVALUE('Solar Heat Gain Coefficient',$,IFCREAL(0.),$);
#652= IFCPROPERTYSINGLEVALUE('Thermal Resistance (R)',$,IFCREAL(0.270116960643959),$);
#653= IFCPROPERTYSINGLEVALUE('Visual Light Transmittance',$,IFCREAL(0.),$);
#654= IFCPROPERTYSINGLEVALUE('Door Material',$,IFCLABEL('Door - Panel'),$);
#655= IFCPROPERTYSINGLEVALUE('Frame Material',$,IFCLABEL('Door - Frame'),$);
#656= IFCPROPERTYSINGLEVALUE('Function',$,IFCIDENTIFIER('Interior'),$);
#657= IFCPROPERTYSINGLEVALUE('Wall Closure',$,IFCIDENTIFIER('By host'),$);
#658= IFCPROPERTYSINGLEVALUE('Height',$,IFCLENGTHMEASURE(2134.),$);
#659= IFCPROPERTYSINGLEVALUE('Thickness',$,IFCLENGTHMEASURE(51.),$);
#660= IFCPROPERTYSINGLEVALUE('Trim Projection Ext',$,IFCLENGTHMEASURE(25.),$);
#661= IFCPROPERTYSINGLEVALUE('Trim Projection Int',$,IFCLENGTHMEASURE(25.),$);
#662= IFCPROPERTYSINGLEVALUE('Trim Width',$,IFCLENGTHMEASURE(76.),$);
#663= IFCPROPERTYSINGLEVALUE('Width',$,IFCLENGTHMEASURE(915.),$);
#664= IFCPROPERTYSINGLEVALUE('Assembly Code',$,IFCTEXT('--ASSEMBLY_CODE--'),$);
#665= IFCPROPERTYSINGLEVALUE('Code Name',$,IFCTEXT(''),$);
#666= IFCPROPERTYSINGLEVALUE('Description',$,IFCTEXT('--DESCRIPTION--'),$);
#667= IFCPROPERTYSINGLEVALUE('Fire Rating',$,IFCTEXT('--FIRE_CODE--'),$);
#668= IFCPROPERTYSINGLEVALUE('Keynote',$,IFCTEXT('--KEYNOTE--'),$);
#669= IFCPROPERTYSINGLEVALUE('Manufacturer',$,IFCTEXT('--TYPE_COMMENTS_'),$);
#670= IFCPROPERTYSINGLEVALUE('Model',$,IFCTEXT('--MODEL--'),$);
#671= IFCPROPERTYSINGLEVALUE('OmniClass Number',$,IFCTEXT('23.30.10.00'),$);
#672= IFCPROPERTYSINGLEVALUE('OmniClass Title',$,IFCTEXT('Doors'),$);
#673= IFCPROPERTYSINGLEVALUE('Type Mark',$,IFCTEXT('20'),$);
#674= IFCPROPERTYSINGLEVALUE('Type Name',$,IFCTEXT('Outside door'),$);
#675= IFCPROPERTYSINGLEVALUE('URL',$,IFCTEXT('--URL--'),$);
#676= IFCPROPERTYSINGLEVALUE('Family Name',$,IFCTEXT('M_Single-Flush'),$);
#677= IFCPROPERTYSET('1F6umJ5H50aeL3BWQs_wUF',#42,'Constraints',$,(#636,#637));
#679= IFCRELDEFINESBYPROPERTIES('1F6umJ5H50aeL3BmQs_wUF',#42,$,$,(#572),#677);
#682= IFCPROPERTYSET('1F6umJ5H50aeL3BX2s_wUF',#42,'Dimensions',$,(#638,#639));
#684= IFCRELDEFINESBYPROPERTIES('1F6umJ5H50aeL3Bn2s_wUF',#42,$,$,(#572),#682);
#687= IFCPROPERTYSET('1F6umJ5H50aeL3BXEs_wUF',#42,'Identity Data',$,(#640));
#689= IFCRELDEFINESBYPROPERTIES('1F6umJ5H50aeL3BnEs_wUF',#42,$,$,(#572),#687);
#692= IFCPROPERTYSET('2BegeYd3fCOeVyUmGr0qxL',#42,'Other',$,(#641,#642,#643,#644,#645,#646,#647));
#694= IFCRELDEFINESBYPROPERTIES('1QrXJ2z1rFTuQboBVeLF$Z',#42,$,$,(#572),#692);
#697= IFCPROPERTYSET('1F6umJ5H50aeL3BXss_wUF',#42,'Phasing',$,(#276));
#699= IFCRELDEFINESBYPROPERTIES('1F6umJ5H50aeL3Bnss_wUF',#42,$,$,(#572),#697);
#702= IFCPROPERTYSET('3W2Tu2KKr66wtPVQ1PGsDC',#42,'Analytical Properties',$,(#648,#649,#650,#651,#652,#653));
#704= IFCPROPERTYSET('3W2Tu2KKr66wtPVVbPGsDC',#42,'Construction',$,(#656,#657));
#706= IFCPROPERTYSET('3W2Tu2KKr66wtPVVzPGsDC',#42,'Dimensions',$,(#658,#659,#660,#661,#662,#663));
#708= IFCPROPERTYSET('3W2Tu2KKr66wtPVVnPGsDC',#42,'Identity Data',$,(#296,#664,#665,#666,#667,#668,#669,#670,#671,#672,#673,#674,#675));
#710= IFCPROPERTYSET('3W2Tu2KKr66wtPVVjPGsDC',#42,'Materials and Finishes',$,(#654,#655));
#712= IFCPROPERTYSET('0KOXzzKarFERoTS0N7cfbD',#42,'Other',$,(#641,#676));
#714= IFCPROPERTYSINGLEVALUE('FireRating',$,IFCLABEL('--FIRE_CODE--'),$);
#715= IFCPROPERTYSET('0YRN2fpNzDoxoXFEOdBeJw',#42,'Pset_ConcreteElementGeneral',$,(#714));
#717= IFCPROPERTYSINGLEVALUE('FireRating',$,IFCLABEL('--FIRE_CODE--'),$);
#718= IFCPROPERTYSINGLEVALUE('ThermalTransmittance',$,IFCTHERMALTRANSMITTANCEMEASURE(3.7021),$);
#719= IFCPROPERTYSET('3W2Tu2KKr66wtPS0rPGsDC',#42,'Pset_DoorCommon',$,(#362,#580,#717,#718));
#721= IFCPROPERTYSINGLEVALUE('Manufacturer',$,IFCLABEL('--TYPE_COMMENTS_'),$);
#722= IFCPROPERTYSET('0LOQqn1NfDkwoxFtCajotd',#42,'Pset_ManufacturerTypeInformation',$,(#721));
#724= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Doors'),$);
#725= IFCPROPERTYSET('2b6m9MCNn679Y43LRC330T',#42,'Pset_ProductRequirements',$,(#724));
#727= IFCPROPERTYSET('0F4CuoFTLEvRXd3x$a9K3$',#42,'Pset_QuantityTakeOff',$,(#580));
#729= IFCPROPERTYSINGLEVALUE('TypeMark',$,IFCLABEL('20'),$);
#730= IFCPROPERTYSINGLEVALUE('Keynote',$,IFCLABEL('--KEYNOTE--'),$);
#731= IFCPROPERTYSINGLEVALUE('TypeDescription',$,IFCTEXT('--DESCRIPTION--'),$);
#732= IFCPROPERTYSINGLEVALUE('Height',$,IFCLENGTHMEASURE(2134.),$);
#733= IFCPROPERTYSINGLEVALUE('Width',$,IFCLENGTHMEASURE(915.),$);
#734= IFCPROPERTYSINGLEVALUE('Hyperlink',$,IFCTEXT('--URL--'),$);
#735= IFCPROPERTYSET('3CUt_fMl9Df9OKgw$sNH0T',#42,'Custom_Pset',$,(#729,#730,#731,#732,#733,#734));
#751= IFCPROPERTYSINGLEVALUE('Name',$,IFCLABEL('Level 1'),$);
#752= IFCPROPERTYSET('0$99IJGkP9Q86lu5rnKYUN',#42,'Pset_AirSideSystemInformation',$,(#751));
#754= IFCPROPERTYSINGLEVALUE('AboveGround',$,IFCLOGICAL(.U.),$);
#755= IFCPROPERTYSET('3Zu5Bv0LOHrPC12_o6FoQQ',#42,'Pset_BuildingStoreyCommon',$,(#754));
#757= IFCPROPERTYSINGLEVALUE('Name',$,IFCLABEL('Level 1'),$);
#758= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Levels'),$);
#759= IFCPROPERTYSET('1E$wH_IvL0u9KdSridkQHO',#42,'Pset_ProductRequirements',$,(#757,#758));
#761= IFCPROPERTYSINGLEVALUE('SpaceName',$,IFCLABEL('Level 1'),$);
#762= IFCPROPERTYSET('081bdaxsT7tvi7VV3hCTqa',#42,'Custom_Pset','',(#761));
#764= IFCRELDEFINESBYPROPERTIES('0Jv9wzDiT2Fx3l2pN5PrZ7',#42,$,$,(#140),#752);
#768= IFCRELDEFINESBYPROPERTIES('1uZQMUSkv6FAgEXy9GtiEh',#42,$,$,(#140),#755);
#771= IFCRELDEFINESBYPROPERTIES('1FuE$sx5j7jhZwoEQu$YIS',#42,$,$,(#140),#759);
#774= IFCRELDEFINESBYPROPERTIES('1ThjSvkAT6B8HzMssSW$IW',#42,$,$,(#140),#762);
#777= IFCPROPERTYSINGLEVALUE('Elevation',$,IFCLENGTHMEASURE(0.),$);
#778= IFCPROPERTYSINGLEVALUE('Computation Height',$,IFCLENGTHMEASURE(0.),$);
#779= IFCPROPERTYSINGLEVALUE('Building Story',$,IFCBOOLEAN(.T.),$);
#780= IFCPROPERTYSINGLEVALUE('Name',$,IFCTEXT('Level 1'),$);
#781= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Levels'),$);
#782= IFCPROPERTYSINGLEVALUE('Family',$,IFCLABEL('Level: 8mm Head'),$);
#783= IFCPROPERTYSINGLEVALUE('Family and Type',$,IFCLABEL('Level: 8mm Head'),$);
#784= IFCPROPERTYSINGLEVALUE('Type',$,IFCLABEL('Level: 8mm Head'),$);
#785= IFCPROPERTYSINGLEVALUE('Type Id',$,IFCLABEL('Level: 8mm Head'),$);
#786= IFCPROPERTYSINGLEVALUE('Elevation Base',$,IFCIDENTIFIER('Project Base Point'),$);
#787= IFCPROPERTYSINGLEVALUE('Color',$,IFCINTEGER(0),$);
#788= IFCPROPERTYSINGLEVALUE('Line Pattern',$,IFCLABEL('Centre'),$);
#789= IFCPROPERTYSINGLEVALUE('Line Weight',$,IFCIDENTIFIER('1'),$);
#790= IFCPROPERTYSINGLEVALUE('Symbol',$,IFCLABEL('M_Level Head - Circle: M_Level Head - Circle'),$);
#791= IFCPROPERTYSINGLEVALUE('Symbol at End 1 Default',$,IFCBOOLEAN(.F.),$);
#792= IFCPROPERTYSINGLEVALUE('Symbol at End 2 Default',$,IFCBOOLEAN(.T.),$);
#793= IFCPROPERTYSINGLEVALUE('Type Name',$,IFCTEXT('8mm Head'),$);
#794= IFCPROPERTYSINGLEVALUE('Family Name',$,IFCTEXT('Level'),$);
#795= IFCPROPERTYSET('3Zu5Bv0LOHrPC11XI6FoQQ',#42,'Constraints',$,(#777));
#797= IFCRELDEFINESBYPROPERTIES('3Zu5Bv0LOHrPC11nI6FoQQ',#42,$,$,(#140),#795);
#800= IFCPROPERTYSET('3Zu5Bv0LOHrPC11WA6FoQQ',#42,'Dimensions',$,(#778));
#802= IFCRELDEFINESBYPROPERTIES('3Zu5Bv0LOHrPC11mA6FoQQ',#42,$,$,(#140),#800);
#805= IFCPROPERTYSET('3Zu5Bv0LOHrPC11W66FoQQ',#42,'Identity Data',$,(#278,#779,#780));
#807= IFCRELDEFINESBYPROPERTIES('3Zu5Bv0LOHrPC11m66FoQQ',#42,$,$,(#140),#805);
#810= IFCPROPERTYSET('0eCyo1mQf61RRDb8LkFhbB',#42,'Other',$,(#781,#782,#783,#784,#785));
#812= IFCRELDEFINESBYPROPERTIES('3$zaZUyoL6L9DrOV9RtgBX',#42,$,$,(#140),#810);
#815= IFCPROPERTYSET('3Zu5Bv0LOHrPC11XI6FoQS',#42,'Constraints(Type)',$,(#786));
#817= IFCPROPERTYSET('3Zu5Bv0LOHrPC11WM6FoQS',#42,'Graphics(Type)',$,(#787,#788,#789,#790,#791,#792));
#819= IFCPROPERTYSET('3Zu5Bv0LOHrPC11W66FoQS',#42,'Identity Data(Type)',$,(#793));
#821= IFCPROPERTYSET('2qVnE7UtTDKAGidujFAE08',#42,'Other(Type)',$,(#781,#794));
#828= IFCRELAGGREGATES('2usGHf9Nj3g8$vNhPcOa4J',#42,$,$,#121,(#150));
#832= IFCRELAGGREGATES('0YbgX$FVvBg9IJMkBorzcZ',#42,$,$,#150,(#131));
#836= IFCRELAGGREGATES('27PCKGLxT4mxtV9cw6mgBW',#42,$,$,#131,(#140));
#840= IFCPROPERTYSINGLEVALUE('NumberOfStoreys',$,IFCINTEGER(1),$);
#841= IFCPROPERTYSINGLEVALUE('IsLandmarked',$,IFCLOGICAL(.U.),$);
#842= IFCPROPERTYSET('27PCKGLxT4mxtVBOQ6mgBW',#42,'Pset_BuildingCommon',$,(#840,#841));
#844= IFCPROPERTYSINGLEVALUE('Category',$,IFCLABEL('Project Information'),$);
#845= IFCPROPERTYSET('2HlE6XRD5D2u$q88QiyvCI',#42,'Pset_ProductRequirements',$,(#844));
#847= IFCRELDEFINESBYPROPERTIES('1ThDg46v99hhPo_cQYW0rR',#42,$,$,(#131),#842);
#851= IFCRELDEFINESBYPROPERTIES('041QPVCJrABucJbKRNgMWb',#42,$,$,(#131),#845);
#854= IFCPROPERTYSINGLEVALUE('Author',$,IFCTEXT('// AUTHOR //'),$);
#855= IFCPROPERTYSINGLEVALUE('Building Name',$,IFCTEXT('// BUILDING/NAME //'),$);
#856= IFCPROPERTYSINGLEVALUE('Organization Description',$,IFCTEXT('// ORGANIZATION/DESCRIPTION //'),$);
#857= IFCPROPERTYSINGLEVALUE('Organization Name',$,IFCTEXT('// ORGANIZATION/NAME //'),$);
#858= IFCPROPERTYSINGLEVALUE('Client Name',$,IFCTEXT('// CLIENT/NAME //'),$);
#859= IFCPROPERTYSINGLEVALUE('Project Address',$,IFCTEXT('Enter address here'),$);
#860= IFCPROPERTYSINGLEVALUE('Project Issue Date',$,IFCTEXT('// ISSUE DATE //'),$);
#861= IFCPROPERTYSINGLEVALUE('Project Name',$,IFCTEXT('// PROJECT/NAME //'),$);
#862= IFCPROPERTYSINGLEVALUE('Project Number',$,IFCTEXT('// PROJECT/NUMBER //'),$);
#863= IFCPROPERTYSINGLEVALUE('Project Status',$,IFCTEXT('// PROJECT/STATUS //'),$);
#864= IFCPROPERTYSET('0s2Cq7Qr16Ox1rbEEIxz2G',#42,'Identity Data',$,(#854,#855,#856,#857));
#866= IFCRELDEFINESBYPROPERTIES('28SWhRx5b0sf$MJWcMt2nE',#42,$,$,(#131),#864);
#869= IFCPROPERTYSET('1CDFHAzCT93vZFGBuRrsae',#42,'Other',$,(#168,#858,#859,#860,#861,#862,#863));
#871= IFCRELDEFINESBYPROPERTIES('2DcsKHXrrAPwYRZm$ohYq2',#42,$,$,(#131),#869);
#874= IFCRELASSOCIATESMATERIAL('1wE5zd2gDCvQcFXdkvgcaL',#42,$,$,(#219),#260);
#876= IFCRELASSOCIATESMATERIAL('3GYCaV5cTDC9Pr0aWWgagz',#42,$,$,(#261),#257);
#879= IFCRELASSOCIATESMATERIAL('1FhLk1Yhr9qfrZHn1ibg3k',#42,$,$,(#534),#559);
#882= IFCRELASSOCIATESMATERIAL('0fx8ZLmDfAMv9ssKwx6$_9',#42,$,$,(#572),#575);
#884= IFCRELDEFINESBYTYPE('3Nexmy3HT5DQH5On6RkB_B',#42,$,$,(#219),#261);
#887= IFCRELDEFINESBYTYPE('3wpnK4sXnFpBOVHc68PX9l',#42,$,$,(#572),#534);
#890= IFCRELDEFINESBYPROPERTIES('0tF1p_d896seH5amYBxeZq',#42,$,$,(#140),#815);
#893= IFCRELDEFINESBYPROPERTIES('0E5e8bTTXAVwon56y69uPu',#42,$,$,(#140),#817);
#896= IFCRELDEFINESBYPROPERTIES('1BJ83_hCTCVfyD3$5h98Nf',#42,$,$,(#140),#819);
#899= IFCRELDEFINESBYPROPERTIES('2i4fyR0Hz3ChSGqhPoEuwU',#42,$,$,(#140),#821);
#902= IFCCARTESIANPOINT((1067.,457.5));
#904= IFCAXIS2PLACEMENT2D(#902,#27);
#905= IFCRECTANGLEPROFILEDEF(.AREA.,$,#904,915.,2134.);
#906= IFCAXIS2PLACEMENT3D(#6,#17,#19);
#907= IFCEXTRUDEDAREASOLID(#905,#906,#19,200.);
#908= IFCSHAPEREPRESENTATION(#118,'Body','SweptSolid',(#907));
#910= IFCPRODUCTDEFINITIONSHAPE($,$,(#908));
#912= IFCCARTESIANPOINT((2457.5,100.,0.));
#914= IFCAXIS2PLACEMENT3D(#912,$,$);
#915= IFCLOCALPLACEMENT(#188,#914);
#917= IFCOPENINGELEMENT('1F6umJ5H50aeL3A06s_wUF',#42,'M_Single-Flush:Outside door:346843:1',$,'Opening',#915,#910,'346843');
#922= IFCRELVOIDSELEMENT('1F6umJ5H50aeL3A0Qs_wUF',#42,$,$,#219,#917);
#925= IFCQUANTITYLENGTH('Depth',$,$,200.);
#926= IFCQUANTITYLENGTH('Height',$,$,915.);
#927= IFCQUANTITYLENGTH('Width',$,$,2134.);
#928= IFCELEMENTQUANTITY('2bznKwbC9EfhuYS7RbVHuS',#42,'BaseQuantities',$,$,(#925,#926,#927));
#930= IFCRELDEFINESBYPROPERTIES('18rPOfDATBfOF$7p8CMdFK',#42,$,$,(#917),#928);
#934= IFCRELFILLSELEMENT('3trX3C1YDCOBtTtvk1SC8E',#42,$,$,#917,#572);
#941= IFCPRESENTATIONLAYERASSIGNMENT('A-DOOR-____-OTLN',$,(#527,#564),$);
#943= IFCPRESENTATIONLAYERASSIGNMENT('A-WALL-____-OTLN',$,(#194,#212,#908),$);
ENDSEC;
END-ISO-10303-21;
{
TypeMark: "_TYPE-MARK_",
Keynote: "_KEYNOTE_",
StoreyName: "Level: Level 1",
TypeDescription: "_DESCRIPTION_",
StatusConstruction: "New Construction",
NetArea: "14.04739",
Height: "4000.",
Width: "200.",
Length: "4000.",
Hyperlink: "_URL_"
}
{
TypeMark: "20",
Keynote: "--KEYNOTE--",
StoreyName: "Level: Level 1",
TypeDescription: "--DESCRIPTION--",
StatusConstruction: "New Construction",
NetArea: "3.18957899999998",
Height: "2134.",
Width: "915.",
SillHeight: "0.",
Hyperlink: "--URL--"
}
Let's take a minitue to prettify the result. We can implement this simple function:
Calling this function will give us a prittier result:
Good job! You are now ready for the Advanced Example
function printPropertySet(entites, myPropertySet) {
for (var entitiy in entites) {
for (var propertySet in entites[entitiy].properties) {
if (propertySet === myPropertySet) {
console.log(entites[entitiy].properties[pset]);
}
}
}
}
{
TypeMark: "_TYPE-MARK_",
Keynote: "_KEYNOTE_",
StoreyName: "Level: Level 1",
TypeDescription: "_DESCRIPTION_",
StatusConstruction: "New Construction",
NetArea: "14.04739",
Height: "4000.",
Width: "200.",
Length: "4000.",
Hyperlink: "_URL_"
}
{
TypeMark: "20",
Keynote: "--KEYNOTE--",
StoreyName: "Level: Level 1",
TypeDescription: "--DESCRIPTION--",
StatusConstruction: "New Construction",
NetArea: "3.18957899999998",
Height: "2134.",
Width: "915.",
SillHeight: "0.",
Hyperlink: "--URL--"
}
Let's reuse our example in the Detailed instructions section.
<!DOCTYPE html>
<html>
<body>
<h3>Example</h3>
<input type="file" id="myFile">
<button onclick="myFunction()">Click me</button>
<script src="https://cdn.jsdelivr.net/gh/andrewisen/bim-whale/dist/BIMWHALE.min.js"></script>
<script>
var config = {
requiredEntities:{
IFCPROPERTYSINGLEVALUE: "IfcPropertySingleValue",
IFCRELDEFINESBYPROPERTIES: "IfcRelDefinesByProperties",
IFCPROPERTYSET: "IfcPropertySet",
},
selectedEntities:{
IFCDOOR: "IfcDoor",
IFCWALLSTANDARDCASE: "IfcWallStandardCase",
},
selectedPropertySets: ["Custom_Pset"],
allEntities:{
...requiredEntities,
...selectedEntities,
},
};
function myFunction() {
var file = document.getElementById('myFile').files[0];
var reader = new FileReader();
reader.onload = function(e) {
var lines = e.target.result.split(/\r\n|\n/);
var ifcFile = new BIMWHALE.IfcFile(lines, config);
var ifcEntites = ifcFile.parseIfcFile();
};
reader.readAsText(file);
}
</script>
</body>
</html>
The final thing we need to do is to output the result. With a simple console.log
, we get:
{
"#219": {
entityName: "IfcWallStandardCase",
instanceName: "#219",
attributes: {
parsed: [
"1F6umJ5H50aeL3A1As_wTm",
"#42",
"Basic Wall:Bearing Wall:346660",
"$",
"Basic Wall:Bearing Wall",
"#188",
"#215",
"346660"
]
},
properties: {
Custom_Pset: {
TypeMark: "_TYPE-MARK_",
Keynote: "_KEYNOTE_",
StoreyName: "Level: Level 1",
TypeDescription: "_DESCRIPTION_",
StatusConstruction: "New Construction",
NetArea: "14.04739",
Height: "4000.",
Width: "200.",
Length: "4000.",
Hyperlink: "_URL_"
}
}
},
"#572": {
entityName: "IfcDoor",
instanceName: "#572",
attributes: {
parsed: [
"1F6umJ5H50aeL3A1As_wUF",
"#42",
"M_Single-Flush:Outside door:346843",
"$",
"M_Single-Flush:Outside door",
"#938",
"#566",
"346843",
"2134.",
"915."
]
},
properties: {
Custom_Pset: {
TypeMark: "20",
Keynote: "--KEYNOTE--",
StoreyName: "Level: Level 1",
TypeDescription: "--DESCRIPTION--",
StatusConstruction: "New Construction",
NetArea: "3.18957899999998",
Height: "2134.",
Width: "915.",
SillHeight: "0.",
Hyperlink: "--URL--"
}
}
}
}
You can check out the final result on Codepen, or use the box below.