IFC 4.3.2.20240423 (IFC4X3_ADD2) under development

Annex E
(informative)

Examples

E.10.2 - Beam Straight I Shape Tessellated

Example overview

The various examples demonstrate the use of tessellated items with vertex list and index, and optionally normal list and index.

The example shows a straight beam with an I-Shape cross section being tessellated with a fine mesh. Figure E.A and Figure E.B display the rendering in a target application.

The example shows a tessellation without adding the normals at each vertex to the data set.

beam_straight_tessellated_reference-view_edges
Figure E.A — tessellated beam visualized with edges visible
beam_straight_tessellated_reference-view_shaded
Figure E.B — tessellated beam visualized without edges

IFC-SPF source

ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [ReferenceView_V1]'),'2;1');
FILE_NAME(
/* name */ 'beam-straight-i-shape-tessellated.ifc',
/* time_stamp */ '2016-02-04T08:11:04',
/* author */ ('redacted'),
/* organization */ ('redacted'),
/* preprocessor_version */ 'redacted',
/* originating_system */ 'redacted',
/* authorization */ 'None');

FILE_SCHEMA (('IFC4X3_DEV_ffe3a63'));
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',$,'IfcBuilding',$,$,$,$,$,$,$,$,$);
#51= IFCRELCONTAINEDINSPATIALSTRUCTURE('3Sa3dTJGn0H8TQIGiuGQd5',$,'Building','Building Container for Elements',(#204),#50);
#52= IFCAXIS2PLACEMENT3D(#2,$,$);
#100= IFCPROJECT('0$WU4A9R19$vKWO$AdOnKA',$,'IfcProject',$,$,$,$,(#1),#101);
#101= IFCUNITASSIGNMENT((#102,#103,#104));
#102= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
#103= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
#104= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.);
#105= IFCRELAGGREGATES('091a6ewbvCMQ2Vyiqspa7a',$,'Project Container','Project Container for Buildings',#100,(#50));
/* the meshing depends on the creating software system */
#200= IFCCARTESIANPOINTLIST3D(((1000.0,50.0,-91.5),(1000.0,14.8,-91.5),(1000.0,50.0,-100.0),(1000.0,-50.0,-100.0),(1000.0,-50.0,-91.5),(1000.0,-14.8,-91.5),(1000.0,-2.8,79.5),(1000.0,-2.8,-79.5),(1000.0,-50.0,91.5),(1000.0,-14.8,91.5),(1000.0,-50.0,100.0),(1000.0,50.0,100.0),(1000.0,50.0,91.5),(1000.0,14.8,91.5),(1000.0,2.8,-79.5),(1000.0,2.8,79.5),(0.0,2.8,79.5),(0.0,2.8,-79.5),(0.0,50.0,91.5),(0.0,14.8,91.5),(0.0,50.0,100.0),(0.0,-50.0,100.0),(0.0,-50.0,91.5),(0.0,-14.8,91.5),(0.0,-2.8,-79.5),(0.0,-2.8,79.5),(0.0,-50.0,-91.5),(0.0,-14.8,-91.5),(0.0,-50.0,-100.0),(0.0,50.0,-100.0),(0.0,50.0,-91.5),(0.0,14.8,-91.5),(0.0,14.8,-91.5),(0.0,2.8,-79.5),(1000.0,14.8,-91.5),(1000.0,2.8,-79.5),(500.0,2.8,-79.5),(500.0,14.8,-91.5),(0.0,2.8,-79.5),(0.0,2.8,79.5),(1000.0,2.8,-79.5),(1000.0,2.8,79.5),(500.0,2.8,-79.5),(500.0,2.8,79.5),(0.0,2.8,79.5),(0.0,14.8,91.5),(1000.0,2.8,79.5),(1000.0,14.8,91.5),(500.0,2.8,79.5),(500.0,14.8,91.5),(0.0,14.8,91.5),(0.0,50.0,91.5),(1000.0,14.8,91.5),(1000.0,50.0,91.5),(500.0,14.8,91.5),(500.0,50.0,91.5),(0.0,50.0,91.5),(0.0,50.0,100.0),(1000.0,50.0,91.5),(1000.0,50.0,100.0),(500.0,50.0,91.5),(500.0,50.0,100.0),(0.0,50.0,100.0),(0.0,-50.0,100.0),(1000.0,50.0,100.0),(1000.0,-50.0,100.0),(500.0,50.0,100.0),(500.0,-50.0,100.0),(0.0,-50.0,100.0),(0.0,-50.0,91.5),(1000.0,-50.0,100.0),(1000.0,-50.0,91.5),(500.0,-50.0,100.0),(500.0,-50.0,91.5),(0.0,-50.0,91.5),(0.0,-14.8,91.5),(1000.0,-50.0,91.5),(1000.0,-14.8,91.5),(500.0,-50.0,91.5),(500.0,-14.8,91.5),(0.0,-14.8,91.5),(0.0,-2.8,79.5),(1000.0,-14.8,91.5),(1000.0,-2.8,79.5),(500.0,-14.8,91.5),(500.0,-2.8,79.5),(0.0,-2.8,79.5),(0.0,-2.8,-79.5),(1000.0,-2.8,79.5),(1000.0,-2.8,-79.5),(500.0,-2.8,79.5),(500.0,-2.8,-79.5),(0.0,-2.8,-79.5),(0.0,-14.8,-91.5),(1000.0,-2.8,-79.5),(1000.0,-14.8,-91.5),(500.0,-2.8,-79.5),(500.0,-14.8,-91.5),(0.0,-14.8,-91.5),(0.0,-50.0,-91.5),(1000.0,-14.8,-91.5),(1000.0,-50.0,-91.5),(500.0,-14.8,-91.5),(500.0,-50.0,-91.5),(0.0,-50.0,-91.5),(0.0,-50.0,-100.0),(1000.0,-50.0,-91.5),(1000.0,-50.0,-100.0),(500.0,-50.0,-91.5),(500.0,-50.0,-100.0),(0.0,-50.0,-100.0),(0.0,50.0,-100.0),(1000.0,-50.0,-100.0),(1000.0,50.0,-100.0),(500.0,-50.0,-100.0),(500.0,50.0,-100.0),(0.0,50.0,-100.0),(0.0,50.0,-91.5),(1000.0,50.0,-100.0),(1000.0,50.0,-91.5),(500.0,50.0,-100.0),(500.0,50.0,-91.5),(0.0,50.0,-91.5),(0.0,14.8,-91.5),(1000.0,50.0,-91.5),(1000.0,14.8,-91.5),(500.0,50.0,-91.5),(500.0,14.8,-91.5)),$);
#201= IFCTRIANGULATEDFACESET(#200,$,.T.,((6,5,4),(15,8,6),(6,4,3),(10,11,9),(16,10,7),(14,11,10),(7,8,16),(6,2,15),(2,3,1),(3,2,6),(10,16,14),(14,13,12),(11,14,12),(8,15,16),(24,23,22),(17,26,24),(22,21,20),(28,29,27),(32,28,25),(30,29,28),(18,25,26),(24,20,17),(20,21,19),(32,31,30),(28,32,30),(33,34,37),(36,35,38),(40,44,43),(41,43,44),(46,50,49),(47,49,50),(56,55,51),(55,56,54),(57,58,62),(60,59,61),(63,64,68),(66,65,67),(69,70,74),(72,71,73),(80,79,75),(79,80,78),(81,82,86),(84,83,85),(88,92,91),(89,91,92),(94,98,97),(95,97,98),(104,103,99),(103,104,102),(105,106,110),(108,107,109),(111,112,116),(114,113,115),(117,118,122),(120,119,121),(128,127,123),(127,128,126),(22,20,24),(32,25,18),(18,26,17),(33,37,38),(36,38,37),(40,43,39),(41,44,42),(46,49,45),(47,50,48),(56,51,52),(55,54,53),(57,62,61),(60,61,62),(63,68,67),(66,67,68),(69,74,73),(72,73,74),(80,75,76),(79,78,77),(81,86,85),(84,85,86),(88,91,87),(89,92,90),(94,97,93),(95,98,96),(104,99,100),(103,102,101),(105,110,109),(108,109,110),(111,116,115),(114,115,116),(117,122,121),(120,121,122),(128,123,124),(127,126,125)),$);
#202= IFCSHAPEREPRESENTATION(#5,'Body','Tessellation',(#201));
#203= IFCPRODUCTDEFINITIONSHAPE($,$,(#202));
#204= IFCBEAM('0EF5_zZRv0pQPddeofU3KT',$,'ExampleBeamName','ExampleBeamDescription',$,#206,#203,'Tag',$);
#205= IFCAXIS2PLACEMENT3D(#2,$,$);
#206= IFCLOCALPLACEMENT($,#205);
ENDSEC;

END-ISO-10303-21;

Edit on Github


Is this page difficult to understand? Let us know!