feat: establish reproducible FreeCAD web compatibility baseline

This commit is contained in:
2026-08-10 16:11:38 -04:00
parent e5a5d74dbc
commit b962a5c3b5
733 changed files with 349081 additions and 647 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

View File

@@ -0,0 +1,19 @@
{
"schemaVersion": 1,
"id": "invalid-boolean-001",
"category": "Part",
"description": "Boolean operand rejection",
"operation": {
"type": "cut",
"base": {
"type": "box",
"length": 1,
"width": 1,
"height": 1
},
"tool": {
"type": "unknown"
}
},
"expectedError": "Unsupported"
}

View File

@@ -0,0 +1,19 @@
{
"schemaVersion": 1,
"id": "invalid-boolean-002",
"category": "Part",
"description": "Boolean operand rejection",
"operation": {
"type": "fuse",
"base": {
"type": "box",
"length": 1,
"width": 1,
"height": 1
},
"tool": {
"type": "unknown"
}
},
"expectedError": "Unsupported"
}

View File

@@ -0,0 +1,16 @@
{
"schemaVersion": 1,
"id": "invalid-boolean-003",
"category": "Part",
"description": "Boolean operand rejection",
"operation": {
"type": "cut",
"base": {
"type": "box",
"length": 1,
"width": 1,
"height": 1
}
},
"expectedError": "operation"
}

View File

@@ -0,0 +1,19 @@
{
"schemaVersion": 1,
"id": "invalid-boolean-004",
"category": "Part",
"description": "Boolean operand rejection",
"operation": {
"type": "fuse",
"base": {
"type": "box",
"length": 1,
"width": 1,
"height": 1
},
"tool": {
"type": "unknown"
}
},
"expectedError": "Unsupported"
}

View File

@@ -0,0 +1,19 @@
{
"schemaVersion": 1,
"id": "invalid-boolean-005",
"category": "Part",
"description": "Boolean operand rejection",
"operation": {
"type": "cut",
"base": {
"type": "box",
"length": 1,
"width": 1,
"height": 1
},
"tool": {
"type": "unknown"
}
},
"expectedError": "Unsupported"
}

View File

