Files
solvecraft/tests/step-conformance/washer.step
T
bherbruck fc3dedfd5c STEP import: regression sweep over the step-conformance parts of known shape (#3880)
* STEP import: regression sweep over the step-conformance parts of known shape

Fifteen generated parts from step-conformance (CC0): plain, NURBS, seamed,
placed, inch and far-away cylinders, domes, a grooved shaft, a plate with 100
holes, a 3.6 m disc, a 0.5 mm pin, a B-spline half-torus and a washer. Each
reads back with its exact volume, its box and its face count. The half-torus
on a TOROIDAL_SURFACE and the cones to a point are left out until they read
right.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* STEP conformance sweep: the pin's volume as FRAC_PI_8 (clippy)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 23:07:47 +00:00

111 lines
4.1 KiB
Plaintext

ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('step-conformance generated part'),'2;1');
FILE_NAME('washer.step','2026-10-12T00:00:00',(''),(''),'step-conformance generate','step-conformance generate','');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
ENDSEC;
DATA;
#1=( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#2=( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#3=( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#4=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-7),#1,'distance_accuracy_value','confusion accuracy');
#5=( GEOMETRIC_REPRESENTATION_CONTEXT(3) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#4)) GLOBAL_UNIT_ASSIGNED_CONTEXT((#1,#2,#3)) REPRESENTATION_CONTEXT('','3D') );
#6=APPLICATION_CONTEXT('automotive design');
#7=APPLICATION_PROTOCOL_DEFINITION('international standard','automotive_design',2000,#6);
#8=PRODUCT_CONTEXT('',#6,'mechanical');
#9=PRODUCT_DEFINITION_CONTEXT('part definition',#6,'design');
#10=PRODUCT('washer','washer','',(#8));
#11=PRODUCT_DEFINITION_FORMATION('','',#10);
#12=PRODUCT_DEFINITION('design','',#11,#9);
#13=PRODUCT_DEFINITION_SHAPE('','',#12);
#14=CARTESIAN_POINT('',(0.0,0.0,0.0));
#15=DIRECTION('',(0.0,0.0,1.0));
#16=DIRECTION('',(1.0,0.0,0.0));
#17=AXIS2_PLACEMENT_3D('',#14,#15,#16);
#18=CARTESIAN_POINT('',(0.0,0.0,0.0));
#19=DIRECTION('',(0.0,0.0,1.0));
#20=DIRECTION('',(1.0,0.0,0.0));
#21=AXIS2_PLACEMENT_3D('',#18,#19,#20);
#22=CIRCLE('',#21,5.0);
#23=CARTESIAN_POINT('',(5.0,0.0,0.0));
#24=VERTEX_POINT('',#23);
#25=EDGE_CURVE('',#24,#24,#22,.T.);
#26=CARTESIAN_POINT('',(0.0,0.0,0.0));
#27=DIRECTION('',(0.0,0.0,1.0));
#28=DIRECTION('',(1.0,0.0,0.0));
#29=AXIS2_PLACEMENT_3D('',#26,#27,#28);
#30=CIRCLE('',#29,20.0);
#31=CARTESIAN_POINT('',(20.0,0.0,0.0));
#32=VERTEX_POINT('',#31);
#33=EDGE_CURVE('',#32,#32,#30,.T.);
#34=CARTESIAN_POINT('',(0.0,0.0,3.0));
#35=DIRECTION('',(0.0,0.0,1.0));
#36=DIRECTION('',(1.0,0.0,0.0));
#37=AXIS2_PLACEMENT_3D('',#34,#35,#36);
#38=CIRCLE('',#37,20.0);
#39=CARTESIAN_POINT('',(20.0,0.0,3.0));
#40=VERTEX_POINT('',#39);
#41=EDGE_CURVE('',#40,#40,#38,.T.);
#42=CARTESIAN_POINT('',(0.0,0.0,3.0));
#43=DIRECTION('',(0.0,0.0,1.0));
#44=DIRECTION('',(1.0,0.0,0.0));
#45=AXIS2_PLACEMENT_3D('',#42,#43,#44);
#46=CIRCLE('',#45,5.0);
#47=CARTESIAN_POINT('',(5.0,0.0,3.0));
#48=VERTEX_POINT('',#47);
#49=EDGE_CURVE('',#48,#48,#46,.T.);
#50=CARTESIAN_POINT('',(0.0,0.0,0.0));
#51=DIRECTION('',(0.0,0.0,1.0));
#52=DIRECTION('',(1.0,0.0,0.0));
#53=AXIS2_PLACEMENT_3D('',#50,#51,#52);
#54=PLANE('',#53);
#55=ORIENTED_EDGE('',*,*,#25,.T.);
#56=EDGE_LOOP('',(#55));
#57=ORIENTED_EDGE('',*,*,#33,.F.);
#58=EDGE_LOOP('',(#57));
#59=FACE_OUTER_BOUND('',#58,.T.);
#60=FACE_BOUND('',#56,.T.);
#61=ADVANCED_FACE('',(#59,#60),#54,.F.);
#62=CARTESIAN_POINT('',(0.0,0.0,0.0));
#63=DIRECTION('',(0.0,0.0,1.0));
#64=DIRECTION('',(1.0,0.0,0.0));
#65=AXIS2_PLACEMENT_3D('',#62,#63,#64);
#66=CYLINDRICAL_SURFACE('',#65,20.0);
#67=ORIENTED_EDGE('',*,*,#33,.T.);
#68=EDGE_LOOP('',(#67));
#69=ORIENTED_EDGE('',*,*,#41,.F.);
#70=EDGE_LOOP('',(#69));
#71=FACE_OUTER_BOUND('',#68,.T.);
#72=FACE_BOUND('',#70,.T.);
#73=ADVANCED_FACE('',(#71,#72),#66,.T.);
#74=CARTESIAN_POINT('',(0.0,0.0,3.0));
#75=DIRECTION('',(0.0,0.0,1.0));
#76=DIRECTION('',(1.0,0.0,0.0));
#77=AXIS2_PLACEMENT_3D('',#74,#75,#76);
#78=PLANE('',#77);
#79=ORIENTED_EDGE('',*,*,#41,.T.);
#80=EDGE_LOOP('',(#79));
#81=ORIENTED_EDGE('',*,*,#49,.F.);
#82=EDGE_LOOP('',(#81));
#83=FACE_OUTER_BOUND('',#80,.T.);
#84=FACE_BOUND('',#82,.T.);
#85=ADVANCED_FACE('',(#83,#84),#78,.T.);
#86=CARTESIAN_POINT('',(0.0,0.0,3.0));
#87=DIRECTION('',(0.0,0.0,1.0));
#88=DIRECTION('',(1.0,0.0,0.0));
#89=AXIS2_PLACEMENT_3D('',#86,#87,#88);
#90=CYLINDRICAL_SURFACE('',#89,5.0);
#91=ORIENTED_EDGE('',*,*,#49,.T.);
#92=EDGE_LOOP('',(#91));
#93=ORIENTED_EDGE('',*,*,#25,.F.);
#94=EDGE_LOOP('',(#93));
#95=FACE_OUTER_BOUND('',#92,.T.);
#96=FACE_BOUND('',#94,.T.);
#97=ADVANCED_FACE('',(#95,#96),#90,.F.);
#98=CLOSED_SHELL('',(#61,#73,#85,#97));
#99=MANIFOLD_SOLID_BREP('',#98);
#100=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#17,#99),#5);
#101=SHAPE_DEFINITION_REPRESENTATION(#13,#100);
ENDSEC;
END-ISO-10303-21;