Annex E
(informative)
Examples
E.4.11 - Slab Openings
Example overview
Additional test cases not yet allocated to individual test case groups.
This example illustrates a slab with extruded solid geometry, based on a material layer set usage definition. It includes one round opening and one rectangular recess. Figure E.A shows the resulting shape.
IFC-SPF source
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [DesignTransferView_V1]'),'2;1');
FILE_NAME(
/* name */ 'slab-openings.ifc',
/* time_stamp */ '2016-02-04T08:47:55',
/* author */ ('redacted'),
/* organization */ ('redacted'),
/* preprocessor_version */ 'redacted',
/* originating_system */ 'redacted',
/* authorization */ 'None');
FILE_SCHEMA (('IFC4X3_DEV_7e95fe8'));
ENDSEC;
DATA;
/* general entities required for all IFC data sets, defining the context for the exchange */
#1= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.0001,#3,$);
#2= IFCCARTESIANPOINT((0.0,0.0,0.0));
#3= IFCAXIS2PLACEMENT3D(#2,$,$);
#4= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#1,$,.MODEL_VIEW.,$);
#5= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#1,$,.MODEL_VIEW.,$);
/* defines the default building (as required as the minimum spatial element) */
#50= IFCBUILDING('39t4Pu3nTC4ekXYRIHJB9W',#56,'IfcBuilding',$,$,$,$,$,$,$,$,$);
#51= IFCPERSONANDORGANIZATION(#52,#53,$);
#52= IFCPERSON('redacted','redacted',$,$,$,$,$,$);
#53= IFCORGANIZATION($,'redacted',$,$,$);
#54= IFCAPPLICATION(#55,'redacted','redacted','redacted');
#55= IFCORGANIZATION($,'redacted',$,$,$);
#56= IFCOWNERHISTORY(#51,#54,$,.ADDED.,1454575675,$,$,1454575675);
#57= IFCRELCONTAINEDINSPATIALSTRUCTURE('3Sa3dTJGn0H8TQIGiuGQd5',#56,'Building','Building Container for Elements',(#303),#50);
#58= IFCAXIS2PLACEMENT3D(#2,$,$);
#100= IFCPROJECT('0$WU4A9R19$vKWO$AdOnKA',#56,'IfcProject',$,$,$,$,(#1),#101);
#101= IFCUNITASSIGNMENT((#102,#103,#104));
#102= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
#103= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
#104= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.);
#105= IFCRELAGGREGATES('091a6ewbvCMQ2Vyiqspa7a',#56,'Project Container','Project Container for Buildings',#100,(#50));
#200= IFCMATERIAL('Concrete','Concrete',$);
#202= IFCMATERIALLAYER(#200,200.0,.U.,'Core',$,$,$);
#204= IFCMATERIALLAYERSET((#202),'200mm Concrete',$);
#205= IFCRELASSOCIATESMATERIAL('2l_enLhI93reVwnim9gXUq',#56,'MatAssoc','Material Associates',(#300),#204);
#300= IFCSLABTYPE('0RSW$KKbzCZ9QaSm3GoEan',#56,'200mm Concrete',$,$,$,$,$,$,.FLOOR.);
#302= IFCRELDECLARES('1oXuN5qJ93Eggy5n3jcluj',#56,$,$,#100,(#300));
#303= IFCSLAB('1wAj$J2Az2V8wnBiVYd3bU',#56,$,$,$,#304,#315,$,$);
#304= IFCLOCALPLACEMENT($,#316);
#305= IFCAXIS2PLACEMENT3D(#306,$,$);
#306= IFCCARTESIANPOINT((0.0,0.0,-200.0));
#307= IFCCARTESIANPOINTLIST2D(((0.0,0.0),(1000.0,0.0),(1399.99999999983,2000.0),(1000.0,4000.0),(0.0,4000.0),(-400.000000000001,2000.0)),$);
#308= IFCINDEXEDPOLYCURVE(#307,(IFCLINEINDEX((1,2)),IFCARCINDEX((2,3,4)),IFCLINEINDEX((4,5)),IFCARCINDEX((5,6,1))),.F.);
#309= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'Slab Perim',#308);
#310= IFCMATERIALLAYERSETUSAGE(#204,.AXIS3.,.POSITIVE.,-200.0,$);
#311= IFCRELASSOCIATESMATERIAL('2Npx$Qu3X5tPUqWORsru6k',#56,'MatAssoc','Material Associates',(#303),#310);
#312= IFCDIRECTION((0.0,0.0,1.0));
#313= IFCEXTRUDEDAREASOLID(#309,$,#312,200.0);
#314= IFCSHAPEREPRESENTATION(#5,'Body','SweptSolid',(#313));
#315= IFCPRODUCTDEFINITIONSHAPE($,$,(#314));
#316= IFCAXIS2PLACEMENT3D(#317,$,$);
#317= IFCCARTESIANPOINT((0.0,0.0,-200.0));
#318= IFCCIRCLEPROFILEDEF(.AREA.,'100DIA',$,50.0);
#319= IFCAXIS2PLACEMENT3D(#320,$,$);
#320= IFCCARTESIANPOINT((100.0,300.0,-200.0));
#321= IFCDIRECTION((0.0,0.0,1.0));
#322= IFCEXTRUDEDAREASOLID(#318,#319,#321,200.0);
#323= IFCSHAPEREPRESENTATION(#5,'Body','SweptSolid',(#322));
#324= IFCPRODUCTDEFINITIONSHAPE($,$,(#323));
#325= IFCOPENINGELEMENT('15RSTHd8nFVQWMRE7og7sd',#56,'Opening',$,$,#327,#324,$,$);
#326= IFCAXIS2PLACEMENT3D(#2,$,$);
#327= IFCLOCALPLACEMENT($,#326);
#328= IFCRELVOIDSELEMENT('0gqEDsyEzFXvY$fc_rUxyO',#56,$,$,#303,#325);
#329= IFCRECTANGLEPROFILEDEF(.AREA.,'RecessRectangle',$,1000.0,500.0);
#330= IFCAXIS2PLACEMENT3D(#331,$,$);
#331= IFCCARTESIANPOINT((500.0,1000.0,-50.0));
#332= IFCDIRECTION((0.0,0.0,1.0));
#333= IFCEXTRUDEDAREASOLID(#329,#330,#332,50.0);
#334= IFCSHAPEREPRESENTATION(#5,'Body','SweptSolid',(#333));
#335= IFCPRODUCTDEFINITIONSHAPE($,$,(#334));
#336= IFCOPENINGELEMENT('0w93HZ19H2D99zbAVNb4o2',#56,'Recess',$,$,#338,#335,$,.RECESS.);
#337= IFCAXIS2PLACEMENT3D(#2,$,$);
#338= IFCLOCALPLACEMENT($,#337);
#339= IFCRELVOIDSELEMENT('3iUkij4q1DmxlXuHzQVJaM',#56,$,$,#303,#336);
ENDSEC;
END-ISO-10303-21;