mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-04 11:05:56 +00:00
kernel-cases: import from #1721-#4006 (19 cases, 59 skipped)
STEP: 3730 void shell flag, 3098 tiny-knot B-spline edges, 2043 opposing surface sense, 3208 extruded ellipse over its seam, 3352 vertex off its curve, 3963 closed spline edge, 4005/4006 near-degenerate cones, 3871 cone point, 3880 seam cylinder and dome, 1721 closed B-spline tube. IGES: 3806 revolved arc cap, 3845 trim gaps, 3359/3913 reversed trim pieces, 3886 tiny knot span, 3912 reversed hole trim, 3972 two boxes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#1721",
|
||||
"tangency-labs/solidcraft#3880"
|
||||
],
|
||||
"what": "a cylinder r=10 h=30 whose side is a closed (rational B-spline) tube face wrapping all the way round a closed non-periodic surface: it must mesh and measure as the full tube",
|
||||
"source": "analytic",
|
||||
"method": "V = 3000 pi = 9424.7780; A = 2 pi r h + 2 pi r^2 = 2513.2741; 3 faces",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 9424.778,
|
||||
"area_mm2": 2513.2741,
|
||||
"faces": 3,
|
||||
"bbox": {
|
||||
"min": [
|
||||
-10,
|
||||
-10,
|
||||
0
|
||||
],
|
||||
"max": [
|
||||
10,
|
||||
10,
|
||||
30
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('step-conformance generated part'),'2;1');
|
||||
FILE_NAME('cylinder_nurbs.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('cylinder_nurbs','cylinder_nurbs','',(#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('',(10.0,0.0,0.0));
|
||||
#19=CARTESIAN_POINT('',(10.000000000000002,10.0,0.0));
|
||||
#20=CARTESIAN_POINT('',(6.123233995736766E-16,10.0,0.0));
|
||||
#21=CARTESIAN_POINT('',(-10.0,10.000000000000002,0.0));
|
||||
#22=CARTESIAN_POINT('',(-10.0,1.2246467991473533E-15,0.0));
|
||||
#23=CARTESIAN_POINT('',(-10.000000000000002,-10.0,0.0));
|
||||
#24=CARTESIAN_POINT('',(-1.8369701987210296E-15,-10.0,0.0));
|
||||
#25=CARTESIAN_POINT('',(9.999999999999998,-10.000000000000002,0.0));
|
||||
#26=CARTESIAN_POINT('',(10.0,-2.4492935982947065E-15,0.0));
|
||||
#27=( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#18,#19,#20,#21,#22,#23,#24,#25,#26),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((3,2,2,2,3),(0.0,0.25,0.5,0.75,1.0),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() RATIONAL_B_SPLINE_CURVE((1.0,0.7071067811865476,1.0,0.7071067811865476,1.0,0.7071067811865476,1.0,0.7071067811865476,1.0)) REPRESENTATION_ITEM('') );
|
||||
#28=CARTESIAN_POINT('',(10.0,0.0,0.0));
|
||||
#29=VERTEX_POINT('',#28);
|
||||
#30=EDGE_CURVE('',#29,#29,#27,.T.);
|
||||
#31=CARTESIAN_POINT('',(10.0,0.0,30.0));
|
||||
#32=CARTESIAN_POINT('',(10.000000000000002,10.0,30.0));
|
||||
#33=CARTESIAN_POINT('',(6.123233995736766E-16,10.0,30.0));
|
||||
#34=CARTESIAN_POINT('',(-10.0,10.000000000000002,30.0));
|
||||
#35=CARTESIAN_POINT('',(-10.0,1.2246467991473533E-15,30.0));
|
||||
#36=CARTESIAN_POINT('',(-10.000000000000002,-10.0,30.0));
|
||||
#37=CARTESIAN_POINT('',(-1.8369701987210296E-15,-10.0,30.0));
|
||||
#38=CARTESIAN_POINT('',(9.999999999999998,-10.000000000000002,30.0));
|
||||
#39=CARTESIAN_POINT('',(10.0,-2.4492935982947065E-15,30.0));
|
||||
#40=( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#31,#32,#33,#34,#35,#36,#37,#38,#39),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((3,2,2,2,3),(0.0,0.25,0.5,0.75,1.0),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() RATIONAL_B_SPLINE_CURVE((1.0,0.7071067811865476,1.0,0.7071067811865476,1.0,0.7071067811865476,1.0,0.7071067811865476,1.0)) REPRESENTATION_ITEM('') );
|
||||
#41=CARTESIAN_POINT('',(10.0,0.0,30.0));
|
||||
#42=VERTEX_POINT('',#41);
|
||||
#43=EDGE_CURVE('',#42,#42,#40,.T.);
|
||||
#44=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#45=DIRECTION('',(0.0,0.0,1.0));
|
||||
#46=DIRECTION('',(1.0,0.0,0.0));
|
||||
#47=AXIS2_PLACEMENT_3D('',#44,#45,#46);
|
||||
#48=PLANE('',#47);
|
||||
#49=ORIENTED_EDGE('',*,*,#30,.F.);
|
||||
#50=EDGE_LOOP('',(#49));
|
||||
#51=FACE_OUTER_BOUND('',#50,.T.);
|
||||
#52=ADVANCED_FACE('',(#51),#48,.F.);
|
||||
#53=CARTESIAN_POINT('',(10.0,0.0,0.0));
|
||||
#54=CARTESIAN_POINT('',(10.0,0.0,30.0));
|
||||
#55=CARTESIAN_POINT('',(10.000000000000002,10.0,0.0));
|
||||
#56=CARTESIAN_POINT('',(10.000000000000002,10.0,30.0));
|
||||
#57=CARTESIAN_POINT('',(6.123233995736766E-16,10.0,0.0));
|
||||
#58=CARTESIAN_POINT('',(6.123233995736766E-16,10.0,30.0));
|
||||
#59=CARTESIAN_POINT('',(-10.0,10.000000000000002,0.0));
|
||||
#60=CARTESIAN_POINT('',(-10.0,10.000000000000002,30.0));
|
||||
#61=CARTESIAN_POINT('',(-10.0,1.2246467991473533E-15,0.0));
|
||||
#62=CARTESIAN_POINT('',(-10.0,1.2246467991473533E-15,30.0));
|
||||
#63=CARTESIAN_POINT('',(-10.000000000000002,-10.0,0.0));
|
||||
#64=CARTESIAN_POINT('',(-10.000000000000002,-10.0,30.0));
|
||||
#65=CARTESIAN_POINT('',(-1.8369701987210296E-15,-10.0,0.0));
|
||||
#66=CARTESIAN_POINT('',(-1.8369701987210296E-15,-10.0,30.0));
|
||||
#67=CARTESIAN_POINT('',(9.999999999999998,-10.000000000000002,0.0));
|
||||
#68=CARTESIAN_POINT('',(9.999999999999998,-10.000000000000002,30.0));
|
||||
#69=CARTESIAN_POINT('',(10.0,-2.4492935982947065E-15,0.0));
|
||||
#70=CARTESIAN_POINT('',(10.0,-2.4492935982947065E-15,30.0));
|
||||
#71=( BOUNDED_SURFACE() B_SPLINE_SURFACE(2,1,((#53,#54),(#55,#56),(#57,#58),(#59,#60),(#61,#62),(#63,#64),(#65,#66),(#67,#68),(#69,#70)),.UNSPECIFIED.,.T.,.F.,.F.) B_SPLINE_SURFACE_WITH_KNOTS((3,2,2,2,3),(2,2),(0.0,0.25,0.5,0.75,1.0),(0.0,1.0),.UNSPECIFIED.) GEOMETRIC_REPRESENTATION_ITEM() RATIONAL_B_SPLINE_SURFACE(((1.0,1.0),(0.7071067811865476,0.7071067811865476),(1.0,1.0),(0.7071067811865476,0.7071067811865476),(1.0,1.0),(0.7071067811865476,0.7071067811865476),(1.0,1.0),(0.7071067811865476,0.7071067811865476),(1.0,1.0))) REPRESENTATION_ITEM('') SURFACE() );
|
||||
#72=ORIENTED_EDGE('',*,*,#30,.T.);
|
||||
#73=EDGE_LOOP('',(#72));
|
||||
#74=ORIENTED_EDGE('',*,*,#43,.F.);
|
||||
#75=EDGE_LOOP('',(#74));
|
||||
#76=FACE_OUTER_BOUND('',#73,.T.);
|
||||
#77=FACE_BOUND('',#75,.T.);
|
||||
#78=ADVANCED_FACE('',(#76,#77),#71,.T.);
|
||||
#79=CARTESIAN_POINT('',(0.0,0.0,30.0));
|
||||
#80=DIRECTION('',(0.0,0.0,1.0));
|
||||
#81=DIRECTION('',(1.0,0.0,0.0));
|
||||
#82=AXIS2_PLACEMENT_3D('',#79,#80,#81);
|
||||
#83=PLANE('',#82);
|
||||
#84=ORIENTED_EDGE('',*,*,#43,.T.);
|
||||
#85=EDGE_LOOP('',(#84));
|
||||
#86=FACE_OUTER_BOUND('',#85,.T.);
|
||||
#87=ADVANCED_FACE('',(#86),#83,.T.);
|
||||
#88=CLOSED_SHELL('',(#52,#78,#87));
|
||||
#89=MANIFOLD_SOLID_BREP('',#88);
|
||||
#90=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#17,#89),#5);
|
||||
#91=SHAPE_DEFINITION_REPRESENTATION(#13,#90);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.step"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#1974",
|
||||
"tangency-labs/solidcraft#2043"
|
||||
],
|
||||
"what": "a block whose every plane's axis points into the part and whose faces say same_sense .F. while their FACE_OUTER_BOUND loops run counter-clockwise about the outward normal: the loops are outer bounds, not holes",
|
||||
"source": "analytic",
|
||||
"method": "box 30x20x10: V = 6000; A = 2200; 6 faces, 12 edges, 8 vertices",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 6000.0,
|
||||
"area_mm2": 2200.0,
|
||||
"faces": 6,
|
||||
"edges": 12,
|
||||
"vertices": 8
|
||||
}
|
||||
@@ -0,0 +1,178 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('hand-written test part'),'2;1');
|
||||
FILE_NAME('input.step','2026-10-21T00:00:00',(''),(''),'kernel-cases','kernel-cases','');
|
||||
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(1E-06),#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('flipped','flipped','',(#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,1.0,0.0));
|
||||
#16=VECTOR('',#15,20.0);
|
||||
#17=LINE('',#14,#16);
|
||||
#18=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#19=VERTEX_POINT('',#18);
|
||||
#20=CARTESIAN_POINT('',(0.0,20.0,0.0));
|
||||
#21=VERTEX_POINT('',#20);
|
||||
#22=EDGE_CURVE('',#19,#21,#17,.T.);
|
||||
#23=ORIENTED_EDGE('',*,*,#22,.T.);
|
||||
#24=CARTESIAN_POINT('',(0.0,20.0,0.0));
|
||||
#25=DIRECTION('',(1.0,0.0,0.0));
|
||||
#26=VECTOR('',#25,30.0);
|
||||
#27=LINE('',#24,#26);
|
||||
#28=CARTESIAN_POINT('',(30.0,20.0,0.0));
|
||||
#29=VERTEX_POINT('',#28);
|
||||
#30=EDGE_CURVE('',#21,#29,#27,.T.);
|
||||
#31=ORIENTED_EDGE('',*,*,#30,.T.);
|
||||
#32=CARTESIAN_POINT('',(30.0,0.0,0.0));
|
||||
#33=DIRECTION('',(0.0,1.0,0.0));
|
||||
#34=VECTOR('',#33,20.0);
|
||||
#35=LINE('',#32,#34);
|
||||
#36=CARTESIAN_POINT('',(30.0,0.0,0.0));
|
||||
#37=VERTEX_POINT('',#36);
|
||||
#38=EDGE_CURVE('',#37,#29,#35,.T.);
|
||||
#39=ORIENTED_EDGE('',*,*,#38,.F.);
|
||||
#40=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#41=DIRECTION('',(1.0,0.0,0.0));
|
||||
#42=VECTOR('',#41,30.0);
|
||||
#43=LINE('',#40,#42);
|
||||
#44=EDGE_CURVE('',#19,#37,#43,.T.);
|
||||
#45=ORIENTED_EDGE('',*,*,#44,.F.);
|
||||
#46=EDGE_LOOP('',(#23,#31,#39,#45));
|
||||
#47=FACE_OUTER_BOUND('',#46,.T.);
|
||||
#48=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#49=DIRECTION('',(0.0,0.0,1.0));
|
||||
#50=DIRECTION('',(1.0,0.0,0.0));
|
||||
#51=AXIS2_PLACEMENT_3D('',#48,#49,#50);
|
||||
#52=PLANE('',#51);
|
||||
#53=ADVANCED_FACE('',(#47),#52,.F.);
|
||||
#54=CARTESIAN_POINT('',(0.0,0.0,10.0));
|
||||
#55=DIRECTION('',(1.0,0.0,0.0));
|
||||
#56=VECTOR('',#55,30.0);
|
||||
#57=LINE('',#54,#56);
|
||||
#58=CARTESIAN_POINT('',(0.0,0.0,10.0));
|
||||
#59=VERTEX_POINT('',#58);
|
||||
#60=CARTESIAN_POINT('',(30.0,0.0,10.0));
|
||||
#61=VERTEX_POINT('',#60);
|
||||
#62=EDGE_CURVE('',#59,#61,#57,.T.);
|
||||
#63=ORIENTED_EDGE('',*,*,#62,.T.);
|
||||
#64=CARTESIAN_POINT('',(30.0,0.0,10.0));
|
||||
#65=DIRECTION('',(0.0,1.0,0.0));
|
||||
#66=VECTOR('',#65,20.0);
|
||||
#67=LINE('',#64,#66);
|
||||
#68=CARTESIAN_POINT('',(30.0,20.0,10.0));
|
||||
#69=VERTEX_POINT('',#68);
|
||||
#70=EDGE_CURVE('',#61,#69,#67,.T.);
|
||||
#71=ORIENTED_EDGE('',*,*,#70,.T.);
|
||||
#72=CARTESIAN_POINT('',(0.0,20.0,10.0));
|
||||
#73=DIRECTION('',(1.0,0.0,0.0));
|
||||
#74=VECTOR('',#73,30.0);
|
||||
#75=LINE('',#72,#74);
|
||||
#76=CARTESIAN_POINT('',(0.0,20.0,10.0));
|
||||
#77=VERTEX_POINT('',#76);
|
||||
#78=EDGE_CURVE('',#77,#69,#75,.T.);
|
||||
#79=ORIENTED_EDGE('',*,*,#78,.F.);
|
||||
#80=CARTESIAN_POINT('',(0.0,0.0,10.0));
|
||||
#81=DIRECTION('',(0.0,1.0,0.0));
|
||||
#82=VECTOR('',#81,20.0);
|
||||
#83=LINE('',#80,#82);
|
||||
#84=EDGE_CURVE('',#59,#77,#83,.T.);
|
||||
#85=ORIENTED_EDGE('',*,*,#84,.F.);
|
||||
#86=EDGE_LOOP('',(#63,#71,#79,#85));
|
||||
#87=FACE_OUTER_BOUND('',#86,.T.);
|
||||
#88=CARTESIAN_POINT('',(0.0,0.0,10.0));
|
||||
#89=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#90=DIRECTION('',(1.0,0.0,0.0));
|
||||
#91=AXIS2_PLACEMENT_3D('',#88,#89,#90);
|
||||
#92=PLANE('',#91);
|
||||
#93=ADVANCED_FACE('',(#87),#92,.F.);
|
||||
#94=ORIENTED_EDGE('',*,*,#44,.T.);
|
||||
#95=CARTESIAN_POINT('',(30.0,0.0,0.0));
|
||||
#96=DIRECTION('',(0.0,0.0,1.0));
|
||||
#97=VECTOR('',#96,10.0);
|
||||
#98=LINE('',#95,#97);
|
||||
#99=EDGE_CURVE('',#37,#61,#98,.T.);
|
||||
#100=ORIENTED_EDGE('',*,*,#99,.T.);
|
||||
#101=ORIENTED_EDGE('',*,*,#62,.F.);
|
||||
#102=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#103=DIRECTION('',(0.0,0.0,1.0));
|
||||
#104=VECTOR('',#103,10.0);
|
||||
#105=LINE('',#102,#104);
|
||||
#106=EDGE_CURVE('',#19,#59,#105,.T.);
|
||||
#107=ORIENTED_EDGE('',*,*,#106,.F.);
|
||||
#108=EDGE_LOOP('',(#94,#100,#101,#107));
|
||||
#109=FACE_OUTER_BOUND('',#108,.T.);
|
||||
#110=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#111=DIRECTION('',(0.0,1.0,0.0));
|
||||
#112=DIRECTION('',(1.0,0.0,0.0));
|
||||
#113=AXIS2_PLACEMENT_3D('',#110,#111,#112);
|
||||
#114=PLANE('',#113);
|
||||
#115=ADVANCED_FACE('',(#109),#114,.F.);
|
||||
#116=CARTESIAN_POINT('',(0.0,20.0,0.0));
|
||||
#117=DIRECTION('',(0.0,0.0,1.0));
|
||||
#118=VECTOR('',#117,10.0);
|
||||
#119=LINE('',#116,#118);
|
||||
#120=EDGE_CURVE('',#21,#77,#119,.T.);
|
||||
#121=ORIENTED_EDGE('',*,*,#120,.T.);
|
||||
#122=ORIENTED_EDGE('',*,*,#78,.T.);
|
||||
#123=CARTESIAN_POINT('',(30.0,20.0,0.0));
|
||||
#124=DIRECTION('',(0.0,0.0,1.0));
|
||||
#125=VECTOR('',#124,10.0);
|
||||
#126=LINE('',#123,#125);
|
||||
#127=EDGE_CURVE('',#29,#69,#126,.T.);
|
||||
#128=ORIENTED_EDGE('',*,*,#127,.F.);
|
||||
#129=ORIENTED_EDGE('',*,*,#30,.F.);
|
||||
#130=EDGE_LOOP('',(#121,#122,#128,#129));
|
||||
#131=FACE_OUTER_BOUND('',#130,.T.);
|
||||
#132=CARTESIAN_POINT('',(0.0,20.0,0.0));
|
||||
#133=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#134=DIRECTION('',(1.0,0.0,0.0));
|
||||
#135=AXIS2_PLACEMENT_3D('',#132,#133,#134);
|
||||
#136=PLANE('',#135);
|
||||
#137=ADVANCED_FACE('',(#131),#136,.F.);
|
||||
#138=ORIENTED_EDGE('',*,*,#106,.T.);
|
||||
#139=ORIENTED_EDGE('',*,*,#84,.T.);
|
||||
#140=ORIENTED_EDGE('',*,*,#120,.F.);
|
||||
#141=ORIENTED_EDGE('',*,*,#22,.F.);
|
||||
#142=EDGE_LOOP('',(#138,#139,#140,#141));
|
||||
#143=FACE_OUTER_BOUND('',#142,.T.);
|
||||
#144=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#145=DIRECTION('',(1.0,0.0,0.0));
|
||||
#146=DIRECTION('',(0.0,1.0,0.0));
|
||||
#147=AXIS2_PLACEMENT_3D('',#144,#145,#146);
|
||||
#148=PLANE('',#147);
|
||||
#149=ADVANCED_FACE('',(#143),#148,.F.);
|
||||
#150=ORIENTED_EDGE('',*,*,#38,.T.);
|
||||
#151=ORIENTED_EDGE('',*,*,#127,.T.);
|
||||
#152=ORIENTED_EDGE('',*,*,#70,.F.);
|
||||
#153=ORIENTED_EDGE('',*,*,#99,.F.);
|
||||
#154=EDGE_LOOP('',(#150,#151,#152,#153));
|
||||
#155=FACE_OUTER_BOUND('',#154,.T.);
|
||||
#156=CARTESIAN_POINT('',(30.0,0.0,0.0));
|
||||
#157=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#158=DIRECTION('',(0.0,1.0,0.0));
|
||||
#159=AXIS2_PLACEMENT_3D('',#156,#157,#158);
|
||||
#160=PLANE('',#159);
|
||||
#161=ADVANCED_FACE('',(#155),#160,.F.);
|
||||
#162=CLOSED_SHELL('',(#53,#93,#115,#137,#149,#161));
|
||||
#163=MANIFOLD_SOLID_BREP('block',#162);
|
||||
#164=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#165=DIRECTION('',(0.0,0.0,1.0));
|
||||
#166=DIRECTION('',(1.0,0.0,0.0));
|
||||
#167=AXIS2_PLACEMENT_3D('',#164,#165,#166);
|
||||
#168=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#167,#163),#5);
|
||||
#169=SHAPE_DEFINITION_REPRESENTATION(#13,#168);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.step"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3098"
|
||||
],
|
||||
"what": "a block whose 12 straight edges are degree-1 B-spline curves over a knot span of 1e-7 (as NX writes short edges); the faces must be kept",
|
||||
"source": "analytic",
|
||||
"method": "box 30x20x10: V = 6000; A = 2(600+300+200) = 2200; 6 faces, 12 edges, 8 vertices",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 6000.0,
|
||||
"area_mm2": 2200.0,
|
||||
"faces": 6,
|
||||
"edges": 12,
|
||||
"vertices": 8
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('hand-written test part'),'2;1');
|
||||
FILE_NAME('input.step','2026-10-21T00:00:00',(''),(''),'kernel-cases','kernel-cases','');
|
||||
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(1E-06),#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('nxblock','nxblock','',(#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=CARTESIAN_POINT('',(0.0,20.0,0.0));
|
||||
#16=B_SPLINE_CURVE_WITH_KNOTS('',1,(#14,#15),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.E-7),.UNSPECIFIED.);
|
||||
#17=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#18=VERTEX_POINT('',#17);
|
||||
#19=CARTESIAN_POINT('',(0.0,20.0,0.0));
|
||||
#20=VERTEX_POINT('',#19);
|
||||
#21=EDGE_CURVE('',#18,#20,#16,.T.);
|
||||
#22=ORIENTED_EDGE('',*,*,#21,.T.);
|
||||
#23=CARTESIAN_POINT('',(0.0,20.0,0.0));
|
||||
#24=CARTESIAN_POINT('',(30.0,20.0,0.0));
|
||||
#25=B_SPLINE_CURVE_WITH_KNOTS('',1,(#23,#24),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.E-7),.UNSPECIFIED.);
|
||||
#26=CARTESIAN_POINT('',(30.0,20.0,0.0));
|
||||
#27=VERTEX_POINT('',#26);
|
||||
#28=EDGE_CURVE('',#20,#27,#25,.T.);
|
||||
#29=ORIENTED_EDGE('',*,*,#28,.T.);
|
||||
#30=CARTESIAN_POINT('',(30.0,0.0,0.0));
|
||||
#31=CARTESIAN_POINT('',(30.0,20.0,0.0));
|
||||
#32=B_SPLINE_CURVE_WITH_KNOTS('',1,(#30,#31),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.E-7),.UNSPECIFIED.);
|
||||
#33=CARTESIAN_POINT('',(30.0,0.0,0.0));
|
||||
#34=VERTEX_POINT('',#33);
|
||||
#35=EDGE_CURVE('',#34,#27,#32,.T.);
|
||||
#36=ORIENTED_EDGE('',*,*,#35,.F.);
|
||||
#37=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#38=CARTESIAN_POINT('',(30.0,0.0,0.0));
|
||||
#39=B_SPLINE_CURVE_WITH_KNOTS('',1,(#37,#38),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.E-7),.UNSPECIFIED.);
|
||||
#40=EDGE_CURVE('',#18,#34,#39,.T.);
|
||||
#41=ORIENTED_EDGE('',*,*,#40,.F.);
|
||||
#42=EDGE_LOOP('',(#22,#29,#36,#41));
|
||||
#43=FACE_OUTER_BOUND('',#42,.T.);
|
||||
#44=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#45=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#46=DIRECTION('',(1.0,0.0,0.0));
|
||||
#47=AXIS2_PLACEMENT_3D('',#44,#45,#46);
|
||||
#48=PLANE('',#47);
|
||||
#49=ADVANCED_FACE('',(#43),#48,.T.);
|
||||
#50=CARTESIAN_POINT('',(0.0,0.0,10.0));
|
||||
#51=CARTESIAN_POINT('',(30.0,0.0,10.0));
|
||||
#52=B_SPLINE_CURVE_WITH_KNOTS('',1,(#50,#51),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.E-7),.UNSPECIFIED.);
|
||||
#53=CARTESIAN_POINT('',(0.0,0.0,10.0));
|
||||
#54=VERTEX_POINT('',#53);
|
||||
#55=CARTESIAN_POINT('',(30.0,0.0,10.0));
|
||||
#56=VERTEX_POINT('',#55);
|
||||
#57=EDGE_CURVE('',#54,#56,#52,.T.);
|
||||
#58=ORIENTED_EDGE('',*,*,#57,.T.);
|
||||
#59=CARTESIAN_POINT('',(30.0,0.0,10.0));
|
||||
#60=CARTESIAN_POINT('',(30.0,20.0,10.0));
|
||||
#61=B_SPLINE_CURVE_WITH_KNOTS('',1,(#59,#60),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.E-7),.UNSPECIFIED.);
|
||||
#62=CARTESIAN_POINT('',(30.0,20.0,10.0));
|
||||
#63=VERTEX_POINT('',#62);
|
||||
#64=EDGE_CURVE('',#56,#63,#61,.T.);
|
||||
#65=ORIENTED_EDGE('',*,*,#64,.T.);
|
||||
#66=CARTESIAN_POINT('',(0.0,20.0,10.0));
|
||||
#67=CARTESIAN_POINT('',(30.0,20.0,10.0));
|
||||
#68=B_SPLINE_CURVE_WITH_KNOTS('',1,(#66,#67),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.E-7),.UNSPECIFIED.);
|
||||
#69=CARTESIAN_POINT('',(0.0,20.0,10.0));
|
||||
#70=VERTEX_POINT('',#69);
|
||||
#71=EDGE_CURVE('',#70,#63,#68,.T.);
|
||||
#72=ORIENTED_EDGE('',*,*,#71,.F.);
|
||||
#73=CARTESIAN_POINT('',(0.0,0.0,10.0));
|
||||
#74=CARTESIAN_POINT('',(0.0,20.0,10.0));
|
||||
#75=B_SPLINE_CURVE_WITH_KNOTS('',1,(#73,#74),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.E-7),.UNSPECIFIED.);
|
||||
#76=EDGE_CURVE('',#54,#70,#75,.T.);
|
||||
#77=ORIENTED_EDGE('',*,*,#76,.F.);
|
||||
#78=EDGE_LOOP('',(#58,#65,#72,#77));
|
||||
#79=FACE_OUTER_BOUND('',#78,.T.);
|
||||
#80=CARTESIAN_POINT('',(0.0,0.0,10.0));
|
||||
#81=DIRECTION('',(0.0,0.0,1.0));
|
||||
#82=DIRECTION('',(1.0,0.0,0.0));
|
||||
#83=AXIS2_PLACEMENT_3D('',#80,#81,#82);
|
||||
#84=PLANE('',#83);
|
||||
#85=ADVANCED_FACE('',(#79),#84,.T.);
|
||||
#86=ORIENTED_EDGE('',*,*,#40,.T.);
|
||||
#87=CARTESIAN_POINT('',(30.0,0.0,0.0));
|
||||
#88=CARTESIAN_POINT('',(30.0,0.0,10.0));
|
||||
#89=B_SPLINE_CURVE_WITH_KNOTS('',1,(#87,#88),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.E-7),.UNSPECIFIED.);
|
||||
#90=EDGE_CURVE('',#34,#56,#89,.T.);
|
||||
#91=ORIENTED_EDGE('',*,*,#90,.T.);
|
||||
#92=ORIENTED_EDGE('',*,*,#57,.F.);
|
||||
#93=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#94=CARTESIAN_POINT('',(0.0,0.0,10.0));
|
||||
#95=B_SPLINE_CURVE_WITH_KNOTS('',1,(#93,#94),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.E-7),.UNSPECIFIED.);
|
||||
#96=EDGE_CURVE('',#18,#54,#95,.T.);
|
||||
#97=ORIENTED_EDGE('',*,*,#96,.F.);
|
||||
#98=EDGE_LOOP('',(#86,#91,#92,#97));
|
||||
#99=FACE_OUTER_BOUND('',#98,.T.);
|
||||
#100=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#101=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#102=DIRECTION('',(1.0,0.0,0.0));
|
||||
#103=AXIS2_PLACEMENT_3D('',#100,#101,#102);
|
||||
#104=PLANE('',#103);
|
||||
#105=ADVANCED_FACE('',(#99),#104,.T.);
|
||||
#106=CARTESIAN_POINT('',(0.0,20.0,0.0));
|
||||
#107=CARTESIAN_POINT('',(0.0,20.0,10.0));
|
||||
#108=B_SPLINE_CURVE_WITH_KNOTS('',1,(#106,#107),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.E-7),.UNSPECIFIED.);
|
||||
#109=EDGE_CURVE('',#20,#70,#108,.T.);
|
||||
#110=ORIENTED_EDGE('',*,*,#109,.T.);
|
||||
#111=ORIENTED_EDGE('',*,*,#71,.T.);
|
||||
#112=CARTESIAN_POINT('',(30.0,20.0,0.0));
|
||||
#113=CARTESIAN_POINT('',(30.0,20.0,10.0));
|
||||
#114=B_SPLINE_CURVE_WITH_KNOTS('',1,(#112,#113),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.E-7),.UNSPECIFIED.);
|
||||
#115=EDGE_CURVE('',#27,#63,#114,.T.);
|
||||
#116=ORIENTED_EDGE('',*,*,#115,.F.);
|
||||
#117=ORIENTED_EDGE('',*,*,#28,.F.);
|
||||
#118=EDGE_LOOP('',(#110,#111,#116,#117));
|
||||
#119=FACE_OUTER_BOUND('',#118,.T.);
|
||||
#120=CARTESIAN_POINT('',(0.0,20.0,0.0));
|
||||
#121=DIRECTION('',(0.0,1.0,0.0));
|
||||
#122=DIRECTION('',(1.0,0.0,0.0));
|
||||
#123=AXIS2_PLACEMENT_3D('',#120,#121,#122);
|
||||
#124=PLANE('',#123);
|
||||
#125=ADVANCED_FACE('',(#119),#124,.T.);
|
||||
#126=ORIENTED_EDGE('',*,*,#96,.T.);
|
||||
#127=ORIENTED_EDGE('',*,*,#76,.T.);
|
||||
#128=ORIENTED_EDGE('',*,*,#109,.F.);
|
||||
#129=ORIENTED_EDGE('',*,*,#21,.F.);
|
||||
#130=EDGE_LOOP('',(#126,#127,#128,#129));
|
||||
#131=FACE_OUTER_BOUND('',#130,.T.);
|
||||
#132=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#133=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#134=DIRECTION('',(0.0,1.0,0.0));
|
||||
#135=AXIS2_PLACEMENT_3D('',#132,#133,#134);
|
||||
#136=PLANE('',#135);
|
||||
#137=ADVANCED_FACE('',(#131),#136,.T.);
|
||||
#138=ORIENTED_EDGE('',*,*,#35,.T.);
|
||||
#139=ORIENTED_EDGE('',*,*,#115,.T.);
|
||||
#140=ORIENTED_EDGE('',*,*,#64,.F.);
|
||||
#141=ORIENTED_EDGE('',*,*,#90,.F.);
|
||||
#142=EDGE_LOOP('',(#138,#139,#140,#141));
|
||||
#143=FACE_OUTER_BOUND('',#142,.T.);
|
||||
#144=CARTESIAN_POINT('',(30.0,0.0,0.0));
|
||||
#145=DIRECTION('',(1.0,0.0,0.0));
|
||||
#146=DIRECTION('',(0.0,1.0,0.0));
|
||||
#147=AXIS2_PLACEMENT_3D('',#144,#145,#146);
|
||||
#148=PLANE('',#147);
|
||||
#149=ADVANCED_FACE('',(#143),#148,.T.);
|
||||
#150=CLOSED_SHELL('',(#49,#85,#105,#125,#137,#149));
|
||||
#151=MANIFOLD_SOLID_BREP('block',#150);
|
||||
#152=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#153=DIRECTION('',(0.0,0.0,1.0));
|
||||
#154=DIRECTION('',(1.0,0.0,0.0));
|
||||
#155=AXIS2_PLACEMENT_3D('',#152,#153,#154);
|
||||
#156=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#155,#151),#5);
|
||||
#157=SHAPE_DEFINITION_REPRESENTATION(#13,#156);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.step"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3120",
|
||||
"tangency-labs/solidcraft#3208"
|
||||
],
|
||||
"what": "a prism over a circular segment whose curved side lies on a SURFACE_OF_LINEAR_EXTRUSION of an ELLIPSE (a = b = 10) and spans the ellipse's parameter origin (-60 to +60 degrees): the face must cover only the narrow segment side, not wrap the ellipse",
|
||||
"source": "analytic",
|
||||
"method": "segment of a circle r=10 over theta=2pi/3: A_seg = r^2/2 (theta - sin theta) = 61.418485; height 5; V = A_seg*h = 307.0924; A = 2*A_seg + chord 2 r sin(theta/2)*h + arc r*theta*h = 314.1593; 4 faces, 6 edges, 4 vertices",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 307.0924,
|
||||
"area_mm2": 314.1593,
|
||||
"faces": 4,
|
||||
"edges": 6,
|
||||
"vertices": 4
|
||||
}
|
||||
@@ -0,0 +1,117 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('hand-written test part'),'2;1');
|
||||
FILE_NAME('input.step','2026-10-21T00:00:00',(''),(''),'kernel-cases','kernel-cases','');
|
||||
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(1E-06),#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('segment','segment','',(#8));
|
||||
#11=PRODUCT_DEFINITION_FORMATION('','',#10);
|
||||
#12=PRODUCT_DEFINITION('design','',#11,#9);
|
||||
#13=PRODUCT_DEFINITION_SHAPE('','',#12);
|
||||
#14=CARTESIAN_POINT('',(5.000000000000001,-8.660254037844386,0.0));
|
||||
#15=VERTEX_POINT('',#14);
|
||||
#16=CARTESIAN_POINT('',(5.000000000000001,8.660254037844386,0.0));
|
||||
#17=VERTEX_POINT('',#16);
|
||||
#18=CARTESIAN_POINT('',(5.000000000000001,8.660254037844386,5.0));
|
||||
#19=VERTEX_POINT('',#18);
|
||||
#20=CARTESIAN_POINT('',(5.000000000000001,-8.660254037844386,5.0));
|
||||
#21=VERTEX_POINT('',#20);
|
||||
#22=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#23=DIRECTION('',(0.0,0.0,1.0));
|
||||
#24=DIRECTION('',(1.0,0.0,0.0));
|
||||
#25=AXIS2_PLACEMENT_3D('',#22,#23,#24);
|
||||
#26=ELLIPSE('',#25,10.0,10.0);
|
||||
#27=EDGE_CURVE('',#15,#17,#26,.T.);
|
||||
#28=CARTESIAN_POINT('',(0.0,0.0,5.0));
|
||||
#29=DIRECTION('',(0.0,0.0,1.0));
|
||||
#30=DIRECTION('',(1.0,0.0,0.0));
|
||||
#31=AXIS2_PLACEMENT_3D('',#28,#29,#30);
|
||||
#32=ELLIPSE('',#31,10.0,10.0);
|
||||
#33=EDGE_CURVE('',#21,#19,#32,.T.);
|
||||
#34=CARTESIAN_POINT('',(5.000000000000001,8.660254037844386,0.0));
|
||||
#35=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#36=VECTOR('',#35,17.32050807568877);
|
||||
#37=LINE('',#34,#36);
|
||||
#38=EDGE_CURVE('',#17,#15,#37,.T.);
|
||||
#39=CARTESIAN_POINT('',(5.000000000000001,8.660254037844386,5.0));
|
||||
#40=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#41=VECTOR('',#40,17.32050807568877);
|
||||
#42=LINE('',#39,#41);
|
||||
#43=EDGE_CURVE('',#19,#21,#42,.T.);
|
||||
#44=CARTESIAN_POINT('',(5.000000000000001,8.660254037844386,0.0));
|
||||
#45=DIRECTION('',(0.0,0.0,1.0));
|
||||
#46=VECTOR('',#45,5.0);
|
||||
#47=LINE('',#44,#46);
|
||||
#48=EDGE_CURVE('',#17,#19,#47,.T.);
|
||||
#49=CARTESIAN_POINT('',(5.000000000000001,-8.660254037844386,0.0));
|
||||
#50=DIRECTION('',(0.0,0.0,1.0));
|
||||
#51=VECTOR('',#50,5.0);
|
||||
#52=LINE('',#49,#51);
|
||||
#53=EDGE_CURVE('',#15,#21,#52,.T.);
|
||||
#54=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#55=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#56=DIRECTION('',(1.0,0.0,0.0));
|
||||
#57=AXIS2_PLACEMENT_3D('',#54,#55,#56);
|
||||
#58=PLANE('',#57);
|
||||
#59=ORIENTED_EDGE('',*,*,#38,.F.);
|
||||
#60=ORIENTED_EDGE('',*,*,#27,.F.);
|
||||
#61=EDGE_LOOP('',(#59,#60));
|
||||
#62=FACE_OUTER_BOUND('',#61,.T.);
|
||||
#63=ADVANCED_FACE('',(#62),#58,.T.);
|
||||
#64=CARTESIAN_POINT('',(0.0,0.0,5.0));
|
||||
#65=DIRECTION('',(0.0,0.0,1.0));
|
||||
#66=DIRECTION('',(1.0,0.0,0.0));
|
||||
#67=AXIS2_PLACEMENT_3D('',#64,#65,#66);
|
||||
#68=PLANE('',#67);
|
||||
#69=ORIENTED_EDGE('',*,*,#33,.T.);
|
||||
#70=ORIENTED_EDGE('',*,*,#43,.T.);
|
||||
#71=EDGE_LOOP('',(#69,#70));
|
||||
#72=FACE_OUTER_BOUND('',#71,.T.);
|
||||
#73=ADVANCED_FACE('',(#72),#68,.T.);
|
||||
#74=CARTESIAN_POINT('',(5.000000000000001,0.0,0.0));
|
||||
#75=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#76=DIRECTION('',(0.0,1.0,0.0));
|
||||
#77=AXIS2_PLACEMENT_3D('',#74,#75,#76);
|
||||
#78=PLANE('',#77);
|
||||
#79=ORIENTED_EDGE('',*,*,#53,.T.);
|
||||
#80=ORIENTED_EDGE('',*,*,#43,.F.);
|
||||
#81=ORIENTED_EDGE('',*,*,#48,.F.);
|
||||
#82=ORIENTED_EDGE('',*,*,#38,.T.);
|
||||
#83=EDGE_LOOP('',(#79,#80,#81,#82));
|
||||
#84=FACE_OUTER_BOUND('',#83,.T.);
|
||||
#85=ADVANCED_FACE('',(#84),#78,.T.);
|
||||
#86=CARTESIAN_POINT('',(0.0,0.0,0.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=ELLIPSE('',#89,10.0,10.0);
|
||||
#91=DIRECTION('',(0.0,0.0,1.0));
|
||||
#92=VECTOR('',#91,1.);
|
||||
#93=SURFACE_OF_LINEAR_EXTRUSION('',#90,#92);
|
||||
#94=ORIENTED_EDGE('',*,*,#27,.T.);
|
||||
#95=ORIENTED_EDGE('',*,*,#48,.T.);
|
||||
#96=ORIENTED_EDGE('',*,*,#33,.F.);
|
||||
#97=ORIENTED_EDGE('',*,*,#53,.F.);
|
||||
#98=EDGE_LOOP('',(#94,#95,#96,#97));
|
||||
#99=FACE_OUTER_BOUND('',#98,.T.);
|
||||
#100=ADVANCED_FACE('',(#99),#93,.T.);
|
||||
#101=CLOSED_SHELL('',(#63,#73,#85,#100));
|
||||
#102=MANIFOLD_SOLID_BREP('segment',#101);
|
||||
#103=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#104=DIRECTION('',(0.0,0.0,1.0));
|
||||
#105=DIRECTION('',(1.0,0.0,0.0));
|
||||
#106=AXIS2_PLACEMENT_3D('',#103,#104,#105);
|
||||
#107=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#106,#102),#5);
|
||||
#108=SHAPE_DEFINITION_REPRESENTATION(#13,#107);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.step"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3351",
|
||||
"tangency-labs/solidcraft#3352"
|
||||
],
|
||||
"what": "a 300 mm square surface whose corner vertex sits 0.19 mm off the end of its edge's curve (the file declares 0.01 mm accuracy): the face must be kept, the vertex snapped onto the curve",
|
||||
"source": "analytic",
|
||||
"method": "one planar face 300 x 300: A = 90000 (the 0.19 mm slip changes it by 0.03%, inside the 1e-3 tolerance); a sheet, not a closed solid, so valid is false; 1 face",
|
||||
"valid": false,
|
||||
"body_count": 1,
|
||||
"area_mm2": 90000.0,
|
||||
"faces": 1
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('hand-written test part'),'2;1');
|
||||
FILE_NAME('input.step','2026-10-21T00:00:00',(''),(''),'kernel-cases','kernel-cases','');
|
||||
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(0.01),#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('panel','panel','',(#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=VERTEX_POINT('',#14);
|
||||
#16=CARTESIAN_POINT('',(300.0,0.19,0.0));
|
||||
#17=VERTEX_POINT('',#16);
|
||||
#18=CARTESIAN_POINT('',(300.0,300.0,0.0));
|
||||
#19=VERTEX_POINT('',#18);
|
||||
#20=CARTESIAN_POINT('',(0.0,300.0,0.0));
|
||||
#21=VERTEX_POINT('',#20);
|
||||
#22=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#23=DIRECTION('',(1.0,0.0,0.0));
|
||||
#24=VECTOR('',#23,300.0);
|
||||
#25=LINE('',#22,#24);
|
||||
#26=EDGE_CURVE('',#15,#17,#25,.T.);
|
||||
#27=CARTESIAN_POINT('',(300.0,0.0,0.0));
|
||||
#28=DIRECTION('',(0.0,1.0,0.0));
|
||||
#29=VECTOR('',#28,300.0);
|
||||
#30=LINE('',#27,#29);
|
||||
#31=EDGE_CURVE('',#17,#19,#30,.T.);
|
||||
#32=CARTESIAN_POINT('',(300.0,300.0,0.0));
|
||||
#33=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#34=VECTOR('',#33,300.0);
|
||||
#35=LINE('',#32,#34);
|
||||
#36=EDGE_CURVE('',#19,#21,#35,.T.);
|
||||
#37=CARTESIAN_POINT('',(0.0,300.0,0.0));
|
||||
#38=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#39=VECTOR('',#38,300.0);
|
||||
#40=LINE('',#37,#39);
|
||||
#41=EDGE_CURVE('',#21,#15,#40,.T.);
|
||||
#42=ORIENTED_EDGE('',*,*,#26,.T.);
|
||||
#43=ORIENTED_EDGE('',*,*,#31,.T.);
|
||||
#44=ORIENTED_EDGE('',*,*,#36,.T.);
|
||||
#45=ORIENTED_EDGE('',*,*,#41,.T.);
|
||||
#46=EDGE_LOOP('',(#42,#43,#44,#45));
|
||||
#47=FACE_OUTER_BOUND('',#46,.T.);
|
||||
#48=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#49=DIRECTION('',(0.0,0.0,1.0));
|
||||
#50=DIRECTION('',(1.0,0.0,0.0));
|
||||
#51=AXIS2_PLACEMENT_3D('',#48,#49,#50);
|
||||
#52=PLANE('',#51);
|
||||
#53=ADVANCED_FACE('',(#47),#52,.T.);
|
||||
#54=OPEN_SHELL('',(#53));
|
||||
#55=SHELL_BASED_SURFACE_MODEL('panel',(#54));
|
||||
#56=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#57=DIRECTION('',(0.0,0.0,1.0));
|
||||
#58=DIRECTION('',(1.0,0.0,0.0));
|
||||
#59=AXIS2_PLACEMENT_3D('',#56,#57,#58);
|
||||
#60=MANIFOLD_SURFACE_SHAPE_REPRESENTATION('',(#59,#55),#5);
|
||||
#61=SHAPE_DEFINITION_REPRESENTATION(#13,#60);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.step"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3358",
|
||||
"tangency-labs/solidcraft#3359"
|
||||
],
|
||||
"what": "a box of six trimmed planes whose composite trim curves have their 2nd and 4th pieces written end to start: every loop must still close",
|
||||
"method": "box 10 x 20 x 30 of six trimmed bilinear patches: V = 6000; A = 2(200+300+600) = 2200; 6 faces",
|
||||
"source": "analytic",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 6000.0,
|
||||
"area_mm2": 2200.0,
|
||||
"faces": 6
|
||||
}
|
||||
@@ -0,0 +1,153 @@
|
||||
test S 1
|
||||
1H,,1H;,,,,,,,,,,,1.,2,2HMM,,,,1.E-6; G 1
|
||||
128 1 0 0 0 0 0 000000000D 1
|
||||
128 0 0 2 0 0 0 0D 2
|
||||
110 3 0 0 0 0 0 000000000D 3
|
||||
110 0 0 1 0 0 0 0D 4
|
||||
110 4 0 0 0 0 0 000000000D 5
|
||||
110 0 0 1 0 0 0 0D 6
|
||||
110 5 0 0 0 0 0 000000000D 7
|
||||
110 0 0 1 0 0 0 0D 8
|
||||
110 6 0 0 0 0 0 000000000D 9
|
||||
110 0 0 1 0 0 0 0D 10
|
||||
102 7 0 0 0 0 0 000000000D 11
|
||||
102 0 0 1 0 0 0 0D 12
|
||||
142 8 0 0 0 0 0 000000000D 13
|
||||
142 0 0 1 0 0 0 0D 14
|
||||
144 9 0 0 0 0 0 000000000D 15
|
||||
144 0 0 1 0 0 0 0D 16
|
||||
128 10 0 0 0 0 0 000000000D 17
|
||||
128 0 0 2 0 0 0 0D 18
|
||||
110 12 0 0 0 0 0 000000000D 19
|
||||
110 0 0 1 0 0 0 0D 20
|
||||
110 13 0 0 0 0 0 000000000D 21
|
||||
110 0 0 1 0 0 0 0D 22
|
||||
110 14 0 0 0 0 0 000000000D 23
|
||||
110 0 0 1 0 0 0 0D 24
|
||||
110 15 0 0 0 0 0 000000000D 25
|
||||
110 0 0 1 0 0 0 0D 26
|
||||
102 16 0 0 0 0 0 000000000D 27
|
||||
102 0 0 1 0 0 0 0D 28
|
||||
142 17 0 0 0 0 0 000000000D 29
|
||||
142 0 0 1 0 0 0 0D 30
|
||||
144 18 0 0 0 0 0 000000000D 31
|
||||
144 0 0 1 0 0 0 0D 32
|
||||
128 19 0 0 0 0 0 000000000D 33
|
||||
128 0 0 2 0 0 0 0D 34
|
||||
110 21 0 0 0 0 0 000000000D 35
|
||||
110 0 0 1 0 0 0 0D 36
|
||||
110 22 0 0 0 0 0 000000000D 37
|
||||
110 0 0 1 0 0 0 0D 38
|
||||
110 23 0 0 0 0 0 000000000D 39
|
||||
110 0 0 1 0 0 0 0D 40
|
||||
110 24 0 0 0 0 0 000000000D 41
|
||||
110 0 0 1 0 0 0 0D 42
|
||||
102 25 0 0 0 0 0 000000000D 43
|
||||
102 0 0 1 0 0 0 0D 44
|
||||
142 26 0 0 0 0 0 000000000D 45
|
||||
142 0 0 1 0 0 0 0D 46
|
||||
144 27 0 0 0 0 0 000000000D 47
|
||||
144 0 0 1 0 0 0 0D 48
|
||||
128 28 0 0 0 0 0 000000000D 49
|
||||
128 0 0 2 0 0 0 0D 50
|
||||
110 30 0 0 0 0 0 000000000D 51
|
||||
110 0 0 1 0 0 0 0D 52
|
||||
110 31 0 0 0 0 0 000000000D 53
|
||||
110 0 0 1 0 0 0 0D 54
|
||||
110 32 0 0 0 0 0 000000000D 55
|
||||
110 0 0 1 0 0 0 0D 56
|
||||
110 33 0 0 0 0 0 000000000D 57
|
||||
110 0 0 1 0 0 0 0D 58
|
||||
102 34 0 0 0 0 0 000000000D 59
|
||||
102 0 0 1 0 0 0 0D 60
|
||||
142 35 0 0 0 0 0 000000000D 61
|
||||
142 0 0 1 0 0 0 0D 62
|
||||
144 36 0 0 0 0 0 000000000D 63
|
||||
144 0 0 1 0 0 0 0D 64
|
||||
128 37 0 0 0 0 0 000000000D 65
|
||||
128 0 0 2 0 0 0 0D 66
|
||||
110 39 0 0 0 0 0 000000000D 67
|
||||
110 0 0 1 0 0 0 0D 68
|
||||
110 40 0 0 0 0 0 000000000D 69
|
||||
110 0 0 1 0 0 0 0D 70
|
||||
110 41 0 0 0 0 0 000000000D 71
|
||||
110 0 0 1 0 0 0 0D 72
|
||||
110 42 0 0 0 0 0 000000000D 73
|
||||
110 0 0 1 0 0 0 0D 74
|
||||
102 43 0 0 0 0 0 000000000D 75
|
||||
102 0 0 1 0 0 0 0D 76
|
||||
142 44 0 0 0 0 0 000000000D 77
|
||||
142 0 0 1 0 0 0 0D 78
|
||||
144 45 0 0 0 0 0 000000000D 79
|
||||
144 0 0 1 0 0 0 0D 80
|
||||
128 46 0 0 0 0 0 000000000D 81
|
||||
128 0 0 2 0 0 0 0D 82
|
||||
110 48 0 0 0 0 0 000000000D 83
|
||||
110 0 0 1 0 0 0 0D 84
|
||||
110 49 0 0 0 0 0 000000000D 85
|
||||
110 0 0 1 0 0 0 0D 86
|
||||
110 50 0 0 0 0 0 000000000D 87
|
||||
110 0 0 1 0 0 0 0D 88
|
||||
110 51 0 0 0 0 0 000000000D 89
|
||||
110 0 0 1 0 0 0 0D 90
|
||||
102 52 0 0 0 0 0 000000000D 91
|
||||
102 0 0 1 0 0 0 0D 92
|
||||
142 53 0 0 0 0 0 000000000D 93
|
||||
142 0 0 1 0 0 0 0D 94
|
||||
144 54 0 0 0 0 0 000000000D 95
|
||||
144 0 0 1 0 0 0 0D 96
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 1P 1
|
||||
0,0.0,0.0,20.0,0.0,10.0,0.0,0.0,10.0,20.0,0.0,0.,1.,0.,1.; 1P 2
|
||||
110,0.0,0.0,0.0,0.0,20.0,0.0; 3P 3
|
||||
110,10.0,20.0,0.0,0.0,20.0,0.0; 5P 4
|
||||
110,10.0,20.0,0.0,10.0,0.0,0.0; 7P 5
|
||||
110,0.0,0.0,0.0,10.0,0.0,0.0; 9P 6
|
||||
102,4,3,5,7,9; 11P 7
|
||||
142,0,1,0,11,2; 13P 8
|
||||
144,1,1,0,13; 15P 9
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 17P 10
|
||||
0,30.0,10.0,0.0,30.0,0.0,20.0,30.0,10.0,20.0,30.0,0.,1.,0.,1.; 17P 11
|
||||
110,0.0,0.0,30.0,10.0,0.0,30.0; 19P 12
|
||||
110,10.0,20.0,30.0,10.0,0.0,30.0; 21P 13
|
||||
110,10.0,20.0,30.0,0.0,20.0,30.0; 23P 14
|
||||
110,0.0,0.0,30.0,0.0,20.0,30.0; 25P 15
|
||||
102,4,19,21,23,25; 27P 16
|
||||
142,0,17,0,27,2; 29P 17
|
||||
144,17,1,0,29; 31P 18
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 33P 19
|
||||
0,0.0,10.0,0.0,0.0,0.0,0.0,30.0,10.0,0.0,30.0,0.,1.,0.,1.; 33P 20
|
||||
110,0.0,0.0,0.0,10.0,0.0,0.0; 35P 21
|
||||
110,10.0,0.0,30.0,10.0,0.0,0.0; 37P 22
|
||||
110,10.0,0.0,30.0,0.0,0.0,30.0; 39P 23
|
||||
110,0.0,0.0,0.0,0.0,0.0,30.0; 41P 24
|
||||
102,4,35,37,39,41; 43P 25
|
||||
142,0,33,0,43,2; 45P 26
|
||||
144,33,1,0,45; 47P 27
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,20 49P 28
|
||||
.0,0.0,0.0,20.0,30.0,10.0,20.0,0.0,10.0,20.0,30.0,0.,1.,0.,1.; 49P 29
|
||||
110,0.0,20.0,0.0,0.0,20.0,30.0; 51P 30
|
||||
110,10.0,20.0,30.0,0.0,20.0,30.0; 53P 31
|
||||
110,10.0,20.0,30.0,10.0,20.0,0.0; 55P 32
|
||||
110,0.0,20.0,0.0,10.0,20.0,0.0; 57P 33
|
||||
102,4,51,53,55,57; 59P 34
|
||||
142,0,49,0,59,2; 61P 35
|
||||
144,49,1,0,61; 63P 36
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 65P 37
|
||||
0,0.0,0.0,0.0,30.0,0.0,20.0,0.0,0.0,20.0,30.0,0.,1.,0.,1.; 65P 38
|
||||
110,0.0,0.0,0.0,0.0,0.0,30.0; 67P 39
|
||||
110,0.0,20.0,30.0,0.0,0.0,30.0; 69P 40
|
||||
110,0.0,20.0,30.0,0.0,20.0,0.0; 71P 41
|
||||
110,0.0,0.0,0.0,0.0,20.0,0.0; 73P 42
|
||||
102,4,67,69,71,73; 75P 43
|
||||
142,0,65,0,75,2; 77P 44
|
||||
144,65,1,0,77; 79P 45
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,10.0,0 81P 46
|
||||
.0,0.0,10.0,20.0,0.0,10.0,0.0,30.0,10.0,20.0,30.0,0.,1.,0.,1.; 81P 47
|
||||
110,10.0,0.0,0.0,10.0,20.0,0.0; 83P 48
|
||||
110,10.0,20.0,30.0,10.0,20.0,0.0; 85P 49
|
||||
110,10.0,20.0,30.0,10.0,0.0,30.0; 87P 50
|
||||
110,10.0,0.0,0.0,10.0,0.0,30.0; 89P 51
|
||||
102,4,83,85,87,89; 91P 52
|
||||
142,0,81,0,91,2; 93P 53
|
||||
144,81,1,0,93; 95P 54
|
||||
T 1
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.igs"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3730",
|
||||
"tangency-labs/solidcraft#3872"
|
||||
],
|
||||
"what": "a block with a closed cavity written as BREP_WITH_VOIDS whose void shell (outward-facing faces) is turned by ORIENTED_CLOSED_SHELL .F.; the cavity must be taken out, not added",
|
||||
"source": "analytic",
|
||||
"method": "V = 40*30*12.5 - 20*6*5 = 15000 - 600; A = 2(40*30+40*12.5+30*12.5) + 2(20*6+20*5+6*5) = 4150 + 500; faces 6+6, edges 12+12, vertices 8+8; valid is false only because a body with a void holds two shells (outer and cavity), which the one-shell validity check does not allow",
|
||||
"valid": false,
|
||||
"body_count": 1,
|
||||
"volume_mm3": 14400.0,
|
||||
"area_mm2": 4650.0,
|
||||
"faces": 12,
|
||||
"edges": 24,
|
||||
"vertices": 16
|
||||
}
|
||||
@@ -0,0 +1,328 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('hand-written test part'),'2;1');
|
||||
FILE_NAME('input.step','2026-10-21T00:00:00',(''),(''),'kernel-cases','kernel-cases','');
|
||||
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(1E-06),#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('hollow','hollow','',(#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,1.0,0.0));
|
||||
#16=VECTOR('',#15,30.0);
|
||||
#17=LINE('',#14,#16);
|
||||
#18=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#19=VERTEX_POINT('',#18);
|
||||
#20=CARTESIAN_POINT('',(0.0,30.0,0.0));
|
||||
#21=VERTEX_POINT('',#20);
|
||||
#22=EDGE_CURVE('',#19,#21,#17,.T.);
|
||||
#23=ORIENTED_EDGE('',*,*,#22,.T.);
|
||||
#24=CARTESIAN_POINT('',(0.0,30.0,0.0));
|
||||
#25=DIRECTION('',(1.0,0.0,0.0));
|
||||
#26=VECTOR('',#25,40.0);
|
||||
#27=LINE('',#24,#26);
|
||||
#28=CARTESIAN_POINT('',(40.0,30.0,0.0));
|
||||
#29=VERTEX_POINT('',#28);
|
||||
#30=EDGE_CURVE('',#21,#29,#27,.T.);
|
||||
#31=ORIENTED_EDGE('',*,*,#30,.T.);
|
||||
#32=CARTESIAN_POINT('',(40.0,0.0,0.0));
|
||||
#33=DIRECTION('',(0.0,1.0,0.0));
|
||||
#34=VECTOR('',#33,30.0);
|
||||
#35=LINE('',#32,#34);
|
||||
#36=CARTESIAN_POINT('',(40.0,0.0,0.0));
|
||||
#37=VERTEX_POINT('',#36);
|
||||
#38=EDGE_CURVE('',#37,#29,#35,.T.);
|
||||
#39=ORIENTED_EDGE('',*,*,#38,.F.);
|
||||
#40=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#41=DIRECTION('',(1.0,0.0,0.0));
|
||||
#42=VECTOR('',#41,40.0);
|
||||
#43=LINE('',#40,#42);
|
||||
#44=EDGE_CURVE('',#19,#37,#43,.T.);
|
||||
#45=ORIENTED_EDGE('',*,*,#44,.F.);
|
||||
#46=EDGE_LOOP('',(#23,#31,#39,#45));
|
||||
#47=FACE_OUTER_BOUND('',#46,.T.);
|
||||
#48=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#49=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#50=DIRECTION('',(1.0,0.0,0.0));
|
||||
#51=AXIS2_PLACEMENT_3D('',#48,#49,#50);
|
||||
#52=PLANE('',#51);
|
||||
#53=ADVANCED_FACE('',(#47),#52,.T.);
|
||||
#54=CARTESIAN_POINT('',(0.0,0.0,12.5));
|
||||
#55=DIRECTION('',(1.0,0.0,0.0));
|
||||
#56=VECTOR('',#55,40.0);
|
||||
#57=LINE('',#54,#56);
|
||||
#58=CARTESIAN_POINT('',(0.0,0.0,12.5));
|
||||
#59=VERTEX_POINT('',#58);
|
||||
#60=CARTESIAN_POINT('',(40.0,0.0,12.5));
|
||||
#61=VERTEX_POINT('',#60);
|
||||
#62=EDGE_CURVE('',#59,#61,#57,.T.);
|
||||
#63=ORIENTED_EDGE('',*,*,#62,.T.);
|
||||
#64=CARTESIAN_POINT('',(40.0,0.0,12.5));
|
||||
#65=DIRECTION('',(0.0,1.0,0.0));
|
||||
#66=VECTOR('',#65,30.0);
|
||||
#67=LINE('',#64,#66);
|
||||
#68=CARTESIAN_POINT('',(40.0,30.0,12.5));
|
||||
#69=VERTEX_POINT('',#68);
|
||||
#70=EDGE_CURVE('',#61,#69,#67,.T.);
|
||||
#71=ORIENTED_EDGE('',*,*,#70,.T.);
|
||||
#72=CARTESIAN_POINT('',(0.0,30.0,12.5));
|
||||
#73=DIRECTION('',(1.0,0.0,0.0));
|
||||
#74=VECTOR('',#73,40.0);
|
||||
#75=LINE('',#72,#74);
|
||||
#76=CARTESIAN_POINT('',(0.0,30.0,12.5));
|
||||
#77=VERTEX_POINT('',#76);
|
||||
#78=EDGE_CURVE('',#77,#69,#75,.T.);
|
||||
#79=ORIENTED_EDGE('',*,*,#78,.F.);
|
||||
#80=CARTESIAN_POINT('',(0.0,0.0,12.5));
|
||||
#81=DIRECTION('',(0.0,1.0,0.0));
|
||||
#82=VECTOR('',#81,30.0);
|
||||
#83=LINE('',#80,#82);
|
||||
#84=EDGE_CURVE('',#59,#77,#83,.T.);
|
||||
#85=ORIENTED_EDGE('',*,*,#84,.F.);
|
||||
#86=EDGE_LOOP('',(#63,#71,#79,#85));
|
||||
#87=FACE_OUTER_BOUND('',#86,.T.);
|
||||
#88=CARTESIAN_POINT('',(0.0,0.0,12.5));
|
||||
#89=DIRECTION('',(0.0,0.0,1.0));
|
||||
#90=DIRECTION('',(1.0,0.0,0.0));
|
||||
#91=AXIS2_PLACEMENT_3D('',#88,#89,#90);
|
||||
#92=PLANE('',#91);
|
||||
#93=ADVANCED_FACE('',(#87),#92,.T.);
|
||||
#94=ORIENTED_EDGE('',*,*,#44,.T.);
|
||||
#95=CARTESIAN_POINT('',(40.0,0.0,0.0));
|
||||
#96=DIRECTION('',(0.0,0.0,1.0));
|
||||
#97=VECTOR('',#96,12.5);
|
||||
#98=LINE('',#95,#97);
|
||||
#99=EDGE_CURVE('',#37,#61,#98,.T.);
|
||||
#100=ORIENTED_EDGE('',*,*,#99,.T.);
|
||||
#101=ORIENTED_EDGE('',*,*,#62,.F.);
|
||||
#102=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#103=DIRECTION('',(0.0,0.0,1.0));
|
||||
#104=VECTOR('',#103,12.5);
|
||||
#105=LINE('',#102,#104);
|
||||
#106=EDGE_CURVE('',#19,#59,#105,.T.);
|
||||
#107=ORIENTED_EDGE('',*,*,#106,.F.);
|
||||
#108=EDGE_LOOP('',(#94,#100,#101,#107));
|
||||
#109=FACE_OUTER_BOUND('',#108,.T.);
|
||||
#110=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#111=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#112=DIRECTION('',(1.0,0.0,0.0));
|
||||
#113=AXIS2_PLACEMENT_3D('',#110,#111,#112);
|
||||
#114=PLANE('',#113);
|
||||
#115=ADVANCED_FACE('',(#109),#114,.T.);
|
||||
#116=CARTESIAN_POINT('',(0.0,30.0,0.0));
|
||||
#117=DIRECTION('',(0.0,0.0,1.0));
|
||||
#118=VECTOR('',#117,12.5);
|
||||
#119=LINE('',#116,#118);
|
||||
#120=EDGE_CURVE('',#21,#77,#119,.T.);
|
||||
#121=ORIENTED_EDGE('',*,*,#120,.T.);
|
||||
#122=ORIENTED_EDGE('',*,*,#78,.T.);
|
||||
#123=CARTESIAN_POINT('',(40.0,30.0,0.0));
|
||||
#124=DIRECTION('',(0.0,0.0,1.0));
|
||||
#125=VECTOR('',#124,12.5);
|
||||
#126=LINE('',#123,#125);
|
||||
#127=EDGE_CURVE('',#29,#69,#126,.T.);
|
||||
#128=ORIENTED_EDGE('',*,*,#127,.F.);
|
||||
#129=ORIENTED_EDGE('',*,*,#30,.F.);
|
||||
#130=EDGE_LOOP('',(#121,#122,#128,#129));
|
||||
#131=FACE_OUTER_BOUND('',#130,.T.);
|
||||
#132=CARTESIAN_POINT('',(0.0,30.0,0.0));
|
||||
#133=DIRECTION('',(0.0,1.0,0.0));
|
||||
#134=DIRECTION('',(1.0,0.0,0.0));
|
||||
#135=AXIS2_PLACEMENT_3D('',#132,#133,#134);
|
||||
#136=PLANE('',#135);
|
||||
#137=ADVANCED_FACE('',(#131),#136,.T.);
|
||||
#138=ORIENTED_EDGE('',*,*,#106,.T.);
|
||||
#139=ORIENTED_EDGE('',*,*,#84,.T.);
|
||||
#140=ORIENTED_EDGE('',*,*,#120,.F.);
|
||||
#141=ORIENTED_EDGE('',*,*,#22,.F.);
|
||||
#142=EDGE_LOOP('',(#138,#139,#140,#141));
|
||||
#143=FACE_OUTER_BOUND('',#142,.T.);
|
||||
#144=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#145=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#146=DIRECTION('',(0.0,1.0,0.0));
|
||||
#147=AXIS2_PLACEMENT_3D('',#144,#145,#146);
|
||||
#148=PLANE('',#147);
|
||||
#149=ADVANCED_FACE('',(#143),#148,.T.);
|
||||
#150=ORIENTED_EDGE('',*,*,#38,.T.);
|
||||
#151=ORIENTED_EDGE('',*,*,#127,.T.);
|
||||
#152=ORIENTED_EDGE('',*,*,#70,.F.);
|
||||
#153=ORIENTED_EDGE('',*,*,#99,.F.);
|
||||
#154=EDGE_LOOP('',(#150,#151,#152,#153));
|
||||
#155=FACE_OUTER_BOUND('',#154,.T.);
|
||||
#156=CARTESIAN_POINT('',(40.0,0.0,0.0));
|
||||
#157=DIRECTION('',(1.0,0.0,0.0));
|
||||
#158=DIRECTION('',(0.0,1.0,0.0));
|
||||
#159=AXIS2_PLACEMENT_3D('',#156,#157,#158);
|
||||
#160=PLANE('',#159);
|
||||
#161=ADVANCED_FACE('',(#155),#160,.T.);
|
||||
#162=CLOSED_SHELL('',(#53,#93,#115,#137,#149,#161));
|
||||
#163=CARTESIAN_POINT('',(10.0,12.0,4.0));
|
||||
#164=DIRECTION('',(0.0,1.0,0.0));
|
||||
#165=VECTOR('',#164,6.0);
|
||||
#166=LINE('',#163,#165);
|
||||
#167=CARTESIAN_POINT('',(10.0,12.0,4.0));
|
||||
#168=VERTEX_POINT('',#167);
|
||||
#169=CARTESIAN_POINT('',(10.0,18.0,4.0));
|
||||
#170=VERTEX_POINT('',#169);
|
||||
#171=EDGE_CURVE('',#168,#170,#166,.T.);
|
||||
#172=ORIENTED_EDGE('',*,*,#171,.T.);
|
||||
#173=CARTESIAN_POINT('',(10.0,18.0,4.0));
|
||||
#174=DIRECTION('',(1.0,0.0,0.0));
|
||||
#175=VECTOR('',#174,20.0);
|
||||
#176=LINE('',#173,#175);
|
||||
#177=CARTESIAN_POINT('',(30.0,18.0,4.0));
|
||||
#178=VERTEX_POINT('',#177);
|
||||
#179=EDGE_CURVE('',#170,#178,#176,.T.);
|
||||
#180=ORIENTED_EDGE('',*,*,#179,.T.);
|
||||
#181=CARTESIAN_POINT('',(30.0,12.0,4.0));
|
||||
#182=DIRECTION('',(0.0,1.0,0.0));
|
||||
#183=VECTOR('',#182,6.0);
|
||||
#184=LINE('',#181,#183);
|
||||
#185=CARTESIAN_POINT('',(30.0,12.0,4.0));
|
||||
#186=VERTEX_POINT('',#185);
|
||||
#187=EDGE_CURVE('',#186,#178,#184,.T.);
|
||||
#188=ORIENTED_EDGE('',*,*,#187,.F.);
|
||||
#189=CARTESIAN_POINT('',(10.0,12.0,4.0));
|
||||
#190=DIRECTION('',(1.0,0.0,0.0));
|
||||
#191=VECTOR('',#190,20.0);
|
||||
#192=LINE('',#189,#191);
|
||||
#193=EDGE_CURVE('',#168,#186,#192,.T.);
|
||||
#194=ORIENTED_EDGE('',*,*,#193,.F.);
|
||||
#195=EDGE_LOOP('',(#172,#180,#188,#194));
|
||||
#196=FACE_OUTER_BOUND('',#195,.T.);
|
||||
#197=CARTESIAN_POINT('',(10.0,12.0,4.0));
|
||||
#198=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#199=DIRECTION('',(1.0,0.0,0.0));
|
||||
#200=AXIS2_PLACEMENT_3D('',#197,#198,#199);
|
||||
#201=PLANE('',#200);
|
||||
#202=ADVANCED_FACE('',(#196),#201,.T.);
|
||||
#203=CARTESIAN_POINT('',(10.0,12.0,9.0));
|
||||
#204=DIRECTION('',(1.0,0.0,0.0));
|
||||
#205=VECTOR('',#204,20.0);
|
||||
#206=LINE('',#203,#205);
|
||||
#207=CARTESIAN_POINT('',(10.0,12.0,9.0));
|
||||
#208=VERTEX_POINT('',#207);
|
||||
#209=CARTESIAN_POINT('',(30.0,12.0,9.0));
|
||||
#210=VERTEX_POINT('',#209);
|
||||
#211=EDGE_CURVE('',#208,#210,#206,.T.);
|
||||
#212=ORIENTED_EDGE('',*,*,#211,.T.);
|
||||
#213=CARTESIAN_POINT('',(30.0,12.0,9.0));
|
||||
#214=DIRECTION('',(0.0,1.0,0.0));
|
||||
#215=VECTOR('',#214,6.0);
|
||||
#216=LINE('',#213,#215);
|
||||
#217=CARTESIAN_POINT('',(30.0,18.0,9.0));
|
||||
#218=VERTEX_POINT('',#217);
|
||||
#219=EDGE_CURVE('',#210,#218,#216,.T.);
|
||||
#220=ORIENTED_EDGE('',*,*,#219,.T.);
|
||||
#221=CARTESIAN_POINT('',(10.0,18.0,9.0));
|
||||
#222=DIRECTION('',(1.0,0.0,0.0));
|
||||
#223=VECTOR('',#222,20.0);
|
||||
#224=LINE('',#221,#223);
|
||||
#225=CARTESIAN_POINT('',(10.0,18.0,9.0));
|
||||
#226=VERTEX_POINT('',#225);
|
||||
#227=EDGE_CURVE('',#226,#218,#224,.T.);
|
||||
#228=ORIENTED_EDGE('',*,*,#227,.F.);
|
||||
#229=CARTESIAN_POINT('',(10.0,12.0,9.0));
|
||||
#230=DIRECTION('',(0.0,1.0,0.0));
|
||||
#231=VECTOR('',#230,6.0);
|
||||
#232=LINE('',#229,#231);
|
||||
#233=EDGE_CURVE('',#208,#226,#232,.T.);
|
||||
#234=ORIENTED_EDGE('',*,*,#233,.F.);
|
||||
#235=EDGE_LOOP('',(#212,#220,#228,#234));
|
||||
#236=FACE_OUTER_BOUND('',#235,.T.);
|
||||
#237=CARTESIAN_POINT('',(10.0,12.0,9.0));
|
||||
#238=DIRECTION('',(0.0,0.0,1.0));
|
||||
#239=DIRECTION('',(1.0,0.0,0.0));
|
||||
#240=AXIS2_PLACEMENT_3D('',#237,#238,#239);
|
||||
#241=PLANE('',#240);
|
||||
#242=ADVANCED_FACE('',(#236),#241,.T.);
|
||||
#243=ORIENTED_EDGE('',*,*,#193,.T.);
|
||||
#244=CARTESIAN_POINT('',(30.0,12.0,4.0));
|
||||
#245=DIRECTION('',(0.0,0.0,1.0));
|
||||
#246=VECTOR('',#245,5.0);
|
||||
#247=LINE('',#244,#246);
|
||||
#248=EDGE_CURVE('',#186,#210,#247,.T.);
|
||||
#249=ORIENTED_EDGE('',*,*,#248,.T.);
|
||||
#250=ORIENTED_EDGE('',*,*,#211,.F.);
|
||||
#251=CARTESIAN_POINT('',(10.0,12.0,4.0));
|
||||
#252=DIRECTION('',(0.0,0.0,1.0));
|
||||
#253=VECTOR('',#252,5.0);
|
||||
#254=LINE('',#251,#253);
|
||||
#255=EDGE_CURVE('',#168,#208,#254,.T.);
|
||||
#256=ORIENTED_EDGE('',*,*,#255,.F.);
|
||||
#257=EDGE_LOOP('',(#243,#249,#250,#256));
|
||||
#258=FACE_OUTER_BOUND('',#257,.T.);
|
||||
#259=CARTESIAN_POINT('',(10.0,12.0,4.0));
|
||||
#260=DIRECTION('',(0.0,-1.0,0.0));
|
||||
#261=DIRECTION('',(1.0,0.0,0.0));
|
||||
#262=AXIS2_PLACEMENT_3D('',#259,#260,#261);
|
||||
#263=PLANE('',#262);
|
||||
#264=ADVANCED_FACE('',(#258),#263,.T.);
|
||||
#265=CARTESIAN_POINT('',(10.0,18.0,4.0));
|
||||
#266=DIRECTION('',(0.0,0.0,1.0));
|
||||
#267=VECTOR('',#266,5.0);
|
||||
#268=LINE('',#265,#267);
|
||||
#269=EDGE_CURVE('',#170,#226,#268,.T.);
|
||||
#270=ORIENTED_EDGE('',*,*,#269,.T.);
|
||||
#271=ORIENTED_EDGE('',*,*,#227,.T.);
|
||||
#272=CARTESIAN_POINT('',(30.0,18.0,4.0));
|
||||
#273=DIRECTION('',(0.0,0.0,1.0));
|
||||
#274=VECTOR('',#273,5.0);
|
||||
#275=LINE('',#272,#274);
|
||||
#276=EDGE_CURVE('',#178,#218,#275,.T.);
|
||||
#277=ORIENTED_EDGE('',*,*,#276,.F.);
|
||||
#278=ORIENTED_EDGE('',*,*,#179,.F.);
|
||||
#279=EDGE_LOOP('',(#270,#271,#277,#278));
|
||||
#280=FACE_OUTER_BOUND('',#279,.T.);
|
||||
#281=CARTESIAN_POINT('',(10.0,18.0,4.0));
|
||||
#282=DIRECTION('',(0.0,1.0,0.0));
|
||||
#283=DIRECTION('',(1.0,0.0,0.0));
|
||||
#284=AXIS2_PLACEMENT_3D('',#281,#282,#283);
|
||||
#285=PLANE('',#284);
|
||||
#286=ADVANCED_FACE('',(#280),#285,.T.);
|
||||
#287=ORIENTED_EDGE('',*,*,#255,.T.);
|
||||
#288=ORIENTED_EDGE('',*,*,#233,.T.);
|
||||
#289=ORIENTED_EDGE('',*,*,#269,.F.);
|
||||
#290=ORIENTED_EDGE('',*,*,#171,.F.);
|
||||
#291=EDGE_LOOP('',(#287,#288,#289,#290));
|
||||
#292=FACE_OUTER_BOUND('',#291,.T.);
|
||||
#293=CARTESIAN_POINT('',(10.0,12.0,4.0));
|
||||
#294=DIRECTION('',(-1.0,0.0,0.0));
|
||||
#295=DIRECTION('',(0.0,1.0,0.0));
|
||||
#296=AXIS2_PLACEMENT_3D('',#293,#294,#295);
|
||||
#297=PLANE('',#296);
|
||||
#298=ADVANCED_FACE('',(#292),#297,.T.);
|
||||
#299=ORIENTED_EDGE('',*,*,#187,.T.);
|
||||
#300=ORIENTED_EDGE('',*,*,#276,.T.);
|
||||
#301=ORIENTED_EDGE('',*,*,#219,.F.);
|
||||
#302=ORIENTED_EDGE('',*,*,#248,.F.);
|
||||
#303=EDGE_LOOP('',(#299,#300,#301,#302));
|
||||
#304=FACE_OUTER_BOUND('',#303,.T.);
|
||||
#305=CARTESIAN_POINT('',(30.0,12.0,4.0));
|
||||
#306=DIRECTION('',(1.0,0.0,0.0));
|
||||
#307=DIRECTION('',(0.0,1.0,0.0));
|
||||
#308=AXIS2_PLACEMENT_3D('',#305,#306,#307);
|
||||
#309=PLANE('',#308);
|
||||
#310=ADVANCED_FACE('',(#304),#309,.T.);
|
||||
#311=CLOSED_SHELL('',(#202,#242,#264,#286,#298,#310));
|
||||
#312=ORIENTED_CLOSED_SHELL('',*,#311,.F.);
|
||||
#313=BREP_WITH_VOIDS('Hollow',#162,(#312));
|
||||
#314=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#315=DIRECTION('',(0.0,0.0,1.0));
|
||||
#316=DIRECTION('',(1.0,0.0,0.0));
|
||||
#317=AXIS2_PLACEMENT_3D('',#314,#315,#316);
|
||||
#318=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#317,#313),#5);
|
||||
#319=SHAPE_DEFINITION_REPRESENTATION(#13,#318);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.step"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3806",
|
||||
"tangency-labs/solidcraft#3813"
|
||||
],
|
||||
"what": "a dome: an IGES surface of revolution (120) of a 60-to-90 degree circular arc (100) of radius 50 centred on the axis, trimmed by a circle at the rim, over a flat base disc; the cap must be 50 mm across and 6.7 mm tall, not a whole sphere",
|
||||
"source": "analytic",
|
||||
"method": "spherical cap R=50 from polar angle 30 deg: rim radius 25, h = R - R cos30 = 6.69873; V = pi h^2 (3R - h)/3 = 6733.8522; A = 2 pi R h + pi 25^2 = 4067.9634; 2 faces; bbox z from 43.3013 to 50",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 6733.8522,
|
||||
"area_mm2": 4067.9634,
|
||||
"faces": 2,
|
||||
"bbox": {
|
||||
"min": [
|
||||
-24.999999999999996,
|
||||
-24.999999999999996,
|
||||
43.3013
|
||||
],
|
||||
"max": [
|
||||
24.999999999999996,
|
||||
24.999999999999996,
|
||||
50.0
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
test S 1
|
||||
1H,,1H;,,,,,,,,,,,1.,2,2HMM,,,,1.E-6; G 1
|
||||
124 1 0 0 0 0 0 000000000D 1
|
||||
124 0 0 1 0 0 0 0D 2
|
||||
110 2 0 0 0 0 0 000000000D 3
|
||||
110 0 0 1 0 0 0 0D 4
|
||||
100 3 0 0 0 0 1 000000000D 5
|
||||
100 0 0 1 0 0 0 0D 6
|
||||
120 4 0 0 0 0 0 000000000D 7
|
||||
120 0 0 1 0 0 0 0D 8
|
||||
100 5 0 0 0 0 0 000000000D 9
|
||||
100 0 0 2 0 0 0 0D 10
|
||||
142 7 0 0 0 0 0 000000000D 11
|
||||
142 0 0 1 0 0 0 0D 12
|
||||
144 8 0 0 0 0 0 000000000D 13
|
||||
144 0 0 1 0 0 0 0D 14
|
||||
128 9 0 0 0 0 0 000000000D 15
|
||||
128 0 0 3 0 0 0 0D 16
|
||||
100 12 0 0 0 0 0 000000000D 17
|
||||
100 0 0 2 0 0 0 0D 18
|
||||
142 14 0 0 0 0 0 000000000D 19
|
||||
142 0 0 1 0 0 0 0D 20
|
||||
144 15 0 0 0 0 0 000000000D 21
|
||||
144 0 0 1 0 0 0 0D 22
|
||||
124,1.,0.,0.,0.,0.,0.,-1.,0.,0.,1.,0.,0.; 1P 1
|
||||
110,0.,0.,0.,0.,0.,1.; 3P 2
|
||||
100,0.,0.,0.,24.999999999999996,43.30127018922194,0.,50.0; 5P 3
|
||||
120,3,5,0.,6.283185307179586; 7P 4
|
||||
100,43.30127018922194,0.,0.,24.999999999999996,0.,24.99999999999 9P 5
|
||||
9996,0.; 9P 6
|
||||
142,0,7,0,9,2; 11P 7
|
||||
144,7,1,0,11; 13P 8
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,-30.0, 15P 9
|
||||
-30.0,43.30127018922194,-30.0,30.0,43.30127018922194,30.0,-30.0, 15P 10
|
||||
43.30127018922194,30.0,30.0,43.30127018922194,0.,1.,0.,1.; 15P 11
|
||||
100,43.30127018922194,0.,0.,24.999999999999996,0.,24.99999999999 17P 12
|
||||
9996,0.; 17P 13
|
||||
142,0,15,0,17,2; 19P 14
|
||||
144,15,1,0,19; 21P 15
|
||||
T 1
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.igs"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3845",
|
||||
"tangency-labs/solidcraft#3846"
|
||||
],
|
||||
"what": "a box of six trimmed planes where the edge (0,0,0)-(0,20,0) stops 0.01 mm short of its end corner in both faces that use it: the small gap must be closed, giving a closed box instead of two dropped faces",
|
||||
"method": "box 10 x 20 x 30 of six trimmed bilinear patches: V = 6000; A = 2(200+300+600) = 2200; 6 faces (the 0.01 mm gap changes nothing within tolerance)",
|
||||
"source": "analytic",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 6000.0,
|
||||
"area_mm2": 2200.0,
|
||||
"faces": 6
|
||||
}
|
||||
@@ -0,0 +1,153 @@
|
||||
test S 1
|
||||
1H,,1H;,,,,,,,,,,,1.,2,2HMM,,,,1.E-6; G 1
|
||||
128 1 0 0 0 0 0 000000000D 1
|
||||
128 0 0 2 0 0 0 0D 2
|
||||
110 3 0 0 0 0 0 000000000D 3
|
||||
110 0 0 1 0 0 0 0D 4
|
||||
110 4 0 0 0 0 0 000000000D 5
|
||||
110 0 0 1 0 0 0 0D 6
|
||||
110 5 0 0 0 0 0 000000000D 7
|
||||
110 0 0 1 0 0 0 0D 8
|
||||
110 6 0 0 0 0 0 000000000D 9
|
||||
110 0 0 1 0 0 0 0D 10
|
||||
102 7 0 0 0 0 0 000000000D 11
|
||||
102 0 0 1 0 0 0 0D 12
|
||||
142 8 0 0 0 0 0 000000000D 13
|
||||
142 0 0 1 0 0 0 0D 14
|
||||
144 9 0 0 0 0 0 000000000D 15
|
||||
144 0 0 1 0 0 0 0D 16
|
||||
128 10 0 0 0 0 0 000000000D 17
|
||||
128 0 0 2 0 0 0 0D 18
|
||||
110 12 0 0 0 0 0 000000000D 19
|
||||
110 0 0 1 0 0 0 0D 20
|
||||
110 13 0 0 0 0 0 000000000D 21
|
||||
110 0 0 1 0 0 0 0D 22
|
||||
110 14 0 0 0 0 0 000000000D 23
|
||||
110 0 0 1 0 0 0 0D 24
|
||||
110 15 0 0 0 0 0 000000000D 25
|
||||
110 0 0 1 0 0 0 0D 26
|
||||
102 16 0 0 0 0 0 000000000D 27
|
||||
102 0 0 1 0 0 0 0D 28
|
||||
142 17 0 0 0 0 0 000000000D 29
|
||||
142 0 0 1 0 0 0 0D 30
|
||||
144 18 0 0 0 0 0 000000000D 31
|
||||
144 0 0 1 0 0 0 0D 32
|
||||
128 19 0 0 0 0 0 000000000D 33
|
||||
128 0 0 2 0 0 0 0D 34
|
||||
110 21 0 0 0 0 0 000000000D 35
|
||||
110 0 0 1 0 0 0 0D 36
|
||||
110 22 0 0 0 0 0 000000000D 37
|
||||
110 0 0 1 0 0 0 0D 38
|
||||
110 23 0 0 0 0 0 000000000D 39
|
||||
110 0 0 1 0 0 0 0D 40
|
||||
110 24 0 0 0 0 0 000000000D 41
|
||||
110 0 0 1 0 0 0 0D 42
|
||||
102 25 0 0 0 0 0 000000000D 43
|
||||
102 0 0 1 0 0 0 0D 44
|
||||
142 26 0 0 0 0 0 000000000D 45
|
||||
142 0 0 1 0 0 0 0D 46
|
||||
144 27 0 0 0 0 0 000000000D 47
|
||||
144 0 0 1 0 0 0 0D 48
|
||||
128 28 0 0 0 0 0 000000000D 49
|
||||
128 0 0 2 0 0 0 0D 50
|
||||
110 30 0 0 0 0 0 000000000D 51
|
||||
110 0 0 1 0 0 0 0D 52
|
||||
110 31 0 0 0 0 0 000000000D 53
|
||||
110 0 0 1 0 0 0 0D 54
|
||||
110 32 0 0 0 0 0 000000000D 55
|
||||
110 0 0 1 0 0 0 0D 56
|
||||
110 33 0 0 0 0 0 000000000D 57
|
||||
110 0 0 1 0 0 0 0D 58
|
||||
102 34 0 0 0 0 0 000000000D 59
|
||||
102 0 0 1 0 0 0 0D 60
|
||||
142 35 0 0 0 0 0 000000000D 61
|
||||
142 0 0 1 0 0 0 0D 62
|
||||
144 36 0 0 0 0 0 000000000D 63
|
||||
144 0 0 1 0 0 0 0D 64
|
||||
128 37 0 0 0 0 0 000000000D 65
|
||||
128 0 0 2 0 0 0 0D 66
|
||||
110 39 0 0 0 0 0 000000000D 67
|
||||
110 0 0 1 0 0 0 0D 68
|
||||
110 40 0 0 0 0 0 000000000D 69
|
||||
110 0 0 1 0 0 0 0D 70
|
||||
110 41 0 0 0 0 0 000000000D 71
|
||||
110 0 0 1 0 0 0 0D 72
|
||||
110 42 0 0 0 0 0 000000000D 73
|
||||
110 0 0 1 0 0 0 0D 74
|
||||
102 43 0 0 0 0 0 000000000D 75
|
||||
102 0 0 1 0 0 0 0D 76
|
||||
142 44 0 0 0 0 0 000000000D 77
|
||||
142 0 0 1 0 0 0 0D 78
|
||||
144 45 0 0 0 0 0 000000000D 79
|
||||
144 0 0 1 0 0 0 0D 80
|
||||
128 46 0 0 0 0 0 000000000D 81
|
||||
128 0 0 2 0 0 0 0D 82
|
||||
110 48 0 0 0 0 0 000000000D 83
|
||||
110 0 0 1 0 0 0 0D 84
|
||||
110 49 0 0 0 0 0 000000000D 85
|
||||
110 0 0 1 0 0 0 0D 86
|
||||
110 50 0 0 0 0 0 000000000D 87
|
||||
110 0 0 1 0 0 0 0D 88
|
||||
110 51 0 0 0 0 0 000000000D 89
|
||||
110 0 0 1 0 0 0 0D 90
|
||||
102 52 0 0 0 0 0 000000000D 91
|
||||
102 0 0 1 0 0 0 0D 92
|
||||
142 53 0 0 0 0 0 000000000D 93
|
||||
142 0 0 1 0 0 0 0D 94
|
||||
144 54 0 0 0 0 0 000000000D 95
|
||||
144 0 0 1 0 0 0 0D 96
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 1P 1
|
||||
0,0.0,0.0,20.0,0.0,10.0,0.0,0.0,10.0,20.0,0.0,0.,1.,0.,1.; 1P 2
|
||||
110,0.0,0.0,0.0,0.0,19.99,0.0; 3P 3
|
||||
110,0.0,20.0,0.0,10.0,20.0,0.0; 5P 4
|
||||
110,10.0,20.0,0.0,10.0,0.0,0.0; 7P 5
|
||||
110,10.0,0.0,0.0,0.0,0.0,0.0; 9P 6
|
||||
102,4,3,5,7,9; 11P 7
|
||||
142,0,1,0,11,2; 13P 8
|
||||
144,1,1,0,13; 15P 9
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 17P 10
|
||||
0,30.0,10.0,0.0,30.0,0.0,20.0,30.0,10.0,20.0,30.0,0.,1.,0.,1.; 17P 11
|
||||
110,0.0,0.0,30.0,10.0,0.0,30.0; 19P 12
|
||||
110,10.0,0.0,30.0,10.0,20.0,30.0; 21P 13
|
||||
110,10.0,20.0,30.0,0.0,20.0,30.0; 23P 14
|
||||
110,0.0,20.0,30.0,0.0,0.0,30.0; 25P 15
|
||||
102,4,19,21,23,25; 27P 16
|
||||
142,0,17,0,27,2; 29P 17
|
||||
144,17,1,0,29; 31P 18
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 33P 19
|
||||
0,0.0,10.0,0.0,0.0,0.0,0.0,30.0,10.0,0.0,30.0,0.,1.,0.,1.; 33P 20
|
||||
110,0.0,0.0,0.0,10.0,0.0,0.0; 35P 21
|
||||
110,10.0,0.0,0.0,10.0,0.0,30.0; 37P 22
|
||||
110,10.0,0.0,30.0,0.0,0.0,30.0; 39P 23
|
||||
110,0.0,0.0,30.0,0.0,0.0,0.0; 41P 24
|
||||
102,4,35,37,39,41; 43P 25
|
||||
142,0,33,0,43,2; 45P 26
|
||||
144,33,1,0,45; 47P 27
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,20 49P 28
|
||||
.0,0.0,0.0,20.0,30.0,10.0,20.0,0.0,10.0,20.0,30.0,0.,1.,0.,1.; 49P 29
|
||||
110,0.0,20.0,0.0,0.0,20.0,30.0; 51P 30
|
||||
110,0.0,20.0,30.0,10.0,20.0,30.0; 53P 31
|
||||
110,10.0,20.0,30.0,10.0,20.0,0.0; 55P 32
|
||||
110,10.0,20.0,0.0,0.0,20.0,0.0; 57P 33
|
||||
102,4,51,53,55,57; 59P 34
|
||||
142,0,49,0,59,2; 61P 35
|
||||
144,49,1,0,61; 63P 36
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 65P 37
|
||||
0,0.0,0.0,0.0,30.0,0.0,20.0,0.0,0.0,20.0,30.0,0.,1.,0.,1.; 65P 38
|
||||
110,0.0,0.0,0.0,0.0,0.0,30.0; 67P 39
|
||||
110,0.0,0.0,30.0,0.0,20.0,30.0; 69P 40
|
||||
110,0.0,20.0,30.0,0.0,20.0,0.0; 71P 41
|
||||
110,0.0,19.99,0.0,0.0,0.0,0.0; 73P 42
|
||||
102,4,67,69,71,73; 75P 43
|
||||
142,0,65,0,75,2; 77P 44
|
||||
144,65,1,0,77; 79P 45
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,10.0,0 81P 46
|
||||
.0,0.0,10.0,20.0,0.0,10.0,0.0,30.0,10.0,20.0,30.0,0.,1.,0.,1.; 81P 47
|
||||
110,10.0,0.0,0.0,10.0,20.0,0.0; 83P 48
|
||||
110,10.0,20.0,0.0,10.0,20.0,30.0; 85P 49
|
||||
110,10.0,20.0,30.0,10.0,0.0,30.0; 87P 50
|
||||
110,10.0,0.0,30.0,10.0,0.0,0.0; 89P 51
|
||||
102,4,83,85,87,89; 91P 52
|
||||
142,0,81,0,91,2; 93P 53
|
||||
144,81,1,0,93; 95P 54
|
||||
T 1
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.igs"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3871",
|
||||
"tangency-labs/solidcraft#3901"
|
||||
],
|
||||
"what": "the same cone with a VERTEX_LOOP at its point on the cone face: the point must still be reached, not read as a flat disc",
|
||||
"source": "analytic",
|
||||
"method": "cone r=10 h=30: V = 1000 pi = 3141.5927; A = pi r^2 + pi r s = 1307.6181; 2 faces",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 3141.5927,
|
||||
"area_mm2": 1307.6181,
|
||||
"faces": 2,
|
||||
"bbox": {
|
||||
"min": [
|
||||
-10,
|
||||
-10,
|
||||
0
|
||||
],
|
||||
"max": [
|
||||
10,
|
||||
10,
|
||||
30
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('step-conformance generated part'),'2;1');
|
||||
FILE_NAME('cone_point_vertex.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('cone_point_vertex','cone_point_vertex','',(#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,10.0);
|
||||
#23=CARTESIAN_POINT('',(10.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=PLANE('',#29);
|
||||
#31=ORIENTED_EDGE('',*,*,#25,.F.);
|
||||
#32=EDGE_LOOP('',(#31));
|
||||
#33=FACE_OUTER_BOUND('',#32,.T.);
|
||||
#34=ADVANCED_FACE('',(#33),#30,.F.);
|
||||
#35=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#36=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#37=DIRECTION('',(1.0,0.0,0.0));
|
||||
#38=AXIS2_PLACEMENT_3D('',#35,#36,#37);
|
||||
#39=CONICAL_SURFACE('',#38,10.0,0.3217505543966422);
|
||||
#40=ORIENTED_EDGE('',*,*,#25,.T.);
|
||||
#41=EDGE_LOOP('',(#40));
|
||||
#42=CARTESIAN_POINT('',(0.0,0.0,30.0));
|
||||
#43=VERTEX_POINT('',#42);
|
||||
#44=VERTEX_LOOP('',#43);
|
||||
#45=FACE_OUTER_BOUND('',#41,.T.);
|
||||
#46=FACE_BOUND('',#44,.T.);
|
||||
#47=ADVANCED_FACE('',(#45,#46),#39,.T.);
|
||||
#48=CLOSED_SHELL('',(#34,#47));
|
||||
#49=MANIFOLD_SOLID_BREP('',#48);
|
||||
#50=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#17,#49),#5);
|
||||
#51=SHAPE_DEFINITION_REPRESENTATION(#13,#50);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.step"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3871",
|
||||
"tangency-labs/solidcraft#3901",
|
||||
"tangency-labs/solidcraft#3880"
|
||||
],
|
||||
"what": "a cone whose face is bounded only by its base circle (no vertex at the point) must reach its point, not come in as a flat disc",
|
||||
"source": "analytic",
|
||||
"method": "cone r=10 h=30: V = pi r^2 h / 3 = 1000 pi = 3141.5927; A = pi r^2 + pi r s with s = sqrt(100+900) = 1307.6181; 2 faces",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 3141.5927,
|
||||
"area_mm2": 1307.6181,
|
||||
"faces": 2,
|
||||
"bbox": {
|
||||
"min": [
|
||||
-10,
|
||||
-10,
|
||||
0
|
||||
],
|
||||
"max": [
|
||||
10,
|
||||
10,
|
||||
30
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('step-conformance generated part'),'2;1');
|
||||
FILE_NAME('cone_point.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('cone_point','cone_point','',(#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,10.0);
|
||||
#23=CARTESIAN_POINT('',(10.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=PLANE('',#29);
|
||||
#31=ORIENTED_EDGE('',*,*,#25,.F.);
|
||||
#32=EDGE_LOOP('',(#31));
|
||||
#33=FACE_OUTER_BOUND('',#32,.T.);
|
||||
#34=ADVANCED_FACE('',(#33),#30,.F.);
|
||||
#35=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#36=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#37=DIRECTION('',(1.0,0.0,0.0));
|
||||
#38=AXIS2_PLACEMENT_3D('',#35,#36,#37);
|
||||
#39=CONICAL_SURFACE('',#38,10.0,0.3217505543966422);
|
||||
#40=ORIENTED_EDGE('',*,*,#25,.T.);
|
||||
#41=EDGE_LOOP('',(#40));
|
||||
#42=FACE_OUTER_BOUND('',#41,.T.);
|
||||
#43=ADVANCED_FACE('',(#42),#39,.T.);
|
||||
#44=CLOSED_SHELL('',(#34,#43));
|
||||
#45=MANIFOLD_SOLID_BREP('',#44);
|
||||
#46=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#17,#45),#5);
|
||||
#47=SHAPE_DEFINITION_REPRESENTATION(#13,#46);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.step"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3880"
|
||||
],
|
||||
"what": "a cylinder r=10 h=30 whose side face is written with a seam edge: one closed solid with 3 faces",
|
||||
"source": "analytic",
|
||||
"method": "V = pi r^2 h = 3000 pi = 9424.7780; A = 2 pi r h + 2 pi r^2 = 2513.2741; 3 faces",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 9424.778,
|
||||
"area_mm2": 2513.2741,
|
||||
"faces": 3,
|
||||
"bbox": {
|
||||
"min": [
|
||||
-10,
|
||||
-10,
|
||||
0
|
||||
],
|
||||
"max": [
|
||||
10,
|
||||
10,
|
||||
30
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('step-conformance generated part'),'2;1');
|
||||
FILE_NAME('cylinder_seam.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('cylinder_seam','cylinder_seam','',(#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,10.0);
|
||||
#23=CARTESIAN_POINT('',(10.0,0.0,0.0));
|
||||
#24=VERTEX_POINT('',#23);
|
||||
#25=EDGE_CURVE('',#24,#24,#22,.T.);
|
||||
#26=CARTESIAN_POINT('',(0.0,0.0,30.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,10.0);
|
||||
#31=CARTESIAN_POINT('',(10.0,0.0,30.0));
|
||||
#32=VERTEX_POINT('',#31);
|
||||
#33=EDGE_CURVE('',#32,#32,#30,.T.);
|
||||
#34=CARTESIAN_POINT('',(0.0,0.0,0.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=PLANE('',#37);
|
||||
#39=ORIENTED_EDGE('',*,*,#25,.F.);
|
||||
#40=EDGE_LOOP('',(#39));
|
||||
#41=FACE_OUTER_BOUND('',#40,.T.);
|
||||
#42=ADVANCED_FACE('',(#41),#38,.F.);
|
||||
#43=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#44=DIRECTION('',(0.0,0.0,1.0));
|
||||
#45=DIRECTION('',(1.0,0.0,0.0));
|
||||
#46=AXIS2_PLACEMENT_3D('',#43,#44,#45);
|
||||
#47=CYLINDRICAL_SURFACE('',#46,10.0);
|
||||
#48=CARTESIAN_POINT('',(10.0,0.0,0.0));
|
||||
#49=DIRECTION('',(0.0,0.0,1.0));
|
||||
#50=VECTOR('',#49,30.0);
|
||||
#51=LINE('',#48,#50);
|
||||
#52=EDGE_CURVE('',#24,#32,#51,.T.);
|
||||
#53=ORIENTED_EDGE('',*,*,#25,.T.);
|
||||
#54=ORIENTED_EDGE('',*,*,#52,.T.);
|
||||
#55=ORIENTED_EDGE('',*,*,#33,.F.);
|
||||
#56=ORIENTED_EDGE('',*,*,#52,.F.);
|
||||
#57=EDGE_LOOP('',(#53,#54,#55,#56));
|
||||
#58=FACE_OUTER_BOUND('',#57,.T.);
|
||||
#59=ADVANCED_FACE('',(#58),#47,.T.);
|
||||
#60=CARTESIAN_POINT('',(0.0,0.0,30.0));
|
||||
#61=DIRECTION('',(0.0,0.0,1.0));
|
||||
#62=DIRECTION('',(1.0,0.0,0.0));
|
||||
#63=AXIS2_PLACEMENT_3D('',#60,#61,#62);
|
||||
#64=PLANE('',#63);
|
||||
#65=ORIENTED_EDGE('',*,*,#33,.T.);
|
||||
#66=EDGE_LOOP('',(#65));
|
||||
#67=FACE_OUTER_BOUND('',#66,.T.);
|
||||
#68=ADVANCED_FACE('',(#67),#64,.T.);
|
||||
#69=CLOSED_SHELL('',(#42,#59,#68));
|
||||
#70=MANIFOLD_SOLID_BREP('',#69);
|
||||
#71=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#17,#70),#5);
|
||||
#72=SHAPE_DEFINITION_REPRESENTATION(#13,#71);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.step"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3880"
|
||||
],
|
||||
"what": "a hemisphere r=20 whose curved face is a rational B-spline surface, flat disc below",
|
||||
"source": "analytic",
|
||||
"method": "V = 2/3 pi r^3 = 16755.1608; A = 2 pi r^2 + pi r^2 = 3 pi r^2 = 3769.9112; 2 faces",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 16755.1608,
|
||||
"area_mm2": 3769.9112,
|
||||
"faces": 2,
|
||||
"bbox": {
|
||||
"min": [
|
||||
-20,
|
||||
-20,
|
||||
0
|
||||
],
|
||||
"max": [
|
||||
20,
|
||||
20,
|
||||
20
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('step-conformance generated part'),'2;1');
|
||||
FILE_NAME('dome_nurbs.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('dome_nurbs','dome_nurbs','',(#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('',(20.0,0.0,1.2246467991473533E-15));
|
||||
#19=CARTESIAN_POINT('',(20.000000000000004,20.0,1.2246467991473533E-15));
|
||||
#20=CARTESIAN_POINT('',(1.2246467991473533E-15,20.0,1.2246467991473533E-15));
|
||||
#21=CARTESIAN_POINT('',(-20.0,20.000000000000004,1.2246467991473533E-15));
|
||||
#22=CARTESIAN_POINT('',(-20.0,2.4492935982947065E-15,1.2246467991473533E-15));
|
||||
#23=CARTESIAN_POINT('',(-20.000000000000004,-20.0,1.2246467991473533E-15));
|
||||
#24=CARTESIAN_POINT('',(-3.673940397442059E-15,-20.0,1.2246467991473533E-15));
|
||||
#25=CARTESIAN_POINT('',(19.999999999999996,-20.000000000000004,1.2246467991473533E-15));
|
||||
#26=CARTESIAN_POINT('',(20.0,-4.898587196589413E-15,1.2246467991473533E-15));
|
||||
#27=( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#18,#19,#20,#21,#22,#23,#24,#25,#26),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((3,2,2,2,3),(0.0,0.25,0.5,0.75,1.0),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() RATIONAL_B_SPLINE_CURVE((1.0,0.7071067811865476,1.0,0.7071067811865476,1.0,0.7071067811865476,1.0,0.7071067811865476,1.0)) REPRESENTATION_ITEM('') );
|
||||
#28=CARTESIAN_POINT('',(20.0,0.0,1.2246467991473533E-15));
|
||||
#29=VERTEX_POINT('',#28);
|
||||
#30=EDGE_CURVE('',#29,#29,#27,.T.);
|
||||
#31=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#32=DIRECTION('',(0.0,0.0,1.0));
|
||||
#33=DIRECTION('',(1.0,0.0,0.0));
|
||||
#34=AXIS2_PLACEMENT_3D('',#31,#32,#33);
|
||||
#35=PLANE('',#34);
|
||||
#36=ORIENTED_EDGE('',*,*,#30,.F.);
|
||||
#37=EDGE_LOOP('',(#36));
|
||||
#38=FACE_OUTER_BOUND('',#37,.T.);
|
||||
#39=ADVANCED_FACE('',(#38),#35,.F.);
|
||||
#40=CARTESIAN_POINT('',(20.0,0.0,1.2246467991473533E-15));
|
||||
#41=CARTESIAN_POINT('',(19.999999999999996,0.0,20.0));
|
||||
#42=CARTESIAN_POINT('',(0.0,0.0,20.0));
|
||||
#43=CARTESIAN_POINT('',(20.000000000000004,20.0,1.2246467991473533E-15));
|
||||
#44=CARTESIAN_POINT('',(20.0,19.999999999999996,20.0));
|
||||
#45=CARTESIAN_POINT('',(0.0,0.0,20.0));
|
||||
#46=CARTESIAN_POINT('',(1.2246467991473533E-15,20.0,1.2246467991473533E-15));
|
||||
#47=CARTESIAN_POINT('',(1.224646799147353E-15,19.999999999999996,20.0));
|
||||
#48=CARTESIAN_POINT('',(0.0,0.0,20.0));
|
||||
#49=CARTESIAN_POINT('',(-20.0,20.000000000000004,1.2246467991473533E-15));
|
||||
#50=CARTESIAN_POINT('',(-19.999999999999996,20.0,20.0));
|
||||
#51=CARTESIAN_POINT('',(0.0,0.0,20.0));
|
||||
#52=CARTESIAN_POINT('',(-20.0,2.4492935982947065E-15,1.2246467991473533E-15));
|
||||
#53=CARTESIAN_POINT('',(-19.999999999999996,2.449293598294706E-15,20.0));
|
||||
#54=CARTESIAN_POINT('',(0.0,0.0,20.0));
|
||||
#55=CARTESIAN_POINT('',(-20.000000000000004,-20.0,1.2246467991473533E-15));
|
||||
#56=CARTESIAN_POINT('',(-20.0,-19.999999999999996,20.0));
|
||||
#57=CARTESIAN_POINT('',(0.0,0.0,20.0));
|
||||
#58=CARTESIAN_POINT('',(-3.673940397442059E-15,-20.0,1.2246467991473533E-15));
|
||||
#59=CARTESIAN_POINT('',(-3.673940397442058E-15,-19.999999999999996,20.0));
|
||||
#60=CARTESIAN_POINT('',(0.0,0.0,20.0));
|
||||
#61=CARTESIAN_POINT('',(19.999999999999996,-20.000000000000004,1.2246467991473533E-15));
|
||||
#62=CARTESIAN_POINT('',(19.999999999999993,-20.0,20.0));
|
||||
#63=CARTESIAN_POINT('',(0.0,0.0,20.0));
|
||||
#64=CARTESIAN_POINT('',(20.0,-4.898587196589413E-15,1.2246467991473533E-15));
|
||||
#65=CARTESIAN_POINT('',(19.999999999999996,-4.898587196589412E-15,20.0));
|
||||
#66=CARTESIAN_POINT('',(0.0,0.0,20.0));
|
||||
#67=( BOUNDED_SURFACE() B_SPLINE_SURFACE(2,2,((#40,#41,#42),(#43,#44,#45),(#46,#47,#48),(#49,#50,#51),(#52,#53,#54),(#55,#56,#57),(#58,#59,#60),(#61,#62,#63),(#64,#65,#66)),.UNSPECIFIED.,.T.,.F.,.F.) B_SPLINE_SURFACE_WITH_KNOTS((3,2,2,2,3),(3,3),(0.0,0.25,0.5,0.75,1.0),(0.0,1.0),.UNSPECIFIED.) GEOMETRIC_REPRESENTATION_ITEM() RATIONAL_B_SPLINE_SURFACE(((1.0,0.7071067811865476,1.0),(0.7071067811865476,0.5000000000000001,0.7071067811865476),(1.0,0.7071067811865476,1.0),(0.7071067811865476,0.5000000000000001,0.7071067811865476),(1.0,0.7071067811865476,1.0),(0.7071067811865476,0.5000000000000001,0.7071067811865476),(1.0,0.7071067811865476,1.0),(0.7071067811865476,0.5000000000000001,0.7071067811865476),(1.0,0.7071067811865476,1.0))) REPRESENTATION_ITEM('') SURFACE() );
|
||||
#68=ORIENTED_EDGE('',*,*,#30,.T.);
|
||||
#69=EDGE_LOOP('',(#68));
|
||||
#70=FACE_OUTER_BOUND('',#69,.T.);
|
||||
#71=ADVANCED_FACE('',(#70),#67,.T.);
|
||||
#72=CLOSED_SHELL('',(#39,#71));
|
||||
#73=MANIFOLD_SOLID_BREP('',#72);
|
||||
#74=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#17,#73),#5);
|
||||
#75=SHAPE_DEFINITION_REPRESENTATION(#13,#74);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.step"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3885",
|
||||
"tangency-labs/solidcraft#3886"
|
||||
],
|
||||
"what": "a box of six trimmed planes with one edge written as a B-spline curve (126) over a knot span of 1e-7: both faces it bounds must be kept",
|
||||
"method": "box 10 x 20 x 30 of six trimmed bilinear patches: V = 6000; A = 2(200+300+600) = 2200; 6 faces",
|
||||
"source": "analytic",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 6000.0,
|
||||
"area_mm2": 2200.0,
|
||||
"faces": 6
|
||||
}
|
||||
@@ -0,0 +1,154 @@
|
||||
test S 1
|
||||
1H,,1H;,,,,,,,,,,,1.,2,2HMM,,,,1.E-6; G 1
|
||||
128 1 0 0 0 0 0 000000000D 1
|
||||
128 0 0 2 0 0 0 0D 2
|
||||
126 3 0 0 0 0 0 000000000D 3
|
||||
126 0 0 2 0 0 0 0D 4
|
||||
110 5 0 0 0 0 0 000000000D 5
|
||||
110 0 0 1 0 0 0 0D 6
|
||||
110 6 0 0 0 0 0 000000000D 7
|
||||
110 0 0 1 0 0 0 0D 8
|
||||
110 7 0 0 0 0 0 000000000D 9
|
||||
110 0 0 1 0 0 0 0D 10
|
||||
102 8 0 0 0 0 0 000000000D 11
|
||||
102 0 0 1 0 0 0 0D 12
|
||||
142 9 0 0 0 0 0 000000000D 13
|
||||
142 0 0 1 0 0 0 0D 14
|
||||
144 10 0 0 0 0 0 000000000D 15
|
||||
144 0 0 1 0 0 0 0D 16
|
||||
128 11 0 0 0 0 0 000000000D 17
|
||||
128 0 0 2 0 0 0 0D 18
|
||||
110 13 0 0 0 0 0 000000000D 19
|
||||
110 0 0 1 0 0 0 0D 20
|
||||
110 14 0 0 0 0 0 000000000D 21
|
||||
110 0 0 1 0 0 0 0D 22
|
||||
110 15 0 0 0 0 0 000000000D 23
|
||||
110 0 0 1 0 0 0 0D 24
|
||||
110 16 0 0 0 0 0 000000000D 25
|
||||
110 0 0 1 0 0 0 0D 26
|
||||
102 17 0 0 0 0 0 000000000D 27
|
||||
102 0 0 1 0 0 0 0D 28
|
||||
142 18 0 0 0 0 0 000000000D 29
|
||||
142 0 0 1 0 0 0 0D 30
|
||||
144 19 0 0 0 0 0 000000000D 31
|
||||
144 0 0 1 0 0 0 0D 32
|
||||
128 20 0 0 0 0 0 000000000D 33
|
||||
128 0 0 2 0 0 0 0D 34
|
||||
110 22 0 0 0 0 0 000000000D 35
|
||||
110 0 0 1 0 0 0 0D 36
|
||||
110 23 0 0 0 0 0 000000000D 37
|
||||
110 0 0 1 0 0 0 0D 38
|
||||
110 24 0 0 0 0 0 000000000D 39
|
||||
110 0 0 1 0 0 0 0D 40
|
||||
110 25 0 0 0 0 0 000000000D 41
|
||||
110 0 0 1 0 0 0 0D 42
|
||||
102 26 0 0 0 0 0 000000000D 43
|
||||
102 0 0 1 0 0 0 0D 44
|
||||
142 27 0 0 0 0 0 000000000D 45
|
||||
142 0 0 1 0 0 0 0D 46
|
||||
144 28 0 0 0 0 0 000000000D 47
|
||||
144 0 0 1 0 0 0 0D 48
|
||||
128 29 0 0 0 0 0 000000000D 49
|
||||
128 0 0 2 0 0 0 0D 50
|
||||
110 31 0 0 0 0 0 000000000D 51
|
||||
110 0 0 1 0 0 0 0D 52
|
||||
110 32 0 0 0 0 0 000000000D 53
|
||||
110 0 0 1 0 0 0 0D 54
|
||||
110 33 0 0 0 0 0 000000000D 55
|
||||
110 0 0 1 0 0 0 0D 56
|
||||
110 34 0 0 0 0 0 000000000D 57
|
||||
110 0 0 1 0 0 0 0D 58
|
||||
102 35 0 0 0 0 0 000000000D 59
|
||||
102 0 0 1 0 0 0 0D 60
|
||||
142 36 0 0 0 0 0 000000000D 61
|
||||
142 0 0 1 0 0 0 0D 62
|
||||
144 37 0 0 0 0 0 000000000D 63
|
||||
144 0 0 1 0 0 0 0D 64
|
||||
128 38 0 0 0 0 0 000000000D 65
|
||||
128 0 0 2 0 0 0 0D 66
|
||||
110 40 0 0 0 0 0 000000000D 67
|
||||
110 0 0 1 0 0 0 0D 68
|
||||
110 41 0 0 0 0 0 000000000D 69
|
||||
110 0 0 1 0 0 0 0D 70
|
||||
110 42 0 0 0 0 0 000000000D 71
|
||||
110 0 0 1 0 0 0 0D 72
|
||||
110 43 0 0 0 0 0 000000000D 73
|
||||
110 0 0 1 0 0 0 0D 74
|
||||
102 44 0 0 0 0 0 000000000D 75
|
||||
102 0 0 1 0 0 0 0D 76
|
||||
142 45 0 0 0 0 0 000000000D 77
|
||||
142 0 0 1 0 0 0 0D 78
|
||||
144 46 0 0 0 0 0 000000000D 79
|
||||
144 0 0 1 0 0 0 0D 80
|
||||
128 47 0 0 0 0 0 000000000D 81
|
||||
128 0 0 2 0 0 0 0D 82
|
||||
110 49 0 0 0 0 0 000000000D 83
|
||||
110 0 0 1 0 0 0 0D 84
|
||||
110 50 0 0 0 0 0 000000000D 85
|
||||
110 0 0 1 0 0 0 0D 86
|
||||
110 51 0 0 0 0 0 000000000D 87
|
||||
110 0 0 1 0 0 0 0D 88
|
||||
110 52 0 0 0 0 0 000000000D 89
|
||||
110 0 0 1 0 0 0 0D 90
|
||||
102 53 0 0 0 0 0 000000000D 91
|
||||
102 0 0 1 0 0 0 0D 92
|
||||
142 54 0 0 0 0 0 000000000D 93
|
||||
142 0 0 1 0 0 0 0D 94
|
||||
144 55 0 0 0 0 0 000000000D 95
|
||||
144 0 0 1 0 0 0 0D 96
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 1P 1
|
||||
0,0.0,0.0,20.0,0.0,10.0,0.0,0.0,10.0,20.0,0.0,0.,1.,0.,1.; 1P 2
|
||||
126,1,1,0,0,1,0,0.,0.,1.000000E-07,1.000000E-07,1.,1.,0.0,0.0,0. 3P 3
|
||||
0,0.0,20.0,0.0,0.,1.000000E-07,0.,0.,1.; 3P 4
|
||||
110,0.0,20.0,0.0,10.0,20.0,0.0; 5P 5
|
||||
110,10.0,20.0,0.0,10.0,0.0,0.0; 7P 6
|
||||
110,10.0,0.0,0.0,0.0,0.0,0.0; 9P 7
|
||||
102,4,3,5,7,9; 11P 8
|
||||
142,0,1,0,11,2; 13P 9
|
||||
144,1,1,0,13; 15P 10
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 17P 11
|
||||
0,30.0,10.0,0.0,30.0,0.0,20.0,30.0,10.0,20.0,30.0,0.,1.,0.,1.; 17P 12
|
||||
110,0.0,0.0,30.0,10.0,0.0,30.0; 19P 13
|
||||
110,10.0,0.0,30.0,10.0,20.0,30.0; 21P 14
|
||||
110,10.0,20.0,30.0,0.0,20.0,30.0; 23P 15
|
||||
110,0.0,20.0,30.0,0.0,0.0,30.0; 25P 16
|
||||
102,4,19,21,23,25; 27P 17
|
||||
142,0,17,0,27,2; 29P 18
|
||||
144,17,1,0,29; 31P 19
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 33P 20
|
||||
0,0.0,10.0,0.0,0.0,0.0,0.0,30.0,10.0,0.0,30.0,0.,1.,0.,1.; 33P 21
|
||||
110,0.0,0.0,0.0,10.0,0.0,0.0; 35P 22
|
||||
110,10.0,0.0,0.0,10.0,0.0,30.0; 37P 23
|
||||
110,10.0,0.0,30.0,0.0,0.0,30.0; 39P 24
|
||||
110,0.0,0.0,30.0,0.0,0.0,0.0; 41P 25
|
||||
102,4,35,37,39,41; 43P 26
|
||||
142,0,33,0,43,2; 45P 27
|
||||
144,33,1,0,45; 47P 28
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,20 49P 29
|
||||
.0,0.0,0.0,20.0,30.0,10.0,20.0,0.0,10.0,20.0,30.0,0.,1.,0.,1.; 49P 30
|
||||
110,0.0,20.0,0.0,0.0,20.0,30.0; 51P 31
|
||||
110,0.0,20.0,30.0,10.0,20.0,30.0; 53P 32
|
||||
110,10.0,20.0,30.0,10.0,20.0,0.0; 55P 33
|
||||
110,10.0,20.0,0.0,0.0,20.0,0.0; 57P 34
|
||||
102,4,51,53,55,57; 59P 35
|
||||
142,0,49,0,59,2; 61P 36
|
||||
144,49,1,0,61; 63P 37
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 65P 38
|
||||
0,0.0,0.0,0.0,30.0,0.0,20.0,0.0,0.0,20.0,30.0,0.,1.,0.,1.; 65P 39
|
||||
110,0.0,0.0,0.0,0.0,0.0,30.0; 67P 40
|
||||
110,0.0,0.0,30.0,0.0,20.0,30.0; 69P 41
|
||||
110,0.0,20.0,30.0,0.0,20.0,0.0; 71P 42
|
||||
110,0.0,20.0,0.0,0.0,0.0,0.0; 73P 43
|
||||
102,4,67,69,71,73; 75P 44
|
||||
142,0,65,0,75,2; 77P 45
|
||||
144,65,1,0,77; 79P 46
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,10.0,0 81P 47
|
||||
.0,0.0,10.0,20.0,0.0,10.0,0.0,30.0,10.0,20.0,30.0,0.,1.,0.,1.; 81P 48
|
||||
110,10.0,0.0,0.0,10.0,20.0,0.0; 83P 49
|
||||
110,10.0,20.0,0.0,10.0,20.0,30.0; 85P 50
|
||||
110,10.0,20.0,30.0,10.0,0.0,30.0; 87P 51
|
||||
110,10.0,0.0,30.0,10.0,0.0,0.0; 89P 52
|
||||
102,4,83,85,87,89; 91P 53
|
||||
142,0,81,0,91,2; 93P 54
|
||||
144,81,1,0,93; 95P 55
|
||||
T 1
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.igs"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3912"
|
||||
],
|
||||
"what": "a 10 x 10 trimmed patch with a 4 x 4 square hole whose composite trim curve starts with a reversed piece: the hole stays a hole",
|
||||
"source": "analytic",
|
||||
"method": "one trimmed face: A = 10*10 - 4*4 = 84; a sheet, so valid is false",
|
||||
"valid": false,
|
||||
"body_count": 1,
|
||||
"area_mm2": 84.0,
|
||||
"faces": 1
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
test S 1
|
||||
1H,,1H;,,,,,,,,,,,1.,2,2HMM,,,,1.E-6; G 1
|
||||
128 1 0 0 0 0 0 000000000D 1
|
||||
128 0 0 2 0 0 0 0D 2
|
||||
110 3 0 0 0 0 0 000000000D 3
|
||||
110 0 0 1 0 0 0 0D 4
|
||||
110 4 0 0 0 0 0 000000000D 5
|
||||
110 0 0 1 0 0 0 0D 6
|
||||
110 5 0 0 0 0 0 000000000D 7
|
||||
110 0 0 1 0 0 0 0D 8
|
||||
110 6 0 0 0 0 0 000000000D 9
|
||||
110 0 0 1 0 0 0 0D 10
|
||||
110 7 0 0 0 0 0 000000000D 11
|
||||
110 0 0 1 0 0 0 0D 12
|
||||
110 8 0 0 0 0 0 000000000D 13
|
||||
110 0 0 1 0 0 0 0D 14
|
||||
110 9 0 0 0 0 0 000000000D 15
|
||||
110 0 0 1 0 0 0 0D 16
|
||||
110 10 0 0 0 0 0 000000000D 17
|
||||
110 0 0 1 0 0 0 0D 18
|
||||
102 11 0 0 0 0 0 000000000D 19
|
||||
102 0 0 1 0 0 0 0D 20
|
||||
102 12 0 0 0 0 0 000000000D 21
|
||||
102 0 0 1 0 0 0 0D 22
|
||||
142 13 0 0 0 0 0 000000000D 23
|
||||
142 0 0 1 0 0 0 0D 24
|
||||
110 14 0 0 0 0 0 000000000D 25
|
||||
110 0 0 1 0 0 0 0D 26
|
||||
110 15 0 0 0 0 0 000000000D 27
|
||||
110 0 0 1 0 0 0 0D 28
|
||||
110 16 0 0 0 0 0 000000000D 29
|
||||
110 0 0 1 0 0 0 0D 30
|
||||
110 17 0 0 0 0 0 000000000D 31
|
||||
110 0 0 1 0 0 0 0D 32
|
||||
110 18 0 0 0 0 0 000000000D 33
|
||||
110 0 0 1 0 0 0 0D 34
|
||||
110 19 0 0 0 0 0 000000000D 35
|
||||
110 0 0 1 0 0 0 0D 36
|
||||
110 20 0 0 0 0 0 000000000D 37
|
||||
110 0 0 1 0 0 0 0D 38
|
||||
110 21 0 0 0 0 0 000000000D 39
|
||||
110 0 0 1 0 0 0 0D 40
|
||||
102 22 0 0 0 0 0 000000000D 41
|
||||
102 0 0 1 0 0 0 0D 42
|
||||
102 23 0 0 0 0 0 000000000D 43
|
||||
102 0 0 1 0 0 0 0D 44
|
||||
142 24 0 0 0 0 0 000000000D 45
|
||||
142 0 0 1 0 0 0 0D 46
|
||||
144 25 0 0 0 0 0 000000000D 47
|
||||
144 0 0 1 0 0 0 0D 48
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 1P 1
|
||||
0,0.0,10.0,0.0,0.0,0.0,10.0,0.0,10.0,10.0,0.0,0.,1.,0.,1.; 1P 2
|
||||
110,0.0,0.0,0.0,10.0,0.0,0.0; 3P 3
|
||||
110,0.0,0.0,0.0,1.0,0.0,0.0; 5P 4
|
||||
110,10.0,0.0,0.0,10.0,10.0,0.0; 7P 5
|
||||
110,1.0,0.0,0.0,1.0,1.0,0.0; 9P 6
|
||||
110,10.0,10.0,0.0,0.0,10.0,0.0; 11P 7
|
||||
110,1.0,1.0,0.0,0.0,1.0,0.0; 13P 8
|
||||
110,0.0,10.0,0.0,0.0,0.0,0.0; 15P 9
|
||||
110,0.0,1.0,0.0,0.0,0.0,0.0; 17P 10
|
||||
102,4,3,7,11,15; 19P 11
|
||||
102,4,5,9,13,17; 21P 12
|
||||
142,0,1,21,19,1; 23P 13
|
||||
110,3.0,7.0,0.0,3.0,3.0,0.0; 25P 14
|
||||
110,0.3,0.3,0.0,0.3,0.7,0.0; 27P 15
|
||||
110,3.0,7.0,0.0,7.0,7.0,0.0; 29P 16
|
||||
110,0.3,0.7,0.0,0.7,0.7,0.0; 31P 17
|
||||
110,7.0,7.0,0.0,7.0,3.0,0.0; 33P 18
|
||||
110,0.7,0.7,0.0,0.7,0.3,0.0; 35P 19
|
||||
110,7.0,3.0,0.0,3.0,3.0,0.0; 37P 20
|
||||
110,0.7,0.3,0.0,0.3,0.3,0.0; 39P 21
|
||||
102,4,25,29,33,37; 41P 22
|
||||
102,4,27,31,35,39; 43P 23
|
||||
142,0,1,43,41,1; 45P 24
|
||||
144,1,1,1,23,45; 47P 25
|
||||
T 1
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.igs"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3912",
|
||||
"tangency-labs/solidcraft#3913"
|
||||
],
|
||||
"what": "a box of six trimmed planes whose composite trim curves start with a piece written end to start (1st and 3rd pieces reversed): every loop must still close",
|
||||
"method": "box 10 x 20 x 30 of six trimmed bilinear patches: V = 6000; A = 2(200+300+600) = 2200; 6 faces",
|
||||
"source": "analytic",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 6000.0,
|
||||
"area_mm2": 2200.0,
|
||||
"faces": 6
|
||||
}
|
||||
@@ -0,0 +1,153 @@
|
||||
test S 1
|
||||
1H,,1H;,,,,,,,,,,,1.,2,2HMM,,,,1.E-6; G 1
|
||||
128 1 0 0 0 0 0 000000000D 1
|
||||
128 0 0 2 0 0 0 0D 2
|
||||
110 3 0 0 0 0 0 000000000D 3
|
||||
110 0 0 1 0 0 0 0D 4
|
||||
110 4 0 0 0 0 0 000000000D 5
|
||||
110 0 0 1 0 0 0 0D 6
|
||||
110 5 0 0 0 0 0 000000000D 7
|
||||
110 0 0 1 0 0 0 0D 8
|
||||
110 6 0 0 0 0 0 000000000D 9
|
||||
110 0 0 1 0 0 0 0D 10
|
||||
102 7 0 0 0 0 0 000000000D 11
|
||||
102 0 0 1 0 0 0 0D 12
|
||||
142 8 0 0 0 0 0 000000000D 13
|
||||
142 0 0 1 0 0 0 0D 14
|
||||
144 9 0 0 0 0 0 000000000D 15
|
||||
144 0 0 1 0 0 0 0D 16
|
||||
128 10 0 0 0 0 0 000000000D 17
|
||||
128 0 0 2 0 0 0 0D 18
|
||||
110 12 0 0 0 0 0 000000000D 19
|
||||
110 0 0 1 0 0 0 0D 20
|
||||
110 13 0 0 0 0 0 000000000D 21
|
||||
110 0 0 1 0 0 0 0D 22
|
||||
110 14 0 0 0 0 0 000000000D 23
|
||||
110 0 0 1 0 0 0 0D 24
|
||||
110 15 0 0 0 0 0 000000000D 25
|
||||
110 0 0 1 0 0 0 0D 26
|
||||
102 16 0 0 0 0 0 000000000D 27
|
||||
102 0 0 1 0 0 0 0D 28
|
||||
142 17 0 0 0 0 0 000000000D 29
|
||||
142 0 0 1 0 0 0 0D 30
|
||||
144 18 0 0 0 0 0 000000000D 31
|
||||
144 0 0 1 0 0 0 0D 32
|
||||
128 19 0 0 0 0 0 000000000D 33
|
||||
128 0 0 2 0 0 0 0D 34
|
||||
110 21 0 0 0 0 0 000000000D 35
|
||||
110 0 0 1 0 0 0 0D 36
|
||||
110 22 0 0 0 0 0 000000000D 37
|
||||
110 0 0 1 0 0 0 0D 38
|
||||
110 23 0 0 0 0 0 000000000D 39
|
||||
110 0 0 1 0 0 0 0D 40
|
||||
110 24 0 0 0 0 0 000000000D 41
|
||||
110 0 0 1 0 0 0 0D 42
|
||||
102 25 0 0 0 0 0 000000000D 43
|
||||
102 0 0 1 0 0 0 0D 44
|
||||
142 26 0 0 0 0 0 000000000D 45
|
||||
142 0 0 1 0 0 0 0D 46
|
||||
144 27 0 0 0 0 0 000000000D 47
|
||||
144 0 0 1 0 0 0 0D 48
|
||||
128 28 0 0 0 0 0 000000000D 49
|
||||
128 0 0 2 0 0 0 0D 50
|
||||
110 30 0 0 0 0 0 000000000D 51
|
||||
110 0 0 1 0 0 0 0D 52
|
||||
110 31 0 0 0 0 0 000000000D 53
|
||||
110 0 0 1 0 0 0 0D 54
|
||||
110 32 0 0 0 0 0 000000000D 55
|
||||
110 0 0 1 0 0 0 0D 56
|
||||
110 33 0 0 0 0 0 000000000D 57
|
||||
110 0 0 1 0 0 0 0D 58
|
||||
102 34 0 0 0 0 0 000000000D 59
|
||||
102 0 0 1 0 0 0 0D 60
|
||||
142 35 0 0 0 0 0 000000000D 61
|
||||
142 0 0 1 0 0 0 0D 62
|
||||
144 36 0 0 0 0 0 000000000D 63
|
||||
144 0 0 1 0 0 0 0D 64
|
||||
128 37 0 0 0 0 0 000000000D 65
|
||||
128 0 0 2 0 0 0 0D 66
|
||||
110 39 0 0 0 0 0 000000000D 67
|
||||
110 0 0 1 0 0 0 0D 68
|
||||
110 40 0 0 0 0 0 000000000D 69
|
||||
110 0 0 1 0 0 0 0D 70
|
||||
110 41 0 0 0 0 0 000000000D 71
|
||||
110 0 0 1 0 0 0 0D 72
|
||||
110 42 0 0 0 0 0 000000000D 73
|
||||
110 0 0 1 0 0 0 0D 74
|
||||
102 43 0 0 0 0 0 000000000D 75
|
||||
102 0 0 1 0 0 0 0D 76
|
||||
142 44 0 0 0 0 0 000000000D 77
|
||||
142 0 0 1 0 0 0 0D 78
|
||||
144 45 0 0 0 0 0 000000000D 79
|
||||
144 0 0 1 0 0 0 0D 80
|
||||
128 46 0 0 0 0 0 000000000D 81
|
||||
128 0 0 2 0 0 0 0D 82
|
||||
110 48 0 0 0 0 0 000000000D 83
|
||||
110 0 0 1 0 0 0 0D 84
|
||||
110 49 0 0 0 0 0 000000000D 85
|
||||
110 0 0 1 0 0 0 0D 86
|
||||
110 50 0 0 0 0 0 000000000D 87
|
||||
110 0 0 1 0 0 0 0D 88
|
||||
110 51 0 0 0 0 0 000000000D 89
|
||||
110 0 0 1 0 0 0 0D 90
|
||||
102 52 0 0 0 0 0 000000000D 91
|
||||
102 0 0 1 0 0 0 0D 92
|
||||
142 53 0 0 0 0 0 000000000D 93
|
||||
142 0 0 1 0 0 0 0D 94
|
||||
144 54 0 0 0 0 0 000000000D 95
|
||||
144 0 0 1 0 0 0 0D 96
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 1P 1
|
||||
0,0.0,0.0,20.0,0.0,10.0,0.0,0.0,10.0,20.0,0.0,0.,1.,0.,1.; 1P 2
|
||||
110,0.0,20.0,0.0,0.0,0.0,0.0; 3P 3
|
||||
110,0.0,20.0,0.0,10.0,20.0,0.0; 5P 4
|
||||
110,10.0,0.0,0.0,10.0,20.0,0.0; 7P 5
|
||||
110,10.0,0.0,0.0,0.0,0.0,0.0; 9P 6
|
||||
102,4,3,5,7,9; 11P 7
|
||||
142,0,1,0,11,2; 13P 8
|
||||
144,1,1,0,13; 15P 9
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 17P 10
|
||||
0,30.0,10.0,0.0,30.0,0.0,20.0,30.0,10.0,20.0,30.0,0.,1.,0.,1.; 17P 11
|
||||
110,10.0,0.0,30.0,0.0,0.0,30.0; 19P 12
|
||||
110,10.0,0.0,30.0,10.0,20.0,30.0; 21P 13
|
||||
110,0.0,20.0,30.0,10.0,20.0,30.0; 23P 14
|
||||
110,0.0,20.0,30.0,0.0,0.0,30.0; 25P 15
|
||||
102,4,19,21,23,25; 27P 16
|
||||
142,0,17,0,27,2; 29P 17
|
||||
144,17,1,0,29; 31P 18
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 33P 19
|
||||
0,0.0,10.0,0.0,0.0,0.0,0.0,30.0,10.0,0.0,30.0,0.,1.,0.,1.; 33P 20
|
||||
110,10.0,0.0,0.0,0.0,0.0,0.0; 35P 21
|
||||
110,10.0,0.0,0.0,10.0,0.0,30.0; 37P 22
|
||||
110,0.0,0.0,30.0,10.0,0.0,30.0; 39P 23
|
||||
110,0.0,0.0,30.0,0.0,0.0,0.0; 41P 24
|
||||
102,4,35,37,39,41; 43P 25
|
||||
142,0,33,0,43,2; 45P 26
|
||||
144,33,1,0,45; 47P 27
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,20 49P 28
|
||||
.0,0.0,0.0,20.0,30.0,10.0,20.0,0.0,10.0,20.0,30.0,0.,1.,0.,1.; 49P 29
|
||||
110,0.0,20.0,30.0,0.0,20.0,0.0; 51P 30
|
||||
110,0.0,20.0,30.0,10.0,20.0,30.0; 53P 31
|
||||
110,10.0,20.0,0.0,10.0,20.0,30.0; 55P 32
|
||||
110,10.0,20.0,0.0,0.0,20.0,0.0; 57P 33
|
||||
102,4,51,53,55,57; 59P 34
|
||||
142,0,49,0,59,2; 61P 35
|
||||
144,49,1,0,61; 63P 36
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 65P 37
|
||||
0,0.0,0.0,0.0,30.0,0.0,20.0,0.0,0.0,20.0,30.0,0.,1.,0.,1.; 65P 38
|
||||
110,0.0,0.0,30.0,0.0,0.0,0.0; 67P 39
|
||||
110,0.0,0.0,30.0,0.0,20.0,30.0; 69P 40
|
||||
110,0.0,20.0,0.0,0.0,20.0,30.0; 71P 41
|
||||
110,0.0,20.0,0.0,0.0,0.0,0.0; 73P 42
|
||||
102,4,67,69,71,73; 75P 43
|
||||
142,0,65,0,75,2; 77P 44
|
||||
144,65,1,0,77; 79P 45
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,10.0,0 81P 46
|
||||
.0,0.0,10.0,20.0,0.0,10.0,0.0,30.0,10.0,20.0,30.0,0.,1.,0.,1.; 81P 47
|
||||
110,10.0,20.0,0.0,10.0,0.0,0.0; 83P 48
|
||||
110,10.0,20.0,0.0,10.0,20.0,30.0; 85P 49
|
||||
110,10.0,0.0,30.0,10.0,20.0,30.0; 87P 50
|
||||
110,10.0,0.0,30.0,10.0,0.0,0.0; 89P 51
|
||||
102,4,83,85,87,89; 91P 52
|
||||
142,0,81,0,91,2; 93P 53
|
||||
144,81,1,0,93; 95P 54
|
||||
T 1
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.igs"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3963"
|
||||
],
|
||||
"what": "a 20 mm square face bounded by one closed degree-1 B-spline edge whose only vertex sits at parameter 2e-7, just past the curve's start: the face must be kept, not dropped or crashed on",
|
||||
"source": "analytic",
|
||||
"method": "one planar face 20 x 20: A = 400; a sheet, so valid is false; 1 face",
|
||||
"valid": false,
|
||||
"body_count": 1,
|
||||
"area_mm2": 400.0,
|
||||
"faces": 1
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('hand-written test part'),'2;1');
|
||||
FILE_NAME('input.step','2026-10-21T00:00:00',(''),(''),'kernel-cases','kernel-cases','');
|
||||
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(1E-06),#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('square','square','',(#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=CARTESIAN_POINT('',(20.0,0.0,0.0));
|
||||
#16=CARTESIAN_POINT('',(20.0,20.0,0.0));
|
||||
#17=CARTESIAN_POINT('',(0.0,20.0,0.0));
|
||||
#18=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#19=B_SPLINE_CURVE_WITH_KNOTS('',1,(#14,#15,#16,#17,#18),.POLYLINE_FORM.,.T.,.F.,(2,1,1,1,2),(0.,0.25,0.5,0.75,1.),.UNSPECIFIED.);
|
||||
#20=CARTESIAN_POINT('',(1.6E-05,0.0,0.0));
|
||||
#21=VERTEX_POINT('',#20);
|
||||
#22=EDGE_CURVE('',#21,#21,#19,.T.);
|
||||
#23=ORIENTED_EDGE('',*,*,#22,.T.);
|
||||
#24=EDGE_LOOP('',(#23));
|
||||
#25=FACE_OUTER_BOUND('',#24,.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=PLANE('',#29);
|
||||
#31=ADVANCED_FACE('',(#25),#30,.T.);
|
||||
#32=OPEN_SHELL('',(#31));
|
||||
#33=SHELL_BASED_SURFACE_MODEL('square',(#32));
|
||||
#34=CARTESIAN_POINT('',(0.0,0.0,0.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=MANIFOLD_SURFACE_SHAPE_REPRESENTATION('',(#37,#33),#5);
|
||||
#39=SHAPE_DEFINITION_REPRESENTATION(#13,#38);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.step"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#3928",
|
||||
"tangency-labs/solidcraft#3972"
|
||||
],
|
||||
"what": "an IGES file of twelve trimmed planes forming two separate closed boxes (10x20x30, one 100 mm along x): they must come in as two solids, not one open body",
|
||||
"source": "analytic",
|
||||
"method": "two boxes 10 x 20 x 30: V = 2*6000; A = 2*2200; 12 faces",
|
||||
"body_count": 2,
|
||||
"volume_mm3": 12000.0,
|
||||
"area_mm2": 4400.0,
|
||||
"faces": 12
|
||||
}
|
||||
@@ -0,0 +1,307 @@
|
||||
test S 1
|
||||
1H,,1H;,,,,,,,,,,,1.,2,2HMM,,,,1.E-6; G 1
|
||||
128 1 0 0 0 0 0 000000000D 1
|
||||
128 0 0 2 0 0 0 0D 2
|
||||
110 3 0 0 0 0 0 000000000D 3
|
||||
110 0 0 1 0 0 0 0D 4
|
||||
110 4 0 0 0 0 0 000000000D 5
|
||||
110 0 0 1 0 0 0 0D 6
|
||||
110 5 0 0 0 0 0 000000000D 7
|
||||
110 0 0 1 0 0 0 0D 8
|
||||
110 6 0 0 0 0 0 000000000D 9
|
||||
110 0 0 1 0 0 0 0D 10
|
||||
102 7 0 0 0 0 0 000000000D 11
|
||||
102 0 0 1 0 0 0 0D 12
|
||||
142 8 0 0 0 0 0 000000000D 13
|
||||
142 0 0 1 0 0 0 0D 14
|
||||
144 9 0 0 0 0 0 000000000D 15
|
||||
144 0 0 1 0 0 0 0D 16
|
||||
128 10 0 0 0 0 0 000000000D 17
|
||||
128 0 0 2 0 0 0 0D 18
|
||||
110 12 0 0 0 0 0 000000000D 19
|
||||
110 0 0 1 0 0 0 0D 20
|
||||
110 13 0 0 0 0 0 000000000D 21
|
||||
110 0 0 1 0 0 0 0D 22
|
||||
110 14 0 0 0 0 0 000000000D 23
|
||||
110 0 0 1 0 0 0 0D 24
|
||||
110 15 0 0 0 0 0 000000000D 25
|
||||
110 0 0 1 0 0 0 0D 26
|
||||
102 16 0 0 0 0 0 000000000D 27
|
||||
102 0 0 1 0 0 0 0D 28
|
||||
142 17 0 0 0 0 0 000000000D 29
|
||||
142 0 0 1 0 0 0 0D 30
|
||||
144 18 0 0 0 0 0 000000000D 31
|
||||
144 0 0 1 0 0 0 0D 32
|
||||
128 19 0 0 0 0 0 000000000D 33
|
||||
128 0 0 2 0 0 0 0D 34
|
||||
110 21 0 0 0 0 0 000000000D 35
|
||||
110 0 0 1 0 0 0 0D 36
|
||||
110 22 0 0 0 0 0 000000000D 37
|
||||
110 0 0 1 0 0 0 0D 38
|
||||
110 23 0 0 0 0 0 000000000D 39
|
||||
110 0 0 1 0 0 0 0D 40
|
||||
110 24 0 0 0 0 0 000000000D 41
|
||||
110 0 0 1 0 0 0 0D 42
|
||||
102 25 0 0 0 0 0 000000000D 43
|
||||
102 0 0 1 0 0 0 0D 44
|
||||
142 26 0 0 0 0 0 000000000D 45
|
||||
142 0 0 1 0 0 0 0D 46
|
||||
144 27 0 0 0 0 0 000000000D 47
|
||||
144 0 0 1 0 0 0 0D 48
|
||||
128 28 0 0 0 0 0 000000000D 49
|
||||
128 0 0 2 0 0 0 0D 50
|
||||
110 30 0 0 0 0 0 000000000D 51
|
||||
110 0 0 1 0 0 0 0D 52
|
||||
110 31 0 0 0 0 0 000000000D 53
|
||||
110 0 0 1 0 0 0 0D 54
|
||||
110 32 0 0 0 0 0 000000000D 55
|
||||
110 0 0 1 0 0 0 0D 56
|
||||
110 33 0 0 0 0 0 000000000D 57
|
||||
110 0 0 1 0 0 0 0D 58
|
||||
102 34 0 0 0 0 0 000000000D 59
|
||||
102 0 0 1 0 0 0 0D 60
|
||||
142 35 0 0 0 0 0 000000000D 61
|
||||
142 0 0 1 0 0 0 0D 62
|
||||
144 36 0 0 0 0 0 000000000D 63
|
||||
144 0 0 1 0 0 0 0D 64
|
||||
128 37 0 0 0 0 0 000000000D 65
|
||||
128 0 0 2 0 0 0 0D 66
|
||||
110 39 0 0 0 0 0 000000000D 67
|
||||
110 0 0 1 0 0 0 0D 68
|
||||
110 40 0 0 0 0 0 000000000D 69
|
||||
110 0 0 1 0 0 0 0D 70
|
||||
110 41 0 0 0 0 0 000000000D 71
|
||||
110 0 0 1 0 0 0 0D 72
|
||||
110 42 0 0 0 0 0 000000000D 73
|
||||
110 0 0 1 0 0 0 0D 74
|
||||
102 43 0 0 0 0 0 000000000D 75
|
||||
102 0 0 1 0 0 0 0D 76
|
||||
142 44 0 0 0 0 0 000000000D 77
|
||||
142 0 0 1 0 0 0 0D 78
|
||||
144 45 0 0 0 0 0 000000000D 79
|
||||
144 0 0 1 0 0 0 0D 80
|
||||
128 46 0 0 0 0 0 000000000D 81
|
||||
128 0 0 2 0 0 0 0D 82
|
||||
110 48 0 0 0 0 0 000000000D 83
|
||||
110 0 0 1 0 0 0 0D 84
|
||||
110 49 0 0 0 0 0 000000000D 85
|
||||
110 0 0 1 0 0 0 0D 86
|
||||
110 50 0 0 0 0 0 000000000D 87
|
||||
110 0 0 1 0 0 0 0D 88
|
||||
110 51 0 0 0 0 0 000000000D 89
|
||||
110 0 0 1 0 0 0 0D 90
|
||||
102 52 0 0 0 0 0 000000000D 91
|
||||
102 0 0 1 0 0 0 0D 92
|
||||
142 53 0 0 0 0 0 000000000D 93
|
||||
142 0 0 1 0 0 0 0D 94
|
||||
144 54 0 0 0 0 0 000000000D 95
|
||||
144 0 0 1 0 0 0 0D 96
|
||||
128 55 0 0 0 0 0 000000000D 97
|
||||
128 0 0 2 0 0 0 0D 98
|
||||
110 57 0 0 0 0 0 000000000D 99
|
||||
110 0 0 1 0 0 0 0D 100
|
||||
110 58 0 0 0 0 0 000000000D 101
|
||||
110 0 0 1 0 0 0 0D 102
|
||||
110 59 0 0 0 0 0 000000000D 103
|
||||
110 0 0 1 0 0 0 0D 104
|
||||
110 60 0 0 0 0 0 000000000D 105
|
||||
110 0 0 1 0 0 0 0D 106
|
||||
102 61 0 0 0 0 0 000000000D 107
|
||||
102 0 0 1 0 0 0 0D 108
|
||||
142 62 0 0 0 0 0 000000000D 109
|
||||
142 0 0 1 0 0 0 0D 110
|
||||
144 63 0 0 0 0 0 000000000D 111
|
||||
144 0 0 1 0 0 0 0D 112
|
||||
128 64 0 0 0 0 0 000000000D 113
|
||||
128 0 0 3 0 0 0 0D 114
|
||||
110 67 0 0 0 0 0 000000000D 115
|
||||
110 0 0 1 0 0 0 0D 116
|
||||
110 68 0 0 0 0 0 000000000D 117
|
||||
110 0 0 1 0 0 0 0D 118
|
||||
110 69 0 0 0 0 0 000000000D 119
|
||||
110 0 0 1 0 0 0 0D 120
|
||||
110 70 0 0 0 0 0 000000000D 121
|
||||
110 0 0 1 0 0 0 0D 122
|
||||
102 71 0 0 0 0 0 000000000D 123
|
||||
102 0 0 1 0 0 0 0D 124
|
||||
142 72 0 0 0 0 0 000000000D 125
|
||||
142 0 0 1 0 0 0 0D 126
|
||||
144 73 0 0 0 0 0 000000000D 127
|
||||
144 0 0 1 0 0 0 0D 128
|
||||
128 74 0 0 0 0 0 000000000D 129
|
||||
128 0 0 2 0 0 0 0D 130
|
||||
110 76 0 0 0 0 0 000000000D 131
|
||||
110 0 0 1 0 0 0 0D 132
|
||||
110 77 0 0 0 0 0 000000000D 133
|
||||
110 0 0 1 0 0 0 0D 134
|
||||
110 78 0 0 0 0 0 000000000D 135
|
||||
110 0 0 1 0 0 0 0D 136
|
||||
110 79 0 0 0 0 0 000000000D 137
|
||||
110 0 0 1 0 0 0 0D 138
|
||||
102 80 0 0 0 0 0 000000000D 139
|
||||
102 0 0 1 0 0 0 0D 140
|
||||
142 81 0 0 0 0 0 000000000D 141
|
||||
142 0 0 1 0 0 0 0D 142
|
||||
144 82 0 0 0 0 0 000000000D 143
|
||||
144 0 0 1 0 0 0 0D 144
|
||||
128 83 0 0 0 0 0 000000000D 145
|
||||
128 0 0 3 0 0 0 0D 146
|
||||
110 86 0 0 0 0 0 000000000D 147
|
||||
110 0 0 1 0 0 0 0D 148
|
||||
110 87 0 0 0 0 0 000000000D 149
|
||||
110 0 0 1 0 0 0 0D 150
|
||||
110 88 0 0 0 0 0 000000000D 151
|
||||
110 0 0 1 0 0 0 0D 152
|
||||
110 89 0 0 0 0 0 000000000D 153
|
||||
110 0 0 1 0 0 0 0D 154
|
||||
102 90 0 0 0 0 0 000000000D 155
|
||||
102 0 0 1 0 0 0 0D 156
|
||||
142 91 0 0 0 0 0 000000000D 157
|
||||
142 0 0 1 0 0 0 0D 158
|
||||
144 92 0 0 0 0 0 000000000D 159
|
||||
144 0 0 1 0 0 0 0D 160
|
||||
128 93 0 0 0 0 0 000000000D 161
|
||||
128 0 0 3 0 0 0 0D 162
|
||||
110 96 0 0 0 0 0 000000000D 163
|
||||
110 0 0 1 0 0 0 0D 164
|
||||
110 97 0 0 0 0 0 000000000D 165
|
||||
110 0 0 1 0 0 0 0D 166
|
||||
110 98 0 0 0 0 0 000000000D 167
|
||||
110 0 0 1 0 0 0 0D 168
|
||||
110 99 0 0 0 0 0 000000000D 169
|
||||
110 0 0 1 0 0 0 0D 170
|
||||
102 100 0 0 0 0 0 000000000D 171
|
||||
102 0 0 1 0 0 0 0D 172
|
||||
142 101 0 0 0 0 0 000000000D 173
|
||||
142 0 0 1 0 0 0 0D 174
|
||||
144 102 0 0 0 0 0 000000000D 175
|
||||
144 0 0 1 0 0 0 0D 176
|
||||
128 103 0 0 0 0 0 000000000D 177
|
||||
128 0 0 3 0 0 0 0D 178
|
||||
110 106 0 0 0 0 0 000000000D 179
|
||||
110 0 0 1 0 0 0 0D 180
|
||||
110 107 0 0 0 0 0 000000000D 181
|
||||
110 0 0 1 0 0 0 0D 182
|
||||
110 108 0 0 0 0 0 000000000D 183
|
||||
110 0 0 1 0 0 0 0D 184
|
||||
110 109 0 0 0 0 0 000000000D 185
|
||||
110 0 0 1 0 0 0 0D 186
|
||||
102 110 0 0 0 0 0 000000000D 187
|
||||
102 0 0 1 0 0 0 0D 188
|
||||
142 111 0 0 0 0 0 000000000D 189
|
||||
142 0 0 1 0 0 0 0D 190
|
||||
144 112 0 0 0 0 0 000000000D 191
|
||||
144 0 0 1 0 0 0 0D 192
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 1P 1
|
||||
0,0.0,0.0,20.0,0.0,10.0,0.0,0.0,10.0,20.0,0.0,0.,1.,0.,1.; 1P 2
|
||||
110,0.0,0.0,0.0,0.0,20.0,0.0; 3P 3
|
||||
110,0.0,20.0,0.0,10.0,20.0,0.0; 5P 4
|
||||
110,10.0,20.0,0.0,10.0,0.0,0.0; 7P 5
|
||||
110,10.0,0.0,0.0,0.0,0.0,0.0; 9P 6
|
||||
102,4,3,5,7,9; 11P 7
|
||||
142,0,1,0,11,2; 13P 8
|
||||
144,1,1,0,13; 15P 9
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 17P 10
|
||||
0,30.0,10.0,0.0,30.0,0.0,20.0,30.0,10.0,20.0,30.0,0.,1.,0.,1.; 17P 11
|
||||
110,0.0,0.0,30.0,10.0,0.0,30.0; 19P 12
|
||||
110,10.0,0.0,30.0,10.0,20.0,30.0; 21P 13
|
||||
110,10.0,20.0,30.0,0.0,20.0,30.0; 23P 14
|
||||
110,0.0,20.0,30.0,0.0,0.0,30.0; 25P 15
|
||||
102,4,19,21,23,25; 27P 16
|
||||
142,0,17,0,27,2; 29P 17
|
||||
144,17,1,0,29; 31P 18
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 33P 19
|
||||
0,0.0,10.0,0.0,0.0,0.0,0.0,30.0,10.0,0.0,30.0,0.,1.,0.,1.; 33P 20
|
||||
110,0.0,0.0,0.0,10.0,0.0,0.0; 35P 21
|
||||
110,10.0,0.0,0.0,10.0,0.0,30.0; 37P 22
|
||||
110,10.0,0.0,30.0,0.0,0.0,30.0; 39P 23
|
||||
110,0.0,0.0,30.0,0.0,0.0,0.0; 41P 24
|
||||
102,4,35,37,39,41; 43P 25
|
||||
142,0,33,0,43,2; 45P 26
|
||||
144,33,1,0,45; 47P 27
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,20 49P 28
|
||||
.0,0.0,0.0,20.0,30.0,10.0,20.0,0.0,10.0,20.0,30.0,0.,1.,0.,1.; 49P 29
|
||||
110,0.0,20.0,0.0,0.0,20.0,30.0; 51P 30
|
||||
110,0.0,20.0,30.0,10.0,20.0,30.0; 53P 31
|
||||
110,10.0,20.0,30.0,10.0,20.0,0.0; 55P 32
|
||||
110,10.0,20.0,0.0,0.0,20.0,0.0; 57P 33
|
||||
102,4,51,53,55,57; 59P 34
|
||||
142,0,49,0,59,2; 61P 35
|
||||
144,49,1,0,61; 63P 36
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,0.0,0. 65P 37
|
||||
0,0.0,0.0,0.0,30.0,0.0,20.0,0.0,0.0,20.0,30.0,0.,1.,0.,1.; 65P 38
|
||||
110,0.0,0.0,0.0,0.0,0.0,30.0; 67P 39
|
||||
110,0.0,0.0,30.0,0.0,20.0,30.0; 69P 40
|
||||
110,0.0,20.0,30.0,0.0,20.0,0.0; 71P 41
|
||||
110,0.0,20.0,0.0,0.0,0.0,0.0; 73P 42
|
||||
102,4,67,69,71,73; 75P 43
|
||||
142,0,65,0,75,2; 77P 44
|
||||
144,65,1,0,77; 79P 45
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,10.0,0 81P 46
|
||||
.0,0.0,10.0,20.0,0.0,10.0,0.0,30.0,10.0,20.0,30.0,0.,1.,0.,1.; 81P 47
|
||||
110,10.0,0.0,0.0,10.0,20.0,0.0; 83P 48
|
||||
110,10.0,20.0,0.0,10.0,20.0,30.0; 85P 49
|
||||
110,10.0,20.0,30.0,10.0,0.0,30.0; 87P 50
|
||||
110,10.0,0.0,30.0,10.0,0.0,0.0; 89P 51
|
||||
102,4,83,85,87,89; 91P 52
|
||||
142,0,81,0,91,2; 93P 53
|
||||
144,81,1,0,93; 95P 54
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,100.0, 97P 55
|
||||
0.0,0.0,100.0,20.0,0.0,110.0,0.0,0.0,110.0,20.0,0.0,0.,1.,0.,1.; 97P 56
|
||||
110,100.0,0.0,0.0,100.0,20.0,0.0; 99P 57
|
||||
110,100.0,20.0,0.0,110.0,20.0,0.0; 101P 58
|
||||
110,110.0,20.0,0.0,110.0,0.0,0.0; 103P 59
|
||||
110,110.0,0.0,0.0,100.0,0.0,0.0; 105P 60
|
||||
102,4,99,101,103,105; 107P 61
|
||||
142,0,97,0,107,2; 109P 62
|
||||
144,97,1,0,109; 111P 63
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,100.0, 113P 64
|
||||
0.0,30.0,110.0,0.0,30.0,100.0,20.0,30.0,110.0,20.0,30.0,0.,1.,0. 113P 65
|
||||
,1.; 113P 66
|
||||
110,100.0,0.0,30.0,110.0,0.0,30.0; 115P 67
|
||||
110,110.0,0.0,30.0,110.0,20.0,30.0; 117P 68
|
||||
110,110.0,20.0,30.0,100.0,20.0,30.0; 119P 69
|
||||
110,100.0,20.0,30.0,100.0,0.0,30.0; 121P 70
|
||||
102,4,115,117,119,121; 123P 71
|
||||
142,0,113,0,123,2; 125P 72
|
||||
144,113,1,0,125; 127P 73
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,100.0, 129P 74
|
||||
0.0,0.0,110.0,0.0,0.0,100.0,0.0,30.0,110.0,0.0,30.0,0.,1.,0.,1.; 129P 75
|
||||
110,100.0,0.0,0.0,110.0,0.0,0.0; 131P 76
|
||||
110,110.0,0.0,0.0,110.0,0.0,30.0; 133P 77
|
||||
110,110.0,0.0,30.0,100.0,0.0,30.0; 135P 78
|
||||
110,100.0,0.0,30.0,100.0,0.0,0.0; 137P 79
|
||||
102,4,131,133,135,137; 139P 80
|
||||
142,0,129,0,139,2; 141P 81
|
||||
144,129,1,0,141; 143P 82
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,100.0, 145P 83
|
||||
20.0,0.0,100.0,20.0,30.0,110.0,20.0,0.0,110.0,20.0,30.0,0.,1.,0. 145P 84
|
||||
,1.; 145P 85
|
||||
110,100.0,20.0,0.0,100.0,20.0,30.0; 147P 86
|
||||
110,100.0,20.0,30.0,110.0,20.0,30.0; 149P 87
|
||||
110,110.0,20.0,30.0,110.0,20.0,0.0; 151P 88
|
||||
110,110.0,20.0,0.0,100.0,20.0,0.0; 153P 89
|
||||
102,4,147,149,151,153; 155P 90
|
||||
142,0,145,0,155,2; 157P 91
|
||||
144,145,1,0,157; 159P 92
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,100.0, 161P 93
|
||||
0.0,0.0,100.0,0.0,30.0,100.0,20.0,0.0,100.0,20.0,30.0,0.,1.,0.,1 161P 94
|
||||
.; 161P 95
|
||||
110,100.0,0.0,0.0,100.0,0.0,30.0; 163P 96
|
||||
110,100.0,0.0,30.0,100.0,20.0,30.0; 165P 97
|
||||
110,100.0,20.0,30.0,100.0,20.0,0.0; 167P 98
|
||||
110,100.0,20.0,0.0,100.0,0.0,0.0; 169P 99
|
||||
102,4,163,165,167,169; 171P 100
|
||||
142,0,161,0,171,2; 173P 101
|
||||
144,161,1,0,173; 175P 102
|
||||
128,1,1,1,1,0,0,1,0,0,0.,0.,1.,1.,0.,0.,1.,1.,1.,1.,1.,1.,110.0, 177P 103
|
||||
0.0,0.0,110.0,20.0,0.0,110.0,0.0,30.0,110.0,20.0,30.0,0.,1.,0.,1 177P 104
|
||||
.; 177P 105
|
||||
110,110.0,0.0,0.0,110.0,20.0,0.0; 179P 106
|
||||
110,110.0,20.0,0.0,110.0,20.0,30.0; 181P 107
|
||||
110,110.0,20.0,30.0,110.0,0.0,30.0; 183P 108
|
||||
110,110.0,0.0,30.0,110.0,0.0,0.0; 185P 109
|
||||
102,4,179,181,183,185; 187P 110
|
||||
142,0,177,0,187,2; 189P 111
|
||||
144,177,1,0,189; 191P 112
|
||||
T 1
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.igs"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#4005"
|
||||
],
|
||||
"what": "a cylinder r=5 h=10 whose side is a CONICAL_SURFACE with a semi-angle of 8e-12 rad (a cylinder to within rounding, as the exporter wrote it): the face must be read, not refused as a 'bad cone'",
|
||||
"source": "analytic",
|
||||
"method": "V = pi r^2 h = 250 pi = 785.3982; A = 2 pi r h + 2 pi r^2 = 471.2389; 3 faces, 3 edges (two circles, one seam), 2 vertices",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 785.3982,
|
||||
"area_mm2": 471.2389,
|
||||
"faces": 3,
|
||||
"edges": 3,
|
||||
"vertices": 2
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('hand-written test part'),'2;1');
|
||||
FILE_NAME('input.step','2026-10-21T00:00:00',(''),(''),'kernel-cases','kernel-cases','');
|
||||
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(1E-06),#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('pin','pin','',(#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=CIRCLE('',#17,5.0);
|
||||
#19=CARTESIAN_POINT('',(5.0,0.0,0.0));
|
||||
#20=VERTEX_POINT('',#19);
|
||||
#21=EDGE_CURVE('',#20,#20,#18,.T.);
|
||||
#22=CARTESIAN_POINT('',(0.0,0.0,10.0));
|
||||
#23=DIRECTION('',(0.0,0.0,1.0));
|
||||
#24=DIRECTION('',(1.0,0.0,0.0));
|
||||
#25=AXIS2_PLACEMENT_3D('',#22,#23,#24);
|
||||
#26=CIRCLE('',#25,5.0);
|
||||
#27=CARTESIAN_POINT('',(5.0,0.0,10.0));
|
||||
#28=VERTEX_POINT('',#27);
|
||||
#29=EDGE_CURVE('',#28,#28,#26,.T.);
|
||||
#30=CARTESIAN_POINT('',(5.0,0.0,0.0));
|
||||
#31=DIRECTION('',(0.0,0.0,1.0));
|
||||
#32=VECTOR('',#31,10.0);
|
||||
#33=LINE('',#30,#32);
|
||||
#34=EDGE_CURVE('',#20,#28,#33,.T.);
|
||||
#35=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#36=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#37=DIRECTION('',(1.0,0.0,0.0));
|
||||
#38=AXIS2_PLACEMENT_3D('',#35,#36,#37);
|
||||
#39=PLANE('',#38);
|
||||
#40=ORIENTED_EDGE('',*,*,#21,.F.);
|
||||
#41=EDGE_LOOP('',(#40));
|
||||
#42=FACE_OUTER_BOUND('',#41,.T.);
|
||||
#43=ADVANCED_FACE('',(#42),#39,.T.);
|
||||
#44=CARTESIAN_POINT('',(0.0,0.0,10.0));
|
||||
#45=DIRECTION('',(0.0,0.0,1.0));
|
||||
#46=DIRECTION('',(1.0,0.0,0.0));
|
||||
#47=AXIS2_PLACEMENT_3D('',#44,#45,#46);
|
||||
#48=PLANE('',#47);
|
||||
#49=ORIENTED_EDGE('',*,*,#29,.T.);
|
||||
#50=EDGE_LOOP('',(#49));
|
||||
#51=FACE_OUTER_BOUND('',#50,.T.);
|
||||
#52=ADVANCED_FACE('',(#51),#48,.T.);
|
||||
#53=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#54=DIRECTION('',(0.0,0.0,1.0));
|
||||
#55=DIRECTION('',(1.0,0.0,0.0));
|
||||
#56=AXIS2_PLACEMENT_3D('',#53,#54,#55);
|
||||
#57=CONICAL_SURFACE('',#56,5.0,8.E-12);
|
||||
#58=ORIENTED_EDGE('',*,*,#21,.T.);
|
||||
#59=ORIENTED_EDGE('',*,*,#34,.T.);
|
||||
#60=ORIENTED_EDGE('',*,*,#29,.F.);
|
||||
#61=ORIENTED_EDGE('',*,*,#34,.F.);
|
||||
#62=EDGE_LOOP('',(#58,#59,#60,#61));
|
||||
#63=FACE_OUTER_BOUND('',#62,.T.);
|
||||
#64=ADVANCED_FACE('',(#63),#57,.T.);
|
||||
#65=CLOSED_SHELL('',(#43,#52,#64));
|
||||
#66=MANIFOLD_SOLID_BREP('pin',#65);
|
||||
#67=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#68=DIRECTION('',(0.0,0.0,1.0));
|
||||
#69=DIRECTION('',(1.0,0.0,0.0));
|
||||
#70=AXIS2_PLACEMENT_3D('',#67,#68,#69);
|
||||
#71=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#70,#66),#5);
|
||||
#72=SHAPE_DEFINITION_REPRESENTATION(#13,#71);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.step"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#4006"
|
||||
],
|
||||
"what": "an annular plate r 4..10, 3 thick, whose top face is a CONICAL_SURFACE of semi-angle pi/2 - 7e-12 (a plane to within rounding, as the exporter wrote it): the face must be read, not refused as a 'bad cone', and the body stays closed",
|
||||
"source": "analytic",
|
||||
"method": "V = pi (10^2 - 4^2) 3 = 252 pi = 791.6813; A = 2 pi (100 - 16) + 2 pi 10*3 + 2 pi 4*3 = 791.6813; 4 faces, 6 edges, 4 vertices",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 791.6813,
|
||||
"area_mm2": 791.6813,
|
||||
"faces": 4,
|
||||
"edges": 6,
|
||||
"vertices": 4
|
||||
}
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('hand-written test part'),'2;1');
|
||||
FILE_NAME('input.step','2026-10-21T00:00:00',(''),(''),'kernel-cases','kernel-cases','');
|
||||
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(1E-06),#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('plate','plate','',(#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=CIRCLE('',#17,10.0);
|
||||
#19=CARTESIAN_POINT('',(10.0,0.0,0.0));
|
||||
#20=VERTEX_POINT('',#19);
|
||||
#21=EDGE_CURVE('',#20,#20,#18,.T.);
|
||||
#22=CARTESIAN_POINT('',(0.0,0.0,3.0));
|
||||
#23=DIRECTION('',(0.0,0.0,1.0));
|
||||
#24=DIRECTION('',(1.0,0.0,0.0));
|
||||
#25=AXIS2_PLACEMENT_3D('',#22,#23,#24);
|
||||
#26=CIRCLE('',#25,10.0);
|
||||
#27=CARTESIAN_POINT('',(10.0,0.0,3.0));
|
||||
#28=VERTEX_POINT('',#27);
|
||||
#29=EDGE_CURVE('',#28,#28,#26,.T.);
|
||||
#30=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#31=DIRECTION('',(0.0,0.0,1.0));
|
||||
#32=DIRECTION('',(1.0,0.0,0.0));
|
||||
#33=AXIS2_PLACEMENT_3D('',#30,#31,#32);
|
||||
#34=CIRCLE('',#33,4.0);
|
||||
#35=CARTESIAN_POINT('',(4.0,0.0,0.0));
|
||||
#36=VERTEX_POINT('',#35);
|
||||
#37=EDGE_CURVE('',#36,#36,#34,.T.);
|
||||
#38=CARTESIAN_POINT('',(0.0,0.0,3.0));
|
||||
#39=DIRECTION('',(0.0,0.0,1.0));
|
||||
#40=DIRECTION('',(1.0,0.0,0.0));
|
||||
#41=AXIS2_PLACEMENT_3D('',#38,#39,#40);
|
||||
#42=CIRCLE('',#41,4.0);
|
||||
#43=CARTESIAN_POINT('',(4.0,0.0,3.0));
|
||||
#44=VERTEX_POINT('',#43);
|
||||
#45=EDGE_CURVE('',#44,#44,#42,.T.);
|
||||
#46=CARTESIAN_POINT('',(10.0,0.0,0.0));
|
||||
#47=DIRECTION('',(0.0,0.0,1.0));
|
||||
#48=VECTOR('',#47,3.0);
|
||||
#49=LINE('',#46,#48);
|
||||
#50=EDGE_CURVE('',#20,#28,#49,.T.);
|
||||
#51=CARTESIAN_POINT('',(4.0,0.0,0.0));
|
||||
#52=DIRECTION('',(0.0,0.0,1.0));
|
||||
#53=VECTOR('',#52,3.0);
|
||||
#54=LINE('',#51,#53);
|
||||
#55=EDGE_CURVE('',#36,#44,#54,.T.);
|
||||
#56=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#57=DIRECTION('',(0.0,0.0,-1.0));
|
||||
#58=DIRECTION('',(1.0,0.0,0.0));
|
||||
#59=AXIS2_PLACEMENT_3D('',#56,#57,#58);
|
||||
#60=PLANE('',#59);
|
||||
#61=ORIENTED_EDGE('',*,*,#21,.F.);
|
||||
#62=EDGE_LOOP('',(#61));
|
||||
#63=FACE_OUTER_BOUND('',#62,.T.);
|
||||
#64=ORIENTED_EDGE('',*,*,#37,.T.);
|
||||
#65=EDGE_LOOP('',(#64));
|
||||
#66=FACE_BOUND('',#65,.T.);
|
||||
#67=ADVANCED_FACE('',(#63,#66),#60,.T.);
|
||||
#68=CARTESIAN_POINT('',(0.0,0.0,3.0));
|
||||
#69=DIRECTION('',(0.0,0.0,1.0));
|
||||
#70=DIRECTION('',(1.0,0.0,0.0));
|
||||
#71=AXIS2_PLACEMENT_3D('',#68,#69,#70);
|
||||
#72=CONICAL_SURFACE('',#71,4.0,1.5707963267878966);
|
||||
#73=ORIENTED_EDGE('',*,*,#29,.T.);
|
||||
#74=EDGE_LOOP('',(#73));
|
||||
#75=FACE_OUTER_BOUND('',#74,.T.);
|
||||
#76=ORIENTED_EDGE('',*,*,#45,.F.);
|
||||
#77=EDGE_LOOP('',(#76));
|
||||
#78=FACE_BOUND('',#77,.T.);
|
||||
#79=ADVANCED_FACE('',(#75,#78),#72,.F.);
|
||||
#80=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#81=DIRECTION('',(0.0,0.0,1.0));
|
||||
#82=DIRECTION('',(1.0,0.0,0.0));
|
||||
#83=AXIS2_PLACEMENT_3D('',#80,#81,#82);
|
||||
#84=CYLINDRICAL_SURFACE('',#83,10.0);
|
||||
#85=ORIENTED_EDGE('',*,*,#21,.T.);
|
||||
#86=ORIENTED_EDGE('',*,*,#50,.T.);
|
||||
#87=ORIENTED_EDGE('',*,*,#29,.F.);
|
||||
#88=ORIENTED_EDGE('',*,*,#50,.F.);
|
||||
#89=EDGE_LOOP('',(#85,#86,#87,#88));
|
||||
#90=FACE_OUTER_BOUND('',#89,.T.);
|
||||
#91=ADVANCED_FACE('',(#90),#84,.T.);
|
||||
#92=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#93=DIRECTION('',(0.0,0.0,1.0));
|
||||
#94=DIRECTION('',(1.0,0.0,0.0));
|
||||
#95=AXIS2_PLACEMENT_3D('',#92,#93,#94);
|
||||
#96=CYLINDRICAL_SURFACE('',#95,4.0);
|
||||
#97=ORIENTED_EDGE('',*,*,#55,.T.);
|
||||
#98=ORIENTED_EDGE('',*,*,#45,.T.);
|
||||
#99=ORIENTED_EDGE('',*,*,#55,.F.);
|
||||
#100=ORIENTED_EDGE('',*,*,#37,.F.);
|
||||
#101=EDGE_LOOP('',(#97,#98,#99,#100));
|
||||
#102=FACE_OUTER_BOUND('',#101,.T.);
|
||||
#103=ADVANCED_FACE('',(#102),#96,.F.);
|
||||
#104=CLOSED_SHELL('',(#67,#79,#91,#103));
|
||||
#105=MANIFOLD_SOLID_BREP('plate',#104);
|
||||
#106=CARTESIAN_POINT('',(0.0,0.0,0.0));
|
||||
#107=DIRECTION('',(0.0,0.0,1.0));
|
||||
#108=DIRECTION('',(1.0,0.0,0.0));
|
||||
#109=AXIS2_PLACEMENT_3D('',#106,#107,#108);
|
||||
#110=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#109,#105),#5);
|
||||
#111=SHAPE_DEFINITION_REPRESENTATION(#13,#110);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "file.insert_step",
|
||||
"params": {
|
||||
"path": "$CASE/input.step"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,218 @@
|
||||
[
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#11",
|
||||
"why": "export-only: STEP export merging user-split faces; no import geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#14",
|
||||
"why": "needs Fusion-written IGES files (commercial CAD output) that can't be rebuilt; the IGES reader's synthetic cases are 3359, 3806, 3845, 3886, 3912, 3913, 3972"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#200",
|
||||
"why": "feature request (.f3z history import), no geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#688",
|
||||
"why": "feature request (FreeCAD .FCStd import), no geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1033",
|
||||
"why": "performance only (large PCB STEP loads slowly), no wrong result"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1161",
|
||||
"why": "feature request (external I/O library), no geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1397",
|
||||
"why": "CI corpus of real-world files, tolerance-based; not a hand-writable geometry case"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1468",
|
||||
"why": "needs the reporter's STEP file (seam artefact in display); looks like tessellation, other area: tessellation"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1609",
|
||||
"why": "metadata/assembly naming of IGES parts, no geometry consequence"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1706",
|
||||
"why": "needs the Fusion-written threaded part (wrong coordinates and negative volume); cause unknown, cannot be rebuilt synthetically"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1708",
|
||||
"why": "F3D import (editable history), not STEP/IGES geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1709",
|
||||
"why": "F3D import (editable history), not STEP/IGES geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1784",
|
||||
"why": "memory use of a 38 MB STEP import; crash/performance, no hand-writable geometry; other area: crashes"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1928",
|
||||
"why": "export-only: revolved faces scaled across their axis written as NURBS"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1934",
|
||||
"why": "hang on a user's STEP file (gehaeuse82.stp), performance; no synthetic repro"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#1984",
|
||||
"why": "other area: booleans (interference of near-coaxial pins after a round trip)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2052",
|
||||
"why": "DXF import, not STEP/IGES"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2127",
|
||||
"why": "3MF import, not STEP/IGES"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2579",
|
||||
"why": "other area: booleans (divide_face loses a small hole in a large tilted plate)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2605",
|
||||
"why": "SVG import UI, no geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2748",
|
||||
"why": "parameter import, no geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2776",
|
||||
"why": "parameter import performance, no geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2809",
|
||||
"why": "performance only (orientation meshing of periodic faces, minutes per part), no wrong result"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2814",
|
||||
"why": "performance only (opening a large assembly takes an hour), no wrong result"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2872",
|
||||
"why": "placement after 'stand it up' makes a sketch/extrude land elsewhere: UI/placement, not import geometry; no file to rebuild"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2875",
|
||||
"why": "performance only (orient each instanced part once)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#2918",
|
||||
"why": "performance/contract tests for repeated instances, no wrong geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3046",
|
||||
"why": "performance only (parallel read of distinct parts)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3047",
|
||||
"why": "performance only (mesh an instanced part once)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3108",
|
||||
"why": "performance only (STEP load time), no wrong result"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3209",
|
||||
"why": "FreeCAD/Rhino import decode caps, not STEP/IGES"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3216",
|
||||
"why": "CSV parameter import, no geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3221",
|
||||
"why": "design file size limit when saving a large STEP import, not geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3223",
|
||||
"why": "UI/placement after 'stand it up' (extrude lands at 90 degrees); no file to rebuild; same class as #2872"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3237",
|
||||
"why": "MCP feature request (reverse engineering STEP files), no geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3289",
|
||||
"why": "assembly cap/refusal policy for huge assemblies (50,000 instances), needs a huge synthetic assembly and is not a geometry answer"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3394",
|
||||
"why": "export-only: STEP export drops cone faces for other readers (fixed by #3557)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3537",
|
||||
"why": "tolerance persistence across saving a design, not import geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3557",
|
||||
"why": "export-only: loop order of merged cone and cylinder faces on STEP export"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3573",
|
||||
"why": "other area: shell (tapered filleted box shell, fillet edges 0.02 mm off the surface)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3595",
|
||||
"why": "performance only (orbit stutter with ~100 bodies)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3720",
|
||||
"why": "performance only (viewport lag with a 1,163-body assembly)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3784",
|
||||
"why": "CI goldens differing on Windows, not an import geometry case"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3847",
|
||||
"why": "other area: tessellation (display plans for threads and pointed ends of STEP parts)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3849",
|
||||
"why": "other area: tessellation (display plans for STEP threads and pointed ends)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3858",
|
||||
"why": "3MF import naming, not STEP/IGES geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3859",
|
||||
"why": "3MF import naming, not STEP/IGES geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3924",
|
||||
"why": "AP242 tessellated parts as mesh bodies: a feature with no graded geometry, and the TRIANGULATED_SURFACE_SET entity layout could not be written reliably from the specification here; needs the tangency-labs/models file"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3925",
|
||||
"why": "AP242 tessellated parts as mesh bodies: same as #3924"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#3974",
|
||||
"why": "refactor PR (STEP geometry as plain data), no behaviour change to grade"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#4007",
|
||||
"why": "export-only: writer nondeterminism for a revolved horn torus; the reading side would need the collapsed-pole spline of the written file"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#4021",
|
||||
"why": "performance only (display plans and model cache for large assemblies)"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#4086",
|
||||
"why": "STEP-import file too large: size limit, no geometry"
|
||||
},
|
||||
{
|
||||
"source": "tangency-labs/solidcraft#4100",
|
||||
"why": "component/joint bookkeeping after deleting an inserted STEP, not geometry"
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user