cadmpeg-codec-step 0.6.8

Read and write ISO 10303-21 STEP Part 21 files for AP203, AP214, and AP242.
Documentation
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('TP-03 directrix parameter scale probe'),'2;1');
FILE_NAME('tp03-directrix-parameter-scale-probe.p21','2026-08-16T00:00:00',('cadmpeg'),('cadmpeg'),'cadmpeg','cadmpeg','');
FILE_SCHEMA(('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF'));
ENDSEC;
DATA;
#1=(LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.));
#2=(NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.));
#3=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(25.4),#1);
#4=(CONVERSION_BASED_UNIT('inch',#3) LENGTH_UNIT() NAMED_UNIT(*));
#5=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(0.017453292519943295),#2);
#6=(CONVERSION_BASED_UNIT('degree',#5) NAMED_UNIT(*) PLANE_ANGLE_UNIT());
#7=(GEOMETRIC_REPRESENTATION_CONTEXT(3) GLOBAL_UNIT_ASSIGNED_CONTEXT((#4,#6)) REPRESENTATION_CONTEXT('model','3D'));
#8=CARTESIAN_POINT('',(0.,0.,0.));
#9=DIRECTION('',(1.,0.,0.));
#10=VECTOR('',#9,10.);
#11=LINE('',#8,#10);
#12=DIRECTION('',(0.,0.,1.));
#13=VECTOR('',#12,2.);
#14=SURFACE_OF_LINEAR_EXTRUSION('',#11,#13);
#15=(GEOMETRIC_REPRESENTATION_CONTEXT(2) PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('uv','2D'));
#16=CARTESIAN_POINT('',(0.,0.));
#17=DIRECTION('',(1.,1.));
#18=VECTOR('',#17,1.4142135623730951);
#19=LINE('',#16,#18);
#20=DEFINITIONAL_REPRESENTATION('',(#19),#15);
#21=PCURVE('',#14,#20);
#22=SURFACE_CURVE('',#11,(#21),.PCURVE_S1.);
#23=AXIS2_PLACEMENT_3D('',#8,#12,#9);
#24=CIRCLE('',#23,5.);
#25=AXIS1_PLACEMENT('',#8,#12);
#26=SURFACE_OF_REVOLUTION('',#24,#25);
#27=DIRECTION('',(1.,1.));
#28=VECTOR('',#27,1.4142135623730951);
#29=LINE('',#16,#28);
#30=DEFINITIONAL_REPRESENTATION('',(#29),#15);
#31=PCURVE('',#26,#30);
#32=SURFACE_CURVE('',#24,(#31),.PCURVE_S1.);
#33=CARTESIAN_POINT('',(10.,0.,2.));
#34=CARTESIAN_POINT('',(0.,0.,2.));
#35=DIRECTION('',(-10.,0.,0.));
#36=VECTOR('',#35,10.);
#37=LINE('',#33,#36);
#38=DIRECTION('',(0.,0.,-1.));
#39=VECTOR('',#38,2.);
#40=LINE('',#34,#39);
#41=VERTEX_POINT('',#8);
#42=VERTEX_POINT('',#33);
#43=VERTEX_POINT('',#34);
#44=EDGE_CURVE('',#41,#42,#22,.T.);
#45=EDGE_CURVE('',#42,#43,#37,.T.);
#46=EDGE_CURVE('',#43,#41,#40,.T.);
#47=ORIENTED_EDGE('',*,*,#44,.T.);
#48=ORIENTED_EDGE('',*,*,#45,.T.);
#49=ORIENTED_EDGE('',*,*,#46,.T.);
#50=EDGE_LOOP('',(#47,#48,#49));
#51=FACE_OUTER_BOUND('',#50,.T.);
#52=ADVANCED_FACE('',(#51),#14,.T.);
#53=OPEN_SHELL('',(#52));
#54=SHELL_BASED_SURFACE_MODEL('',(#53));
#55=CARTESIAN_POINT('',(5.,0.,0.));
#56=VERTEX_POINT('',#55);
#57=CARTESIAN_POINT('',(4.996954135095478,0.17449748351250417,0.));
#58=VERTEX_POINT('',#57);
#59=EDGE_CURVE('',#56,#58,#32,.T.);
#60=EDGE_CURVE('',#58,#56,#24,.F.);
#61=ORIENTED_EDGE('',*,*,#59,.T.);
#62=ORIENTED_EDGE('',*,*,#60,.T.);
#63=EDGE_LOOP('',(#61,#62));
#64=FACE_OUTER_BOUND('',#63,.T.);
#65=ADVANCED_FACE('',(#64),#26,.T.);
#66=OPEN_SHELL('',(#65));
#67=SHELL_BASED_SURFACE_MODEL('',(#66));
#68=MANIFOLD_SURFACE_SHAPE_REPRESENTATION('tp03',(#54,#67),#7);
ENDSEC;
END-ISO-10303-21;