cadmpeg-codec-step 0.6.5

Read and write ISO 10303-21 STEP Part 21 files for AP203, AP214, and AP242.
Documentation
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('TP-07 pcurve recursion witness'),'2;1');
FILE_NAME('tp07-pcurve-recursion.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=(GEOMETRIC_REPRESENTATION_CONTEXT(3) GLOBAL_UNIT_ASSIGNED_CONTEXT((#1,#2)) REPRESENTATION_CONTEXT('model','3D'));
#4=CARTESIAN_POINT('origin',(0.,0.,0.));
#5=DIRECTION('normal',(0.,0.,1.));
#6=DIRECTION('u',(1.,0.,0.));
#7=AXIS2_PLACEMENT_3D('',#4,#5,#6);
#8=PLANE('basis',#7);
#9=SHAPE_REPRESENTATION('basis',(#8),#3);
#20=(GEOMETRIC_REPRESENTATION_CONTEXT(2) PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('uv','2D'));
#21=CARTESIAN_POINT('uv-origin',(2.,3.));
#22=DIRECTION('uv-direction',(1.,0.));
#23=VECTOR('',#22,2.);
#24=LINE('valid',#21,#23);
#25=LINE('second',#21,#23);
#30=DEFINITIONAL_REPRESENTATION('valid',(#24),#20);
#31=PCURVE('valid',#8,#30);
#32=DEFINITIONAL_REPRESENTATION('multiple',(#24,#25),#20);
#33=PCURVE('multiple',#8,#32);
#34=CURVE_REPLICA('cycle',#34,#50);
#35=DEFINITIONAL_REPRESENTATION('recursive',(#34),#20);
#36=PCURVE('recursive',#8,#35);
#50=CARTESIAN_TRANSFORMATION_OPERATOR_2D('',#51,$,#21,1.);
#51=DIRECTION('operator-axis',(1.,0.));
#60=CARTESIAN_POINT('a',(2.,3.,0.));
#61=CARTESIAN_POINT('b',(4.,3.,0.));
#62=CARTESIAN_POINT('c',(2.,6.,0.));
#63=VERTEX_POINT('',#60);
#64=VERTEX_POINT('',#61);
#65=VERTEX_POINT('',#62);
#66=DIRECTION('edge-ab',(1.,0.,0.));
#67=DIRECTION('edge-bc',(-1.,1.,0.));
#68=DIRECTION('edge-ca',(0.,-1.,0.));
#69=VECTOR('',#66,2.);
#70=VECTOR('',#67,3.605551275463989);
#71=VECTOR('',#68,3.);
#72=LINE('edge-ab',#60,#69);
#73=LINE('edge-bc',#61,#70);
#74=LINE('edge-ca',#62,#71);
#75=SURFACE_CURVE('valid surface curve',#72,(#31),.PCURVE_S1.);
#76=EDGE_CURVE('',#63,#64,#75,.T.);
#77=EDGE_CURVE('',#64,#65,#73,.T.);
#78=EDGE_CURVE('',#65,#63,#74,.T.);
#79=ORIENTED_EDGE('',*,*,#76,.T.);
#80=ORIENTED_EDGE('',*,*,#77,.T.);
#81=ORIENTED_EDGE('',*,*,#78,.T.);
#82=EDGE_LOOP('',(#79,#80,#81));
#83=FACE_OUTER_BOUND('',#82,.T.);
#84=ADVANCED_FACE('',(#83),#8,.T.);
#85=OPEN_SHELL('shell',(#84));
#86=SHELL_BASED_SURFACE_MODEL('model',(#85));
#87=MANIFOLD_SURFACE_SHAPE_REPRESENTATION('',(#86),#3);
ENDSEC;
END-ISO-10303-21;