You can now load a project from the project panel. See commit message.

This is in preparation for partial loading and unloading for scaling up to larger IFC scenes.

Similarly, there are bits in place for different collection modes instead of the hardcoded collection hierarchy which we currently have.
This commit is contained in:
Dion Moult
2021-09-11 20:29:14 +10:00
parent d350a17ce5
commit 48cb598975
8 changed files with 263 additions and 25 deletions
+126
View File
@@ -0,0 +1,126 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition[DesignTransferView]'),'2;1');
FILE_NAME('basic.ifc','2021-09-11T19:44:13+10:00',(),(),'IfcOpenShell 0.6.0b0','BlenderBIM 0.0.999999','Nobody');
FILE_SCHEMA(('IFC4'));
ENDSEC;
DATA;
#1=IFCPERSON('HSeldon','Seldon','Hari',$,$,$,$,$);
#2=IFCORGANIZATION('APTR','Aperture Science',$,$,$);
#3=IFCACTORROLE(.USERDEFINED.,'CONTRIBUTOR',$);
#4=IFCTELECOMADDRESS(.USERDEFINED.,'The main webpage of the software collection.','WEBPAGE',$,$,$,$,'https://ifcopenshell.org',$);
#5=IFCTELECOMADDRESS(.USERDEFINED.,'The BlenderBIM Add-on webpage of the software collection.','WEBPAGE',$,$,$,$,'https://blenderbim.org',$);
#6=IFCTELECOMADDRESS(.USERDEFINED.,'The source code repository of the software collection.','REPOSITORY',$,$,$,$,'https://github.com/IfcOpenShell/IfcOpenShell.git',$);
#7=IFCORGANIZATION($,'IfcOpenShell','IfcOpenShell is an open source (LGPL) software library that helps users and software developers to work with the IFC file format.',(#3),(#4,#5,#6));
#8=IFCAPPLICATION(#7,'0.0.999999','BlenderBIM Add-on','BlenderBIM');
#9=IFCPERSONANDORGANIZATION(#1,#2,$);
#10=IFCOWNERHISTORY(#9,#8,.READWRITE.,.ADDED.,1631353388,#9,#8,1631353388);
#11=IFCPROJECT('2xwg5dkcT4T8MlEIX1jLjD',#10,'My Project',$,$,$,$,(#20,#27),#15);
#12=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
#13=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
#14=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);
#15=IFCUNITASSIGNMENT((#14,#12,#13));
#16=IFCCARTESIANPOINT((0.,0.,0.));
#17=IFCDIRECTION((0.,0.,1.));
#18=IFCDIRECTION((1.,0.,0.));
#19=IFCAXIS2PLACEMENT3D(#16,#17,#18);
#20=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#19,$);
#21=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#20,$,.MODEL_VIEW.,$);
#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Box','Model',*,*,*,*,#20,$,.MODEL_VIEW.,$);
#23=IFCCARTESIANPOINT((0.,0.,0.));
#24=IFCDIRECTION((0.,0.,1.));
#25=IFCDIRECTION((1.,0.,0.));
#26=IFCAXIS2PLACEMENT3D(#23,#24,#25);
#27=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Plan',2,1.E-05,#26,$);
#28=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Plan',*,*,*,*,#27,$,.PLAN_VIEW.,$);
#29=IFCOWNERHISTORY(#9,#8,.READWRITE.,.MODIFIED.,1631353388,#9,#8,1631353388);
#30=IFCSITE('3cz3qtLYbCURHSIUoySdUS',#29,'My Site',$,$,#56,$,$,$,$,$,$,$,$);
#36=IFCOWNERHISTORY(#9,#8,.READWRITE.,.MODIFIED.,1631353388,#9,#8,1631353388);
#37=IFCBUILDING('2dErbdcOP6Nh7ym5xn_$Ec',#36,'My Building',$,$,#63,$,$,$,$,$,$);
#43=IFCOWNERHISTORY(#9,#8,.READWRITE.,.MODIFIED.,1631353388,#9,#8,1631353388);
#44=IFCBUILDINGSTOREY('0MbU9rGEH1LAWUFmJ3gCcg',#43,'Ground Floor',$,$,#70,$,$,$,$);
#50=IFCOWNERHISTORY(#9,#8,.READWRITE.,.ADDED.,1631353388,#9,#8,1631353388);
#51=IFCRELAGGREGATES('1_TFH$83TDGOqH3GdA9HdZ',#50,$,$,#11,(#30));
#52=IFCCARTESIANPOINT((0.,0.,0.));
#53=IFCDIRECTION((0.,0.,1.));
#54=IFCDIRECTION((1.,0.,0.));
#55=IFCAXIS2PLACEMENT3D(#52,#53,#54);
#56=IFCLOCALPLACEMENT($,#55);
#57=IFCOWNERHISTORY(#9,#8,.READWRITE.,.ADDED.,1631353388,#9,#8,1631353388);
#58=IFCRELAGGREGATES('0rW4qoplT3zBMjr14wc1ok',#57,$,$,#30,(#37));
#59=IFCCARTESIANPOINT((0.,0.,0.));
#60=IFCDIRECTION((0.,0.,1.));
#61=IFCDIRECTION((1.,0.,0.));
#62=IFCAXIS2PLACEMENT3D(#59,#60,#61);
#63=IFCLOCALPLACEMENT(#56,#62);
#64=IFCOWNERHISTORY(#9,#8,.READWRITE.,.ADDED.,1631353388,#9,#8,1631353388);
#65=IFCRELAGGREGATES('041C6Y06v8$AmAQhXWgREJ',#64,$,$,#37,(#44,#71));
#66=IFCCARTESIANPOINT((0.,0.,0.));
#67=IFCDIRECTION((0.,0.,1.));
#68=IFCDIRECTION((1.,0.,0.));
#69=IFCAXIS2PLACEMENT3D(#66,#67,#68);
#70=IFCLOCALPLACEMENT(#63,#69);
#71=IFCBUILDINGSTOREY('1Pkxs$2EDD3ApZ07AQn5om',#77,'Level 1',$,$,#152,$,$,$,$);
#72=IFCCARTESIANPOINT((0.,0.,0.));
#73=IFCDIRECTION((0.,0.,1.));
#74=IFCDIRECTION((1.,0.,0.));
#75=IFCAXIS2PLACEMENT3D(#72,#73,#74);
#76=IFCLOCALPLACEMENT(#63,#75);
#77=IFCOWNERHISTORY(#9,#8,.READWRITE.,.MODIFIED.,1631353453,#9,#8,1631353388);
#78=IFCOWNERHISTORY(#9,#8,.READWRITE.,.MODIFIED.,1631353439,#9,#8,1631353439);
#79=IFCSLAB('20Njb8mHv8v9ESSk_1YM2m',#78,'Slab',$,$,#114,#97,$,.BASESLAB.);
#85=IFCINDEXEDPOLYGONALFACE((1,5,7,3));
#86=IFCINDEXEDPOLYGONALFACE((4,3,7,8));
#87=IFCINDEXEDPOLYGONALFACE((8,7,5,6));
#88=IFCINDEXEDPOLYGONALFACE((6,2,4,8));
#89=IFCINDEXEDPOLYGONALFACE((2,1,3,4));
#90=IFCINDEXEDPOLYGONALFACE((6,5,1,2));
#91=IFCCARTESIANPOINTLIST3D(((1.,1.,1.),(1.,1.,-1.),(1.,-1.,1.),(1.,-1.,-1.),(-1.,1.,1.),(-1.,1.,-1.),(-1.,-1.,1.),(-1.,-1.,-1.)));
#92=IFCPOLYGONALFACESET(#91,$,(#85,#86,#87,#88,#89,#90),$);
#93=IFCSHAPEREPRESENTATION(#21,'Body','Tessellation',(#92));
#94=IFCCARTESIANPOINT((-1.,-1.,-1.));
#95=IFCBOUNDINGBOX(#94,2.,2.,2.);
#96=IFCSHAPEREPRESENTATION(#22,'Box','BoundingBox',(#95));
#97=IFCPRODUCTDEFINITIONSHAPE($,$,(#96,#93));
#98=IFCCOLOURRGB($,0.800000011920929,0.800000011920929,0.800000011920929);
#99=IFCCOLOURRGB($,0.800000011920929,0.800000011920929,0.800000011920929);
#100=IFCSURFACESTYLERENDERING(#98,0.,#99,$,$,$,$,$,.NOTDEFINED.);
#101=IFCSURFACESTYLE('Material',.BOTH.,(#100));
#102=IFCSTYLEDITEM(#92,(#101),'Material');
#103=IFCOWNERHISTORY(#9,#8,.READWRITE.,.ADDED.,1631353439,#9,#8,1631353439);
#104=IFCRELCONTAINEDINSPATIALSTRUCTURE('2T4j5EAcn0qQ9vTOZFK9HO',#103,$,$,(#79),#44);
#110=IFCCARTESIANPOINT((0.,0.,0.));
#111=IFCDIRECTION((0.,0.,1.));
#112=IFCDIRECTION((1.,0.,0.));
#113=IFCAXIS2PLACEMENT3D(#110,#111,#112);
#114=IFCLOCALPLACEMENT(#70,#113);
#115=IFCOWNERHISTORY(#9,#8,.READWRITE.,.MODIFIED.,1631353453,#9,#8,1631353443);
#116=IFCWALL('27uW0y7Gr72R8yo2C4vBlV',#115,'Wall',$,$,#157,#134,$,.ELEMENTEDWALL.);
#122=IFCINDEXEDPOLYGONALFACE((1,5,7,3));
#123=IFCINDEXEDPOLYGONALFACE((4,3,7,8));
#124=IFCINDEXEDPOLYGONALFACE((8,7,5,6));
#125=IFCINDEXEDPOLYGONALFACE((6,2,4,8));
#126=IFCINDEXEDPOLYGONALFACE((2,1,3,4));
#127=IFCINDEXEDPOLYGONALFACE((6,5,1,2));
#128=IFCCARTESIANPOINTLIST3D(((1.,1.,1.),(1.,1.,-1.),(1.,-1.,1.),(1.,-1.,-1.),(-1.,1.,1.),(-1.,1.,-1.),(-1.,-1.,1.),(-1.,-1.,-1.)));
#129=IFCPOLYGONALFACESET(#128,$,(#122,#123,#124,#125,#126,#127),$);
#130=IFCSHAPEREPRESENTATION(#21,'Body','Tessellation',(#129));
#131=IFCCARTESIANPOINT((-1.,-1.,-1.));
#132=IFCBOUNDINGBOX(#131,2.,2.,2.);
#133=IFCSHAPEREPRESENTATION(#22,'Box','BoundingBox',(#132));
#134=IFCPRODUCTDEFINITIONSHAPE($,$,(#133,#130));
#135=IFCSTYLEDITEM(#129,(#101),'Material');
#136=IFCOWNERHISTORY(#9,#8,.READWRITE.,.ADDED.,1631353443,#9,#8,1631353443);
#137=IFCRELCONTAINEDINSPATIALSTRUCTURE('1CgivZt6z1l8IgKaTkZMcT',#136,$,$,(#116),#71);
#148=IFCCARTESIANPOINT((0.,0.,3.));
#149=IFCDIRECTION((0.,0.,1.));
#150=IFCDIRECTION((1.,0.,0.));
#151=IFCAXIS2PLACEMENT3D(#148,#149,#150);
#152=IFCLOCALPLACEMENT(#63,#151);
#153=IFCCARTESIANPOINT((0.,0.,-3.));
#154=IFCDIRECTION((0.,0.,1.));
#155=IFCDIRECTION((1.,0.,0.));
#156=IFCAXIS2PLACEMENT3D(#153,#154,#155);
#157=IFCLOCALPLACEMENT(#152,#156);
ENDSEC;
END-ISO-10303-21;