Annex E
(informative)
Examples
E.11.1 - Curve Parameters In Degrees
Example overview
This example illustrates extruded solids based on trimmed arcs using degrees. The resulting solid is identical to the corresponding example in radians.
IFC-SPF source
ISO-10303-21; HEADER; FILE_DESCRIPTION(('ViewDefinition [DesignTransferView_V1]'),'2;1'); FILE_NAME( /* name */ 'curve-parameters-in-degrees.ifc', /* time_stamp */ '2017-06-28T23:09:53', /* author */ ('redacted'), /* organization */ ('redacted'), /* preprocessor_version */ 'redacted', /* originating_system */ 'redacted', /* authorization */ 'None'); FILE_SCHEMA (('IFC4X3_DEV_738df036')); ENDSEC; DATA; #10= IFCCARTESIANPOINT((0.0,0.0,0.0)); #11= IFCAXIS2PLACEMENT3D(#10,$,$); #12= IFCLOCALPLACEMENT($,#11); /* defines the default building (as required as the minimum spatial element) */ /* These profile curves are intentionally expressed in a more complicated manner than necessary to test parameterization */ #13= IFCBUILDING('39t4Pu3nTC4ekXYRIHJB9W',$,'IfcBuilding',$,$,#12,$,$,$,$,$,#18); #14= IFCRELCONTAINEDINSPATIALSTRUCTURE('3Sa3dTJGn0H8TQIGiuGQd5',$,'Building','Building Container for Elements',(#77,#131,#180),#13); #15= IFCCARTESIANPOINT((0.0,0.0,0.0)); #16= IFCAXIS2PLACEMENT3D(#15,$,$); #18= IFCPOSTALADDRESS($,$,$,$,('Unknown'),$,'Unknown',$,'Unknown','Unknown'); /* general entities required for all IFC data sets, defining the context for the exchange */ #20= IFCPROJECT('0$WU4A9R19$vKWO$AdOnKA',$,'IfcProject',$,$,$,$,(#31),#21); #21= IFCUNITASSIGNMENT((#22,#23,#24,#27,#29)); #22= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); #23= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); #24= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); #25= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); #26= IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.0174532925199433),#25); #27= IFCCONVERSIONBASEDUNIT(#28,.PLANEANGLEUNIT.,'DEGREE',#26); #28= IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0); #29= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.); #30= IFCRELAGGREGATES('091a6ewbvCMQ2Vyiqspa7a',$,'Project Container','Project Container for Buildings',#20,(#13)); #31= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.0001,#33,#34); #32= IFCCARTESIANPOINT((0.0,0.0,0.0)); #33= IFCAXIS2PLACEMENT3D(#32,$,$); #34= IFCDIRECTION((0.0,1.0)); #35= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#31,$,.MODEL_VIEW.,$); /* Example data for CurveParametersDegrees */ #50= IFCMATERIAL('Steel',$,$); #52= IFCCARTESIANPOINT((-1000.0,1000.0)); #53= IFCDIRECTION((0.70710678,-0.70710678)); #54= IFCVECTOR(#53,1414.2135623731); #55= IFCLINE(#52,#54); #56= IFCTRIMMEDCURVE(#55,(IFCPARAMETERVALUE(0.292893218813453)),(IFCPARAMETERVALUE(1.70710678118655)),.T.,.PARAMETER.); #57= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#56); #58= IFCCARTESIANPOINT((0.0,0.0)); #59= IFCAXIS2PLACEMENT2D(#58,$); #60= IFCCIRCLE(#59,1000.0); #61= IFCTRIMMEDCURVE(#60,(IFCPARAMETERVALUE(315.0)),(IFCPARAMETERVALUE(135.0)),.T.,.PARAMETER.); #62= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#61); #63= IFCCOMPOSITECURVE((#57,#62),.U.); #64= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'SemiCircle',#63); #65= IFCMATERIALPROFILE('SemiCircle',$,#50,#64,$,$); #67= IFCMATERIALPROFILESET('SemiCircle',$,(#65),$); #68= IFCRELASSOCIATESMATERIAL('1gdVo5TjPETPZlW8HSRupM',$,'MatAssoc','Material Associates',(#69),#67); #69= IFCCOLUMNTYPE('24mq0gwVr7bgEMXPmo$TrF',$,'SemiCircle',$,$,$,$,$,$,.COLUMN.); #70= IFCRELDEFINESBYTYPE('0devdSRyf3uBEQbSqWTDjo',$,'NameNotAssigned',$,(#77),#69); #71= IFCRELDECLARES('1Cjr05W9T0fx0M3_mdVqMd',$,$,$,#20,(#69,#124,#173)); #72= IFCMATERIALPROFILESETUSAGE(#67,5,$); #73= IFCRELASSOCIATESMATERIAL('35z8gDFbb6gvrCOz$24tUJ',$,'MatAssoc','Material Associates',(#77),#72); #74= IFCCARTESIANPOINT((0.0,0.0,0.0)); #75= IFCAXIS2PLACEMENT3D(#74,$,$); #76= IFCLOCALPLACEMENT(#12,#75); #77= IFCCOLUMN('0RGc8lepr7BRF_EtHrWJ45',$,'SemiCircle',$,$,#76,#85,$,$); #78= IFCCARTESIANPOINT((0.0,0.0,2000.0)); #79= IFCPOLYLINE((#15,#78)); #80= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#31,$,.MODEL_VIEW.,$); #81= IFCSHAPEREPRESENTATION(#80,'Axis','Curve3D',(#79)); #82= IFCEXTRUDEDAREASOLID(#64,$,#83,2000.0); #83= IFCDIRECTION((0.0,0.0,1.0)); #84= IFCSHAPEREPRESENTATION(#35,'Body','SweptSolid',(#82)); #85= IFCPRODUCTDEFINITIONSHAPE($,$,(#81,#84)); #100= IFCCARTESIANPOINT((0.0,1000.0)); #101= IFCAXIS2PLACEMENT2D(#100,#102); #102= IFCDIRECTION((-1.0,0.0)); #103= IFCCIRCLE(#101,1732.05081); #104= IFCTRIMMEDCURVE(#103,(IFCPARAMETERVALUE(60.0)),(IFCPARAMETERVALUE(120.0)),.T.,.PARAMETER.); #105= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#104); #106= IFCCARTESIANPOINT((-866.0254,-500.0)); #107= IFCAXIS2PLACEMENT2D(#106,#108); #108= IFCDIRECTION((0.0,-1.0)); #109= IFCCIRCLE(#107,1732.05081); #110= IFCTRIMMEDCURVE(#109,(IFCPARAMETERVALUE(90.0)),(IFCPARAMETERVALUE(150.0)),.T.,.PARAMETER.); #111= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#110); #112= IFCCARTESIANPOINT((866.0254,-500.0)); #113= IFCAXIS2PLACEMENT2D(#112,#114); #114= IFCDIRECTION((0.0,1.0)); #115= IFCCIRCLE(#113,1732.05081); #116= IFCTRIMMEDCURVE(#115,(IFCPARAMETERVALUE(30.0)),(IFCPARAMETERVALUE(90.0)),.T.,.PARAMETER.); #117= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#116); #118= IFCCOMPOSITECURVE((#105,#111,#117),.U.); #119= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'CurviLinearTriangle',#118); #120= IFCMATERIALPROFILE('CurviLinearTriangle',$,#50,#119,$,$); #122= IFCMATERIALPROFILESET('CurviLinearTriangle',$,(#120),$); #123= IFCRELASSOCIATESMATERIAL('1qSyS$HSb8TRu4PVnIUzZM',$,'MatAssoc','Material Associates',(#124),#122); #124= IFCCOLUMNTYPE('0JgmY6eGLC9AwX_nMFf5CT',$,'CurviLinearTriangle',$,$,$,$,$,$,.COLUMN.); #125= IFCRELDEFINESBYTYPE('1N1PpBCJLB4QMrIjidnGaj',$,'NameNotAssigned',$,(#131),#124); #126= IFCMATERIALPROFILESETUSAGE(#122,5,$); #127= IFCRELASSOCIATESMATERIAL('00Bah4pIPCa9jB2F34kUX_',$,'MatAssoc','Material Associates',(#131),#126); #128= IFCCARTESIANPOINT((2500.0,0.0,0.0)); #129= IFCAXIS2PLACEMENT3D(#128,$,$); #130= IFCLOCALPLACEMENT(#12,#129); #131= IFCCOLUMN('3vcm8ZmFfDwhpgzzT7EP8n',$,'CurviLinearTriangle',$,$,#130,#137,$,$); #132= IFCCARTESIANPOINT((0.0,0.0,2000.0)); #133= IFCPOLYLINE((#15,#132)); #134= IFCSHAPEREPRESENTATION(#80,'Axis','Curve3D',(#133)); #135= IFCEXTRUDEDAREASOLID(#119,$,#83,2000.0); #136= IFCSHAPEREPRESENTATION(#35,'Body','SweptSolid',(#135)); #137= IFCPRODUCTDEFINITIONSHAPE($,$,(#134,#136)); #150= IFCCARTESIANPOINT((0.0,0.0)); #151= IFCAXIS2PLACEMENT2D(#150,$); #152= IFCELLIPSE(#151,1000.0,500.0); #153= IFCTRIMMEDCURVE(#152,(IFCPARAMETERVALUE(0.0)),(IFCPARAMETERVALUE(45.0)),.T.,.PARAMETER.); #154= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#153); #155= IFCCARTESIANPOINT((0.0,0.0)); #156= IFCDIRECTION((0.89442719,0.4472136)); #157= IFCVECTOR(#156,1.0); #158= IFCLINE(#155,#157); #159= IFCTRIMMEDCURVE(#158,(IFCPARAMETERVALUE(0.0)),(IFCPARAMETERVALUE(790.569415042095)),.F.,.PARAMETER.); #160= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#159); #161= IFCCARTESIANPOINT((0.0,0.0)); #162= IFCDIRECTION((1.0,0.0)); #163= IFCVECTOR(#162,1.0); #164= IFCLINE(#161,#163); #165= IFCTRIMMEDCURVE(#164,(IFCPARAMETERVALUE(0.0)),(IFCPARAMETERVALUE(1000.0)),.T.,.PARAMETER.); #166= IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#165); #167= IFCCOMPOSITECURVE((#154,#160,#166),.U.); #168= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'PartialEllipse',#167); #169= IFCMATERIALPROFILE('PartialEllipse',$,#50,#168,$,$); #171= IFCMATERIALPROFILESET('PartialEllipse',$,(#169),$); #172= IFCRELASSOCIATESMATERIAL('2V$PMUw5f3PgVGq_LG8lb7',$,'MatAssoc','Material Associates',(#173),#171); #173= IFCCOLUMNTYPE('32anvmJgjFPOL650_UAlfM',$,'PartialEllipse',$,$,$,$,$,$,.COLUMN.); #174= IFCRELDEFINESBYTYPE('1YdxXK2rrC6RnMj56iAUZG',$,'NameNotAssigned',$,(#180),#173); #175= IFCMATERIALPROFILESETUSAGE(#171,5,$); #176= IFCRELASSOCIATESMATERIAL('1k_RZ6rAPBe92Lvj8VqnvM',$,'MatAssoc','Material Associates',(#180),#175); #177= IFCCARTESIANPOINT((5000.0,0.0,0.0)); #178= IFCAXIS2PLACEMENT3D(#177,$,$); #179= IFCLOCALPLACEMENT(#12,#178); #180= IFCCOLUMN('0gw7Zq2jn3b91J9aZCStsR',$,'PartialEllipse',$,$,#179,#186,$,$); #181= IFCCARTESIANPOINT((0.0,0.0,2000.0)); #182= IFCPOLYLINE((#15,#181)); #183= IFCSHAPEREPRESENTATION(#80,'Axis','Curve3D',(#182)); #184= IFCEXTRUDEDAREASOLID(#168,$,#83,2000.0); #185= IFCSHAPEREPRESENTATION(#35,'Body','SweptSolid',(#184)); #186= IFCPRODUCTDEFINITIONSHAPE($,$,(#183,#185)); ENDSEC; END-ISO-10303-21;