cadmpeg-codec-step 0.5.5

Read and write ISO 10303-21 STEP Part 21 files for AP203, AP214, and AP242.
Documentation
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('PC-01 surface-chart witness'),'2;1');
FILE_NAME('pc01_surface_parameter.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)) REPRESENTATION_CONTEXT('model','3D'));
#3=CARTESIAN_POINT('',(0.,0.,0.));
#4=CARTESIAN_POINT('',(-1.,0.,0.));
#5=CARTESIAN_POINT('',(-1.,0.,10.));
#6=CARTESIAN_POINT('',(1.,0.,0.));
#7=DIRECTION('',(0.,0.,1.));
#8=DIRECTION('',(1.,0.,0.));
#9=AXIS2_PLACEMENT_3D('',#3,#7,#8);
#10=CYLINDRICAL_SURFACE('',#9,1.);
#11=VECTOR('',#7,10.);
#12=LINE('',#4,#11);
#13=DIRECTION('',(2.,-10.,0.));
#14=VECTOR('',#13,10.198039027185569);
#15=LINE('',#5,#14);
#16=DIRECTION('',(-1.,0.,0.));
#17=VECTOR('',#16,2.);
#18=LINE('',#6,#17);
#19=VERTEX_POINT('',#4);
#20=VERTEX_POINT('',#5);
#21=VERTEX_POINT('',#6);
#22=EDGE_CURVE('',#19,#20,#33,.T.);
#23=EDGE_CURVE('',#20,#21,#15,.T.);
#24=EDGE_CURVE('',#21,#19,#18,.T.);
#25=ORIENTED_EDGE('',*,*,#22,.T.);
#26=ORIENTED_EDGE('',*,*,#23,.T.);
#27=ORIENTED_EDGE('',*,*,#24,.T.);
#28=EDGE_LOOP('',(#25,#26,#27));
#29=FACE_OUTER_BOUND('',#28,.T.);
#30=ADVANCED_FACE('',(#29),#10,.T.);
#31=OPEN_SHELL('',(#30));
#32=SHELL_BASED_SURFACE_MODEL('',(#31));
#33=SURFACE_CURVE('',#12,(#34),.PCURVE_S1.);
#34=PCURVE('',#10,#38);
#35=MANIFOLD_SURFACE_SHAPE_REPRESENTATION('',(#32),#2);
#36=(GEOMETRIC_REPRESENTATION_CONTEXT(2) PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('uv','2D'));
#37=CARTESIAN_POINT('',(3.141592653589793,0.));
#38=DEFINITIONAL_REPRESENTATION('',(#41),#36);
#39=DIRECTION('',(0.,1.));
#40=VECTOR('',#39,10.);
#41=LINE('',#37,#40);
ENDSEC;
END-ISO-10303-21;