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-06 placement reference witness'),'2;1');
FILE_NAME('pc06-placement-reference.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,#20)) REPRESENTATION_CONTEXT('model','3D'));
#3=CARTESIAN_POINT('',(0.,0.,0.));
#4=DIRECTION('',(0.6,0.8,0.));
#5=AXIS2_PLACEMENT_3D('arbitrary-axis',#3,#4,$);
#6=CIRCLE('arbitrary-axis',#5,1.);
#7=DIRECTION('',(1.,0.,0.));
#8=AXIS2_PLACEMENT_3D('positive-x-axis',#3,#7,$);
#9=CIRCLE('positive-x-axis',#8,1.);
#10=DIRECTION('',(-1.,0.,0.));
#11=AXIS2_PLACEMENT_3D('negative-x-axis',#3,#10,$);
#12=CIRCLE('negative-x-axis',#11,1.);
#13=DIRECTION('',(-1.,0.0000000000001,0.));
#14=AXIS2_PLACEMENT_3D('near-negative-x-axis',#3,#13,$);
#15=CIRCLE('near-negative-x-axis',#14,1.);
#16=DIRECTION('',(0.,0.,1.));
#17=AXIS2_PLACEMENT_3D('parallel-reference',#3,#16,#16);
#18=CIRCLE('parallel-reference',#17,1.);
#19=GEOMETRIC_CURVE_SET('placement references',(#6,#9,#12,#15,#18));
#20=(NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.));
#21=SHAPE_REPRESENTATION('placement references',(#19),#2);
ENDSEC;
END-ISO-10303-21;