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_738df036')); 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;