@@ -0,0 +1,16 @@
{
"schemaVersion": 1,
"id": "invalid-boolean-006",
"category": "Part",
"description": "Boolean operand rejection",
"operation": {
"type": "fuse",
"base": {
"type": "box",
"length": 1,
"width": 1,
"height": 1
}
},
"expectedError": "operation"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-box-001",
"category": "Part",
"description": "Box dimension rejection",
"operation": {
"type": "box",
"length": 0,
"width": 3,
"height": 3
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-box-002",
"category": "Part",
"description": "Box dimension rejection",
"operation": {
"type": "box",
"length": -2,
"width": 4,
"height": 3
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-box-003",
"category": "Part",
"description": "Box dimension rejection",
"operation": {
"type": "box",
"length": 0,
"width": 5,
"height": 3
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-box-004",
"category": "Part",
"description": "Box dimension rejection",
"operation": {
"type": "box",
"length": -4,
"width": 6,
"height": 3
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-box-005",
"category": "Part",
"description": "Box dimension rejection",
"operation": {
"type": "box",
"length": 0,
"width": 7,
"height": 3
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-box-006",
"category": "Part",
"description": "Box dimension rejection",
"operation": {
"type": "box",
"length": -6,
"width": 8,
"height": 3
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-box-007",
"category": "Part",
"description": "Box dimension rejection",
"operation": {
"type": "box",
"length": 0,
"width": 9,
"height": 3
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-box-008",
"category": "Part",
"description": "Box dimension rejection",
"operation": {
"type": "box",
"length": -8,
"width": 10,
"height": 3
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-box-009",
"category": "Part",
"description": "Box dimension rejection",
"operation": {
"type": "box",
"length": 0,
"width": 11,
"height": 3
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-box-010",
"category": "Part",
"description": "Box dimension rejection",
"operation": {
"type": "box",
"length": -10,
"width": 12,
"height": 3
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-box-011",
"category": "Part",
"description": "Box dimension rejection",
"operation": {
"type": "box",
"length": 0,
"width": 13,
"height": 3
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-box-012",
"category": "Part",
"description": "Box dimension rejection",
"operation": {
"type": "box",
"length": -12,
"width": 14,
"height": 3
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,16 @@
{
"schemaVersion": 1,
"id": "invalid-common-001",
"category": "Part",
"description": "Common operand rejection",
"operation": {
"type": "common",
"base": {
"type": "box",
"length": 1,
"width": 1,
"height": 1
}
},
"expectedError": "operation"
}

View File

@@ -0,0 +1,14 @@
{
"schemaVersion": 1,
"id": "invalid-cone-001",
"category": "Part",
"description": "Cone parameter rejection",
"operation": {
"type": "cone",
"radius1": -1,
"radius2": 0,
"height": 5,
"angle": 360
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,14 @@
{
"schemaVersion": 1,
"id": "invalid-cone-002",
"category": "Part",
"description": "Cone parameter rejection",
"operation": {
"type": "cone",
"radius1": 0,
"radius2": -1,
"height": 5,
"angle": 360
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,14 @@
{
"schemaVersion": 1,
"id": "invalid-cone-003",
"category": "Part",
"description": "Cone parameter rejection",
"operation": {
"type": "cone",
"radius1": -1,
"radius2": 0,
"height": 0,
"angle": 360
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,14 @@
{
"schemaVersion": 1,
"id": "invalid-cone-004",
"category": "Part",
"description": "Cone parameter rejection",
"operation": {
"type": "cone",
"radius1": 0,
"radius2": -1,
"height": 5,
"angle": 361
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,14 @@
{
"schemaVersion": 1,
"id": "invalid-cone-005",
"category": "Part",
"description": "Cone parameter rejection",
"operation": {
"type": "cone",
"radius1": -1,
"radius2": 0,
"height": 5,
"angle": 360
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,14 @@
{
"schemaVersion": 1,
"id": "invalid-cone-006",
"category": "Part",
"description": "Cone parameter rejection",
"operation": {
"type": "cone",
"radius1": 0,
"radius2": -1,
"height": 0,
"angle": 360
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,14 @@
{
"schemaVersion": 1,
"id": "invalid-cone-007",
"category": "Part",
"description": "Cone parameter rejection",
"operation": {
"type": "cone",
"radius1": -1,
"radius2": 0,
"height": 5,
"angle": 360
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,14 @@
{
"schemaVersion": 1,
"id": "invalid-cone-008",
"category": "Part",
"description": "Cone parameter rejection",
"operation": {
"type": "cone",
"radius1": 0,
"radius2": -1,
"height": 5,
"angle": 361
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-cylinder-001",
"category": "Part",
"description": "Cylinder parameter rejection",
"operation": {
"type": "cylinder",
"radius": 0,
"height": 5,
"angle": 360
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-cylinder-002",
"category": "Part",
"description": "Cylinder parameter rejection",
"operation": {
"type": "cylinder",
"radius": -2,
"height": 5,
"angle": 360
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-cylinder-003",
"category": "Part",
"description": "Cylinder parameter rejection",
"operation": {
"type": "cylinder",
"radius": 0,
"height": 0,
"angle": 360
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-cylinder-004",
"category": "Part",
"description": "Cylinder parameter rejection",
"operation": {
"type": "cylinder",
"radius": -4,
"height": 5,
"angle": 361
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-cylinder-005",
"category": "Part",
"description": "Cylinder parameter rejection",
"operation": {
"type": "cylinder",
"radius": 0,
"height": 5,
"angle": 360
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-cylinder-006",
"category": "Part",
"description": "Cylinder parameter rejection",
"operation": {
"type": "cylinder",
"radius": -6,
"height": 0,
"angle": 360
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-cylinder-007",
"category": "Part",
"description": "Cylinder parameter rejection",
"operation": {
"type": "cylinder",
"radius": 0,
"height": 5,
"angle": 360
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-cylinder-008",
"category": "Part",
"description": "Cylinder parameter rejection",
"operation": {
"type": "cylinder",
"radius": -8,
"height": 5,
"angle": 361
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-cylinder-009",
"category": "Part",
"description": "Cylinder parameter rejection",
"operation": {
"type": "cylinder",
"radius": 0,
"height": 0,
"angle": 360
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,13 @@
{
"schemaVersion": 1,
"id": "invalid-cylinder-010",
"category": "Part",
"description": "Cylinder parameter rejection",
"operation": {
"type": "cylinder",
"radius": -10,
"height": 5,
"angle": 360
},
"expectedError": "parameters"
}

View File

@@ -0,0 +1,10 @@
{
"schemaVersion": 1,
"id": "invalid-operation-001",
"category": "Part",
"description": "Unknown operation rejection",
"operation": {
"type": "unsupported-1"
},
"expectedError": "Unsupported"
}

View File

@@ -0,0 +1,10 @@
{
"schemaVersion": 1,
"id": "invalid-operation-002",
"category": "Part",
"description": "Unknown operation rejection",
"operation": {
"type": "unsupported-2"
},
"expectedError": "Unsupported"
}

View File

@@ -0,0 +1,10 @@
{
"schemaVersion": 1,
"id": "invalid-operation-003",
"category": "Part",
"description": "Unknown operation rejection",
"operation": {
"type": "unsupported-3"
},
"expectedError": "Unsupported"
}

View File

@@ -0,0 +1,10 @@
{
"schemaVersion": 1,
"id": "invalid-operation-004",
"category": "Part",
"description": "Unknown operation rejection",
"operation": {
"type": "unsupported-4"
},
"expectedError": "Unsupported"
}

View File

@@ -0,0 +1,10 @@
{
"schemaVersion": 1,
"id": "invalid-operation-005",
"category": "Part",
"description": "Unknown operation rejection",
"operation": {
"type": "unsupported-5"
},
"expectedError": "Unsupported"
}

View File

@@ -0,0 +1,10 @@
{
"schemaVersion": 1,
"id": "invalid-operation-006",
"category": "Part",
"description": "Unknown operation rejection",
"operation": {
"type": "unsupported-6"
},
"expectedError": "Unsupported"
}

View File

@@ -0,0 +1,11 @@
{
"schemaVersion": 1,
"id": "invalid-sphere-001",
"category": "Part",
"description": "Sphere radius rejection",
"operation": {
"type": "sphere",
"radius": 0
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,11 @@
{
"schemaVersion": 1,
"id": "invalid-sphere-002",
"category": "Part",
"description": "Sphere radius rejection",
"operation": {
"type": "sphere",
"radius": -2
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,11 @@
{
"schemaVersion": 1,
"id": "invalid-sphere-003",
"category": "Part",
"description": "Sphere radius rejection",
"operation": {
"type": "sphere",
"radius": 0
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,11 @@
{
"schemaVersion": 1,
"id": "invalid-sphere-004",
"category": "Part",
"description": "Sphere radius rejection",
"operation": {
"type": "sphere",
"radius": -4
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,11 @@
{
"schemaVersion": 1,
"id": "invalid-sphere-005",
"category": "Part",
"description": "Sphere radius rejection",
"operation": {
"type": "sphere",
"radius": 0
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,11 @@
{
"schemaVersion": 1,
"id": "invalid-sphere-006",
"category": "Part",
"description": "Sphere radius rejection",
"operation": {
"type": "sphere",
"radius": -6
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,11 @@
{
"schemaVersion": 1,
"id": "invalid-sphere-007",
"category": "Part",
"description": "Sphere radius rejection",
"operation": {
"type": "sphere",
"radius": 0
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,11 @@
{
"schemaVersion": 1,
"id": "invalid-sphere-008",
"category": "Part",
"description": "Sphere radius rejection",
"operation": {
"type": "sphere",
"radius": -8
},
"expectedError": "positive"
}

View File

@@ -0,0 +1,211 @@
{
"schemaVersion": 1,
"baselineId": "freecad-1.1.1",
"driver": "scripts/freecad-golden-driver.py",
"failures": [
{
"id": "invalid-box-001",
"file": "invalid-box-001.json"
},
{
"id": "invalid-box-002",
"file": "invalid-box-002.json"
},
{
"id": "invalid-box-003",
"file": "invalid-box-003.json"
},
{
"id": "invalid-box-004",
"file": "invalid-box-004.json"
},
{
"id": "invalid-box-005",
"file": "invalid-box-005.json"
},
{
"id": "invalid-box-006",
"file": "invalid-box-006.json"
},
{
"id": "invalid-box-007",
"file": "invalid-box-007.json"
},
{
"id": "invalid-box-008",
"file": "invalid-box-008.json"
},
{
"id": "invalid-box-009",
"file": "invalid-box-009.json"
},
{
"id": "invalid-box-010",
"file": "invalid-box-010.json"
},
{
"id": "invalid-box-011",
"file": "invalid-box-011.json"
},
{
"id": "invalid-box-012",
"file": "invalid-box-012.json"
},
{
"id": "invalid-cylinder-001",
"file": "invalid-cylinder-001.json"
},
{
"id": "invalid-cylinder-002",
"file": "invalid-cylinder-002.json"
},
{
"id": "invalid-cylinder-003",
"file": "invalid-cylinder-003.json"
},
{
"id": "invalid-cylinder-004",
"file": "invalid-cylinder-004.json"
},
{
"id": "invalid-cylinder-005",
"file": "invalid-cylinder-005.json"
},
{
"id": "invalid-cylinder-006",
"file": "invalid-cylinder-006.json"
},
{
"id": "invalid-cylinder-007",
"file": "invalid-cylinder-007.json"
},
{
"id": "invalid-cylinder-008",
"file": "invalid-cylinder-008.json"
},
{
"id": "invalid-cylinder-009",
"file": "invalid-cylinder-009.json"
},
{
"id": "invalid-cylinder-010",
"file": "invalid-cylinder-010.json"
},
{
"id": "invalid-sphere-001",
"file": "invalid-sphere-001.json"
},
{
"id": "invalid-sphere-002",
"file": "invalid-sphere-002.json"
},
{
"id": "invalid-sphere-003",
"file": "invalid-sphere-003.json"
},
{
"id": "invalid-sphere-004",
"file": "invalid-sphere-004.json"
},
{
"id": "invalid-sphere-005",
"file": "invalid-sphere-005.json"
},
{
"id": "invalid-sphere-006",
"file": "invalid-sphere-006.json"
},
{
"id": "invalid-sphere-007",
"file": "invalid-sphere-007.json"
},
{
"id": "invalid-sphere-008",
"file": "invalid-sphere-008.json"
},
{
"id": "invalid-cone-001",
"file": "invalid-cone-001.json"
},
{
"id": "invalid-cone-002",
"file": "invalid-cone-002.json"
},
{
"id": "invalid-cone-003",
"file": "invalid-cone-003.json"
},
{
"id": "invalid-cone-004",
"file": "invalid-cone-004.json"
},
{
"id": "invalid-cone-005",
"file": "invalid-cone-005.json"
},
{
"id": "invalid-cone-006",
"file": "invalid-cone-006.json"
},
{
"id": "invalid-cone-007",
"file": "invalid-cone-007.json"
},
{
"id": "invalid-cone-008",
"file": "invalid-cone-008.json"
},
{
"id": "invalid-boolean-001",
"file": "invalid-boolean-001.json"
},
{
"id": "invalid-boolean-002",
"file": "invalid-boolean-002.json"
},
{
"id": "invalid-boolean-003",
"file": "invalid-boolean-003.json"
},
{
"id": "invalid-boolean-004",
"file": "invalid-boolean-004.json"
},
{
"id": "invalid-boolean-005",
"file": "invalid-boolean-005.json"
},
{
"id": "invalid-boolean-006",
"file": "invalid-boolean-006.json"
},
{
"id": "invalid-operation-001",
"file": "invalid-operation-001.json"
},
{
"id": "invalid-operation-002",
"file": "invalid-operation-002.json"
},
{
"id": "invalid-operation-003",
"file": "invalid-operation-003.json"
},
{
"id": "invalid-operation-004",
"file": "invalid-operation-004.json"
},
{
"id": "invalid-operation-005",
"file": "invalid-operation-005.json"
},
{
"id": "invalid-operation-006",
"file": "invalid-operation-006.json"
},
{
"id": "invalid-common-001",
"file": "invalid-common-001.json"
}
]
}

View File

@@ -0,0 +1,8 @@
{
"schemaVersion": 1,
"id": "invalid-ellipsoid-family-001",
"category": "Part",
"description": "Ellipsoid radius rejection",
"operation": { "type": "ellipsoid", "radius1": 0, "radius2": 4, "radius3": 0, "angle1": -90, "angle2": 90, "angle3": 360 },
"expectedError": "parameters"
}

View File

@@ -0,0 +1,8 @@
{
"schemaVersion": 1,
"id": "invalid-helix-family-001",
"category": "Part",
"description": "Helix missing pitch rejection",
"operation": { "type": "helix", "height": 6, "radius": 2, "angle": 0, "segmentLength": 0 },
"expectedError": "pitch"
}

View File

@@ -0,0 +1,8 @@
{
"schemaVersion": 1,
"id": "invalid-prism-family-001",
"category": "Part",
"description": "Prism missing height rejection",
"operation": { "type": "prism", "polygon": 6, "circumradius": 2, "firstAngle": 0, "secondAngle": 0 },
"expectedError": "height"
}

View File

@@ -0,0 +1,8 @@
{
"schemaVersion": 1,
"id": "invalid-torus-family-001",
"category": "Part",
"description": "Torus radius rejection",
"operation": { "type": "torus", "radius1": 0, "radius2": 2, "angle1": -180, "angle2": 180, "angle3": 360 },
"expectedError": "parameters"
}

View File

@@ -0,0 +1,8 @@
{
"schemaVersion": 1,
"id": "invalid-wedge-family-001",
"category": "Part",
"description": "Wedge missing Xmax rejection",
"operation": { "type": "wedge", "xmin": 0, "ymin": 0, "zmin": 0, "z2min": 0, "x2min": 0, "ymax": 10, "zmax": 10, "z2max": 8, "x2max": 8 },
"expectedError": "xmax"
}

View File

@@ -0,0 +1,12 @@
{
"schemaVersion": 1,
"baselineId": "freecad-1.1.1",
"driver": "scripts/freecad-golden-driver.py",
"failures": [
{ "id": "invalid-ellipsoid-family-001", "file": "invalid-ellipsoid-family-001.json" },
{ "id": "invalid-torus-family-001", "file": "invalid-torus-family-001.json" },
{ "id": "invalid-prism-family-001", "file": "invalid-prism-family-001.json" },
{ "id": "invalid-wedge-family-001", "file": "invalid-wedge-family-001.json" },
{ "id": "invalid-helix-family-001", "file": "invalid-helix-family-001.json" }
]
}

View File

@@ -0,0 +1,12 @@
{
"schemaVersion": 1,
"baselineId": "freecad-1.1.1",
"driver": "scripts/freecad-golden-driver.py",
"scenarios": [
{ "id": "part-ellipsoid-family-001", "file": "scenarios/part-ellipsoid-family-001.json" },
{ "id": "part-torus-family-001", "file": "scenarios/part-torus-family-001.json" },
{ "id": "part-prism-family-001", "file": "scenarios/part-prism-family-001.json" },
{ "id": "part-wedge-family-001", "file": "scenarios/part-wedge-family-001.json" },
{ "id": "part-helix-family-001", "file": "scenarios/part-helix-family-001.json" }
]
}

View File

@@ -0,0 +1,30 @@
{
"schemaVersion": 1,
"id": "part-ellipsoid-family-001",
"category": "Part",
"description": "Native Part Ellipsoid family fixture",
"operation": {
"type": "ellipsoid",
"radius1": 2,
"radius2": 4,
"radius3": 0,
"angle1": -90,
"angle2": 90,
"angle3": 360
},
"tolerance": { "linear": 0.000001, "scalar": 0.000001 },
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 1,
"edges": 3,
"vertices": 2,
"volume": 133.9826640573845,
"boundingBox": {
"min": [-8, -6.92820323027551, -2],
"max": [4, 6.928203230275507, 2]
}
}
}

View File

@@ -0,0 +1,29 @@
{
"schemaVersion": 1,
"id": "part-helix-family-001",
"category": "Part",
"description": "Native Part Helix family fixture",
"operation": {
"type": "helix",
"pitch": 3,
"height": 6,
"radius": 2,
"angle": 0,
"segmentLength": 0
},
"tolerance": { "linear": 0.000001, "scalar": 0.000001 },
"expected": {
"shapeType": "Wire",
"isNull": false,
"isValid": true,
"solids": 0,
"faces": 0,
"edges": 1,
"vertices": 2,
"volume": 0,
"boundingBox": {
"min": [-2, -2.0188633703206333, 0],
"max": [2, 2.0188633703206342, 6]
}
}
}

View File

@@ -0,0 +1,29 @@
{
"schemaVersion": 1,
"id": "part-prism-family-001",
"category": "Part",
"description": "Native Part Prism family fixture",
"operation": {
"type": "prism",
"polygon": 6,
"circumradius": 2,
"height": 10,
"firstAngle": 10,
"secondAngle": -5
},
"tolerance": { "linear": 0.000001, "scalar": 0.000001 },
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 8,
"edges": 18,
"vertices": 12,
"volume": 103.92304845413263,
"boundingBox": {
"min": [-2, -2.6069374428281185, 0],
"max": [3.76326980708465, 1.7320508075688776, 10]
}
}
}

View File

@@ -0,0 +1,26 @@
{
"schemaVersion": 1,
"id": "part-torus-family-001",
"category": "Part",
"description": "Native Part Torus family fixture",
"operation": {
"type": "torus",
"radius1": 10,
"radius2": 2,
"angle1": -180,
"angle2": 180,
"angle3": 270
},
"tolerance": { "linear": 0.000001, "scalar": 0.000001 },
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"volume": 592.1762640653615,
"boundingBox": {
"min": [-12.988706403508727, -12.988706403508727, -2],
"max": [12.988706403508727, 12.988706403508727, 2]
}
}
}

View File

@@ -0,0 +1,34 @@
{
"schemaVersion": 1,
"id": "part-wedge-family-001",
"category": "Part",
"description": "Native Part Wedge family fixture",
"operation": {
"type": "wedge",
"xmin": 0,
"ymin": 0,
"zmin": 0,
"z2min": 0,
"x2min": 0,
"xmax": 10,
"ymax": 10,
"zmax": 10,
"z2max": 8,
"x2max": 8
},
"tolerance": { "linear": 0.000001, "scalar": 0.000001 },
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 813.3333333333334,
"boundingBox": {
"min": [0, 0, 0],
"max": [10, 10, 10]
}
}
}

View File

@@ -3,10 +3,405 @@
"baselineId": "freecad-1.1.1",
"driver": "scripts/freecad-golden-driver.py",
"scenarios": [
{ "id": "part-box", "file": "scenarios/part-box.json" },
{ "id": "part-cylinder", "file": "scenarios/part-cylinder.json" },
{ "id": "part-sphere", "file": "scenarios/part-sphere.json" },
{ "id": "part-cone", "file": "scenarios/part-cone.json" },
{ "id": "part-cut-through-hole", "file": "scenarios/part-cut-through-hole.json" }
{
"id": "part-box",
"file": "scenarios/part-box.json"
},
{
"id": "part-cylinder",
"file": "scenarios/part-cylinder.json"
},
{
"id": "part-sphere",
"file": "scenarios/part-sphere.json"
},
{
"id": "part-cone",
"file": "scenarios/part-cone.json"
},
{
"id": "part-cut-through-hole",
"file": "scenarios/part-cut-through-hole.json"
},
{
"id": "part-box-001",
"file": "scenarios/part-box-001.json"
},
{
"id": "part-box-002",
"file": "scenarios/part-box-002.json"
},
{
"id": "part-box-003",
"file": "scenarios/part-box-003.json"
},
{
"id": "part-box-004",
"file": "scenarios/part-box-004.json"
},
{
"id": "part-box-005",
"file": "scenarios/part-box-005.json"
},
{
"id": "part-box-006",
"file": "scenarios/part-box-006.json"
},
{
"id": "part-box-007",
"file": "scenarios/part-box-007.json"
},
{
"id": "part-box-008",
"file": "scenarios/part-box-008.json"
},
{
"id": "part-box-009",
"file": "scenarios/part-box-009.json"
},
{
"id": "part-box-010",
"file": "scenarios/part-box-010.json"
},
{
"id": "part-box-011",
"file": "scenarios/part-box-011.json"
},
{
"id": "part-box-012",
"file": "scenarios/part-box-012.json"
},
{
"id": "part-box-013",
"file": "scenarios/part-box-013.json"
},
{
"id": "part-box-014",
"file": "scenarios/part-box-014.json"
},
{
"id": "part-box-015",
"file": "scenarios/part-box-015.json"
},
{
"id": "part-box-016",
"file": "scenarios/part-box-016.json"
},
{
"id": "part-box-017",
"file": "scenarios/part-box-017.json"
},
{
"id": "part-box-018",
"file": "scenarios/part-box-018.json"
},
{
"id": "part-box-019",
"file": "scenarios/part-box-019.json"
},
{
"id": "part-box-020",
"file": "scenarios/part-box-020.json"
},
{
"id": "part-cylinder-001",
"file": "scenarios/part-cylinder-001.json"
},
{
"id": "part-cylinder-002",
"file": "scenarios/part-cylinder-002.json"
},
{
"id": "part-cylinder-003",
"file": "scenarios/part-cylinder-003.json"
},
{
"id": "part-cylinder-004",
"file": "scenarios/part-cylinder-004.json"
},
{
"id": "part-cylinder-005",
"file": "scenarios/part-cylinder-005.json"
},
{
"id": "part-cylinder-006",
"file": "scenarios/part-cylinder-006.json"
},
{
"id": "part-cylinder-007",
"file": "scenarios/part-cylinder-007.json"
},
{
"id": "part-cylinder-008",
"file": "scenarios/part-cylinder-008.json"
},
{
"id": "part-cylinder-009",
"file": "scenarios/part-cylinder-009.json"
},
{
"id": "part-cylinder-010",
"file": "scenarios/part-cylinder-010.json"
},
{
"id": "part-cylinder-011",
"file": "scenarios/part-cylinder-011.json"
},
{
"id": "part-cylinder-012",
"file": "scenarios/part-cylinder-012.json"
},
{
"id": "part-cylinder-013",
"file": "scenarios/part-cylinder-013.json"
},
{
"id": "part-cylinder-014",
"file": "scenarios/part-cylinder-014.json"
},
{
"id": "part-cylinder-015",
"file": "scenarios/part-cylinder-015.json"
},
{
"id": "part-cylinder-016",
"file": "scenarios/part-cylinder-016.json"
},
{
"id": "part-cylinder-017",
"file": "scenarios/part-cylinder-017.json"
},
{
"id": "part-cylinder-018",
"file": "scenarios/part-cylinder-018.json"
},
{
"id": "part-cylinder-019",
"file": "scenarios/part-cylinder-019.json"
},
{
"id": "part-cylinder-020",
"file": "scenarios/part-cylinder-020.json"
},
{
"id": "part-sphere-001",
"file": "scenarios/part-sphere-001.json"
},
{
"id": "part-sphere-002",
"file": "scenarios/part-sphere-002.json"
},
{
"id": "part-sphere-003",
"file": "scenarios/part-sphere-003.json"
},
{
"id": "part-sphere-004",
"file": "scenarios/part-sphere-004.json"
},
{
"id": "part-sphere-005",
"file": "scenarios/part-sphere-005.json"
},
{
"id": "part-sphere-006",
"file": "scenarios/part-sphere-006.json"
},
{
"id": "part-sphere-007",
"file": "scenarios/part-sphere-007.json"
},
{
"id": "part-sphere-008",
"file": "scenarios/part-sphere-008.json"
},
{
"id": "part-sphere-009",
"file": "scenarios/part-sphere-009.json"
},
{
"id": "part-sphere-010",
"file": "scenarios/part-sphere-010.json"
},
{
"id": "part-sphere-011",
"file": "scenarios/part-sphere-011.json"
},
{
"id": "part-sphere-012",
"file": "scenarios/part-sphere-012.json"
},
{
"id": "part-sphere-013",
"file": "scenarios/part-sphere-013.json"
},
{
"id": "part-sphere-014",
"file": "scenarios/part-sphere-014.json"
},
{
"id": "part-sphere-015",
"file": "scenarios/part-sphere-015.json"
},
{
"id": "part-cone-001",
"file": "scenarios/part-cone-001.json"
},
{
"id": "part-cone-002",
"file": "scenarios/part-cone-002.json"
},
{
"id": "part-cone-003",
"file": "scenarios/part-cone-003.json"
},
{
"id": "part-cone-004",
"file": "scenarios/part-cone-004.json"
},
{
"id": "part-cone-005",
"file": "scenarios/part-cone-005.json"
},
{
"id": "part-cone-006",
"file": "scenarios/part-cone-006.json"
},
{
"id": "part-cone-007",
"file": "scenarios/part-cone-007.json"
},
{
"id": "part-cone-008",
"file": "scenarios/part-cone-008.json"
},
{
"id": "part-cone-009",
"file": "scenarios/part-cone-009.json"
},
{
"id": "part-cone-010",
"file": "scenarios/part-cone-010.json"
},
{
"id": "part-cone-011",
"file": "scenarios/part-cone-011.json"
},
{
"id": "part-cone-012",
"file": "scenarios/part-cone-012.json"
},
{
"id": "part-cone-013",
"file": "scenarios/part-cone-013.json"
},
{
"id": "part-cone-014",
"file": "scenarios/part-cone-014.json"
},
{
"id": "part-cone-015",
"file": "scenarios/part-cone-015.json"
},
{
"id": "part-cut-001",
"file": "scenarios/part-cut-001.json"
},
{
"id": "part-fuse-002",
"file": "scenarios/part-fuse-002.json"
},
{
"id": "part-common-003",
"file": "scenarios/part-common-003.json"
},
{
"id": "part-cut-004",
"file": "scenarios/part-cut-004.json"
},
{
"id": "part-fuse-005",
"file": "scenarios/part-fuse-005.json"
},
{
"id": "part-common-006",
"file": "scenarios/part-common-006.json"
},
{
"id": "part-cut-007",
"file": "scenarios/part-cut-007.json"
},
{
"id": "part-fuse-008",
"file": "scenarios/part-fuse-008.json"
},
{
"id": "part-common-009",
"file": "scenarios/part-common-009.json"
},
{
"id": "part-cut-010",
"file": "scenarios/part-cut-010.json"
},
{
"id": "part-fuse-011",
"file": "scenarios/part-fuse-011.json"
},
{
"id": "part-common-012",
"file": "scenarios/part-common-012.json"
},
{
"id": "part-cut-013",
"file": "scenarios/part-cut-013.json"
},
{
"id": "part-fuse-014",
"file": "scenarios/part-fuse-014.json"
},
{
"id": "part-common-015",
"file": "scenarios/part-common-015.json"
},
{
"id": "part-cut-016",
"file": "scenarios/part-cut-016.json"
},
{
"id": "part-fuse-017",
"file": "scenarios/part-fuse-017.json"
},
{
"id": "part-common-018",
"file": "scenarios/part-common-018.json"
},
{
"id": "part-cut-019",
"file": "scenarios/part-cut-019.json"
},
{
"id": "part-fuse-020",
"file": "scenarios/part-fuse-020.json"
},
{
"id": "part-common-021",
"file": "scenarios/part-common-021.json"
},
{
"id": "part-cut-022",
"file": "scenarios/part-cut-022.json"
},
{
"id": "part-fuse-023",
"file": "scenarios/part-fuse-023.json"
},
{
"id": "part-common-024",
"file": "scenarios/part-common-024.json"
},
{
"id": "part-cut-025",
"file": "scenarios/part-cut-025.json"
}
]
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-001",
"category": "Part",
"description": "Parametric box fixture 1",
"operation": {
"type": "box",
"length": 3,
"width": 5,
"height": 7,
"placement": {
"translation": [
1,
2,
1
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 104.99999999999999,
"area": 141.99999999999997,
"boundingBox": {
"max": [
4,
7,
8
],
"min": [
1,
2,
1
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-002",
"category": "Part",
"description": "Parametric box fixture 2",
"operation": {
"type": "box",
"length": 4,
"width": 7,
"height": 10,
"placement": {
"translation": [
2,
4,
2
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 280,
"area": 276,
"boundingBox": {
"max": [
6,
11,
12
],
"min": [
2,
4,
2
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-003",
"category": "Part",
"description": "Parametric box fixture 3",
"operation": {
"type": "box",
"length": 5,
"width": 9,
"height": 13,
"placement": {
"translation": [
3,
6,
0
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 585,
"area": 454,
"boundingBox": {
"max": [
8,
15,
13
],
"min": [
3,
6,
0
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-004",
"category": "Part",
"description": "Parametric box fixture 4",
"operation": {
"type": "box",
"length": 6,
"width": 11,
"height": 16,
"placement": {
"translation": [
4,
1,
1
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 1056,
"area": 676,
"boundingBox": {
"max": [
10,
12,
17
],
"min": [
4,
1,
1
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-005",
"category": "Part",
"description": "Parametric box fixture 5",
"operation": {
"type": "box",
"length": 7,
"width": 13,
"height": 6,
"placement": {
"translation": [
0,
3,
2
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 546,
"area": 422,
"boundingBox": {
"max": [
7,
16,
8
],
"min": [
0,
3,
2
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-006",
"category": "Part",
"description": "Parametric box fixture 6",
"operation": {
"type": "box",
"length": 8,
"width": 4,
"height": 9,
"placement": {
"translation": [
1,
5,
0
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 288,
"area": 280,
"boundingBox": {
"max": [
9,
9,
9
],
"min": [
1,
5,
0
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-007",
"category": "Part",
"description": "Parametric box fixture 7",
"operation": {
"type": "box",
"length": 9,
"width": 6,
"height": 12,
"placement": {
"translation": [
2,
0,
1
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 648,
"area": 468,
"boundingBox": {
"max": [
11,
6,
13
],
"min": [
2,
0,
1
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-008",
"category": "Part",
"description": "Parametric box fixture 8",
"operation": {
"type": "box",
"length": 10,
"width": 8,
"height": 15,
"placement": {
"translation": [
3,
2,
2
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 1200,
"area": 700,
"boundingBox": {
"max": [
13,
10,
17
],
"min": [
3,
2,
2
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-009",
"category": "Part",
"description": "Parametric box fixture 9",
"operation": {
"type": "box",
"length": 2,
"width": 10,
"height": 5,
"placement": {
"translation": [
4,
4,
0
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 99.99999999999997,
"area": 160,
"boundingBox": {
"max": [
6,
14,
5
],
"min": [
4,
4,
0
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-010",
"category": "Part",
"description": "Parametric box fixture 10",
"operation": {
"type": "box",
"length": 3,
"width": 12,
"height": 8,
"placement": {
"translation": [
0,
6,
1
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 288,
"area": 312,
"boundingBox": {
"max": [
3,
18,
9
],
"min": [
0,
6,
1
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-011",
"category": "Part",
"description": "Parametric box fixture 11",
"operation": {
"type": "box",
"length": 4,
"width": 3,
"height": 11,
"placement": {
"translation": [
1,
1,
2
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 132,
"area": 178,
"boundingBox": {
"max": [
5,
4,
13
],
"min": [
1,
1,
2
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-012",
"category": "Part",
"description": "Parametric box fixture 12",
"operation": {
"type": "box",
"length": 5,
"width": 5,
"height": 14,
"placement": {
"translation": [
2,
3,
0
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 350,
"area": 329.99999999999994,
"boundingBox": {
"max": [
7,
8,
14
],
"min": [
2,
3,
0
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-013",
"category": "Part",
"description": "Parametric box fixture 13",
"operation": {
"type": "box",
"length": 6,
"width": 7,
"height": 4,
"placement": {
"translation": [
3,
5,
1
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 168,
"area": 188,
"boundingBox": {
"max": [
9,
12,
5
],
"min": [
3,
5,
1
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-014",
"category": "Part",
"description": "Parametric box fixture 14",
"operation": {
"type": "box",
"length": 7,
"width": 9,
"height": 7,
"placement": {
"translation": [
4,
0,
2
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 441.00000000000006,
"area": 349.99999999999994,
"boundingBox": {
"max": [
11,
9,
9
],
"min": [
4,
0,
2
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-015",
"category": "Part",
"description": "Parametric box fixture 15",
"operation": {
"type": "box",
"length": 8,
"width": 11,
"height": 10,
"placement": {
"translation": [
0,
2,
0
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 880,
"area": 556,
"boundingBox": {
"max": [
8,
13,
10
],
"min": [
0,
2,
0
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-016",
"category": "Part",
"description": "Parametric box fixture 16",
"operation": {
"type": "box",
"length": 9,
"width": 13,
"height": 13,
"placement": {
"translation": [
1,
4,
1
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 1521,
"area": 806,
"boundingBox": {
"max": [
10,
17,
14
],
"min": [
1,
4,
1
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-017",
"category": "Part",
"description": "Parametric box fixture 17",
"operation": {
"type": "box",
"length": 10,
"width": 4,
"height": 16,
"placement": {
"translation": [
2,
6,
2
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 639.9999999999999,
"area": 528,
"boundingBox": {
"max": [
12,
10,
18
],
"min": [
2,
6,
2
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-018",
"category": "Part",
"description": "Parametric box fixture 18",
"operation": {
"type": "box",
"length": 2,
"width": 6,
"height": 6,
"placement": {
"translation": [
3,
1,
0
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 72,
"area": 120,
"boundingBox": {
"max": [
5,
7,
6
],
"min": [
3,
1,
0
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-019",
"category": "Part",
"description": "Parametric box fixture 19",
"operation": {
"type": "box",
"length": 3,
"width": 8,
"height": 9,
"placement": {
"translation": [
4,
3,
1
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 216,
"area": 246,
"boundingBox": {
"max": [
7,
11,
10
],
"min": [
4,
3,
1
]
}
}
}

View File

@@ -0,0 +1,46 @@
{
"schemaVersion": 1,
"id": "part-box-020",
"category": "Part",
"description": "Parametric box fixture 20",
"operation": {
"type": "box",
"length": 4,
"width": 10,
"height": 12,
"placement": {
"translation": [
0,
5,
2
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 480,
"area": 416,
"boundingBox": {
"max": [
4,
15,
14
],
"min": [
0,
5,
2
]
}
}
}

View File

@@ -0,0 +1,62 @@
{
"schemaVersion": 1,
"id": "part-common-003",
"category": "Part",
"description": "common Boolean fixture 3",
"operation": {
"type": "common",
"base": {
"type": "box",
"length": 11,
"width": 10,
"height": 12,
"placement": {
"translation": [
0,
0,
1
]
}
},
"tool": {
"type": "box",
"length": 7,
"width": 4,
"height": 5,
"placement": {
"translation": [
2,
2,
1
]
}
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Compound",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 140,
"area": 165.99999999999997,
"boundingBox": {
"max": [
9,
6,
6
],
"min": [
2,
2,
1
]
}
}
}

View File

@@ -0,0 +1,62 @@
{
"schemaVersion": 1,
"id": "part-common-006",
"category": "Part",
"description": "common Boolean fixture 6",
"operation": {
"type": "common",
"base": {
"type": "box",
"length": 9,
"width": 8,
"height": 10,
"placement": {
"translation": [
0,
0,
0
]
}
},
"tool": {
"type": "box",
"length": 6,
"width": 7,
"height": 4,
"placement": {
"translation": [
2,
2,
0
]
}
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Compound",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 144,
"area": 168,
"boundingBox": {
"max": [
8,
8,
4
],
"min": [
2,
2,
0
]
}
}
}

View File

@@ -0,0 +1,62 @@
{
"schemaVersion": 1,
"id": "part-common-009",
"category": "Part",
"description": "common Boolean fixture 9",
"operation": {
"type": "common",
"base": {
"type": "box",
"length": 12,
"width": 11,
"height": 13,
"placement": {
"translation": [
0,
0,
1
]
}
},
"tool": {
"type": "box",
"length": 5,
"width": 6,
"height": 7,
"placement": {
"translation": [
2,
2,
1
]
}
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Compound",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 209.99999999999997,
"area": 213.99999999999997,
"boundingBox": {
"max": [
7,
8,
8
],
"min": [
2,
2,
1
]
}
}
}

View File

@@ -0,0 +1,62 @@
{
"schemaVersion": 1,
"id": "part-common-012",
"category": "Part",
"description": "common Boolean fixture 12",
"operation": {
"type": "common",
"base": {
"type": "box",
"length": 10,
"width": 9,
"height": 11,
"placement": {
"translation": [
0,
0,
0
]
}
},
"tool": {
"type": "box",
"length": 4,
"width": 5,
"height": 6,
"placement": {
"translation": [
2,
2,
0
]
}
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Compound",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 120,
"area": 148,
"boundingBox": {
"max": [
6,
7,
6
],
"min": [
2,
2,
0
]
}
}
}

View File

@@ -0,0 +1,62 @@
{
"schemaVersion": 1,
"id": "part-common-015",
"category": "Part",
"description": "common Boolean fixture 15",
"operation": {
"type": "common",
"base": {
"type": "box",
"length": 8,
"width": 7,
"height": 9,
"placement": {
"translation": [
0,
0,
1
]
}
},
"tool": {
"type": "box",
"length": 7,
"width": 4,
"height": 5,
"placement": {
"translation": [
2,
2,
1
]
}
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Compound",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 119.99999999999999,
"area": 148,
"boundingBox": {
"max": [
8,
6,
6
],
"min": [
2,
2,
1
]
}
}
}

View File

@@ -0,0 +1,62 @@
{
"schemaVersion": 1,
"id": "part-common-018",
"category": "Part",
"description": "common Boolean fixture 18",
"operation": {
"type": "common",
"base": {
"type": "box",
"length": 11,
"width": 10,
"height": 12,
"placement": {
"translation": [
0,
0,
0
]
}
},
"tool": {
"type": "box",
"length": 6,
"width": 7,
"height": 4,
"placement": {
"translation": [
2,
2,
0
]
}
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Compound",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 168,
"area": 188,
"boundingBox": {
"max": [
8,
9,
4
],
"min": [
2,
2,
0
]
}
}
}

View File

@@ -0,0 +1,62 @@
{
"schemaVersion": 1,
"id": "part-common-021",
"category": "Part",
"description": "common Boolean fixture 21",
"operation": {
"type": "common",
"base": {
"type": "box",
"length": 9,
"width": 8,
"height": 10,
"placement": {
"translation": [
0,
0,
1
]
}
},
"tool": {
"type": "box",
"length": 5,
"width": 6,
"height": 7,
"placement": {
"translation": [
2,
2,
1
]
}
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Compound",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 209.99999999999997,
"area": 213.99999999999997,
"boundingBox": {
"max": [
7,
8,
8
],
"min": [
2,
2,
1
]
}
}
}

View File

@@ -0,0 +1,62 @@
{
"schemaVersion": 1,
"id": "part-common-024",
"category": "Part",
"description": "common Boolean fixture 24",
"operation": {
"type": "common",
"base": {
"type": "box",
"length": 12,
"width": 11,
"height": 13,
"placement": {
"translation": [
0,
0,
0
]
}
},
"tool": {
"type": "box",
"length": 4,
"width": 5,
"height": 6,
"placement": {
"translation": [
2,
2,
0
]
}
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Compound",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 6,
"edges": 12,
"vertices": 8,
"volume": 120,
"area": 148,
"boundingBox": {
"max": [
6,
7,
6
],
"min": [
2,
2,
0
]
}
}
}

View File

@@ -0,0 +1,47 @@
{
"schemaVersion": 1,
"id": "part-cone-001",
"category": "Part",
"description": "Parametric cone fixture 1",
"operation": {
"type": "cone",
"radius1": 3,
"radius2": 1,
"height": 5,
"angle": 360,
"placement": {
"translation": [
1,
1,
-1
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 3,
"edges": 3,
"vertices": 2,
"volume": 68.06784082777885,
"area": 99.08790332175414,
"boundingBox": {
"max": [
4,
4,
4
],
"min": [
-2,
-2,
-1
]
}
}
}

View File

@@ -0,0 +1,47 @@
{
"schemaVersion": 1,
"id": "part-cone-002",
"category": "Part",
"description": "Parametric cone fixture 2",
"operation": {
"type": "cone",
"radius1": 4,
"radius2": 1.5,
"height": 6,
"angle": 360,
"placement": {
"translation": [
2,
2,
0
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 3,
"edges": 3,
"vertices": 2,
"volume": 152.36724369910493,
"area": 169.6460032938488,
"boundingBox": {
"max": [
6,
6,
6
],
"min": [
-2,
-2,
0
]
}
}
}

View File

@@ -0,0 +1,47 @@
{
"schemaVersion": 1,
"id": "part-cone-003",
"category": "Part",
"description": "Parametric cone fixture 3",
"operation": {
"type": "cone",
"radius1": 5,
"radius2": 2,
"height": 7,
"angle": 360,
"placement": {
"translation": [
3,
3,
-1
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 3,
"edges": 3,
"vertices": 2,
"volume": 285.8849314766712,
"area": 258.58578483962543,
"boundingBox": {
"max": [
8,
8,
6.000000000000001
],
"min": [
-2,
-2,
-1
]
}
}
}

View File

@@ -0,0 +1,47 @@
{
"schemaVersion": 1,
"id": "part-cone-004",
"category": "Part",
"description": "Parametric cone fixture 4",
"operation": {
"type": "cone",
"radius1": 6,
"radius2": 0.5,
"height": 8,
"angle": 360,
"placement": {
"translation": [
0,
4,
0
]
}
},
"tolerance": {
"linear": 0.000001,
"scalar": 0.000001
},
"expected": {
"shapeType": "Solid",
"isNull": false,
"isValid": true,
"solids": 1,
"faces": 3,
"edges": 3,
"vertices": 2,
"volume": 328.8200310757317,
"area": 312.1284942410284,
"boundingBox": {
"max": [
6,
10,
8
],
"min": [
-6,
-2,
0
]
}
}
}

Some files were not shown because too many files have changed in this diff Show More