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(('BR-02 outer and void shell roles witness'),'2;1');
FILE_NAME('br02-outer-void-roles.p21','2026-08-16T00:00:00',('cadmpeg'),('cadmpeg'),'cadmpeg','cadmpeg','');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN'));
ENDSEC;
DATA;
#1=(LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.));
#2=(GEOMETRIC_REPRESENTATION_CONTEXT(3) GLOBAL_UNIT_ASSIGNED_CONTEXT((#1,#40)) REPRESENTATION_CONTEXT('model','3D'));
#3=CARTESIAN_POINT('a',(0.,0.,0.));
#4=CARTESIAN_POINT('b',(9.,0.,0.));
#5=CARTESIAN_POINT('c',(0.,7.,0.));
#6=VERTEX_POINT('',#3);
#7=VERTEX_POINT('',#4);
#8=VERTEX_POINT('',#5);
#9=DIRECTION('',(0.,0.,1.));
#10=DIRECTION('',(1.,0.,0.));
#11=DIRECTION('',(-1.,1.0,0.));
#12=DIRECTION('',(0.,-1.,0.));
#13=VECTOR('',#10,9.);
#14=VECTOR('',#11,11.40175425099138);
#15=VECTOR('',#12,7.);
#16=LINE('',#3,#13);
#17=LINE('',#4,#14);
#18=LINE('',#5,#15);
#19=EDGE_CURVE('',#6,#7,#16,.T.);
#20=EDGE_CURVE('',#7,#8,#17,.T.);
#21=EDGE_CURVE('',#8,#6,#18,.T.);
#22=ORIENTED_EDGE('',*,*,#19,.T.);
#23=ORIENTED_EDGE('',*,*,#20,.T.);
#24=ORIENTED_EDGE('',*,*,#21,.T.);
#25=EDGE_LOOP('',(#22,#23,#24));
#26=FACE_OUTER_BOUND('',#25,.T.);
#27=AXIS2_PLACEMENT_3D('',#3,#9,#10);
#28=PLANE('',#27);
#29=ADVANCED_FACE('',(#26),#28,.T.);
#30=CLOSED_SHELL('outer',(#29));
#31=CLOSED_SHELL('void-a',(#29));
#32=CLOSED_SHELL('void-b',(#29));
#33=ORIENTED_CLOSED_SHELL('',*,#31,.F.);
#34=ORIENTED_CLOSED_SHELL('',*,#32,.F.);
#50=BREP_WITH_VOIDS('outer and voids',#30,(#34,#33));
#40=(NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.));
ENDSEC;
END-ISO-10303-21;