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(('PC-03 directrix-chart valid witness'),'2;1');
FILE_NAME('pc03-chart-valid.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=(GEOMETRIC_REPRESENTATION_CONTEXT(3) GLOBAL_UNIT_ASSIGNED_CONTEXT((#1,#39)) REPRESENTATION_CONTEXT('model','3D'));
#3=CARTESIAN_POINT('',(0.,0.,0.));
#4=CARTESIAN_POINT('',(10.,0.,0.));
#5=CARTESIAN_POINT('',(10.,10.,0.));
#6=DIRECTION('',(0.,0.,1.));
#7=VECTOR('',#6,1.);
#8=B_SPLINE_CURVE_WITH_KNOTS('',1,(#3,#4),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,10.),.PIECEWISE_BEZIER_KNOTS.);
#9=SURFACE_OF_LINEAR_EXTRUSION('',#8,#7);
#10=DIRECTION('',(0.,1.,0.));
#11=VECTOR('',#10,10.);
#12=LINE('',#4,#11);
#13=DIRECTION('',(-1.,0.,0.));
#14=VECTOR('',#13,10.);
#15=LINE('',#5,#14);
#16=(GEOMETRIC_REPRESENTATION_CONTEXT(2) PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('uv','2D'));
#17=CARTESIAN_POINT('',(0.,0.));
#18=DIRECTION('',(1.,0.));
#19=VECTOR('',#18,10.);
#20=LINE('',#17,#19);
#21=DEFINITIONAL_REPRESENTATION('',(#20),#16);
#22=PCURVE('',#9,#21);
#23=SURFACE_CURVE('',#8,(#22),.PCURVE_S1.);
#24=VERTEX_POINT('',#3);
#25=VERTEX_POINT('',#4);
#26=VERTEX_POINT('',#5);
#27=EDGE_CURVE('',#24,#25,#23,.T.);
#28=EDGE_CURVE('',#25,#26,#12,.T.);
#29=EDGE_CURVE('',#26,#24,#15,.T.);
#30=ORIENTED_EDGE('',*,*,#27,.T.);
#31=ORIENTED_EDGE('',*,*,#28,.T.);
#32=ORIENTED_EDGE('',*,*,#29,.T.);
#33=EDGE_LOOP('',(#30,#31,#32));
#34=FACE_OUTER_BOUND('',#33,.T.);
#35=ADVANCED_FACE('',(#34),#9,.T.);
#36=OPEN_SHELL('',(#35));
#37=SHELL_BASED_SURFACE_MODEL('',(#36));
#38=MANIFOLD_SURFACE_SHAPE_REPRESENTATION('sweep',(#37),#2);
#39=(NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.));
ENDSEC;
END-ISO-10303-21;