重构 改为标准化输出

This commit is contained in:
2026-09-01 14:10:23 +08:00
parent 7533b298f1
commit bc87bd6d2d
10151 changed files with 1709487 additions and 11776 deletions
@@ -0,0 +1,80 @@
{
"candidate_id": "candidate_8c27ebfcb4e38663",
"claim_coverage": [
{
"claim_id": "claim_001",
"evidence_refs": [
"e1"
],
"status": "pass"
},
{
"claim_id": "claim_002",
"evidence_refs": [
"e1"
],
"status": "pass"
},
{
"claim_id": "claim_003",
"evidence_refs": [
"e2"
],
"status": "pass"
},
{
"claim_id": "claim_004",
"evidence_refs": [
"e3"
],
"status": "pass"
},
{
"claim_id": "claim_005",
"evidence_refs": [
"e3"
],
"status": "pass"
},
{
"claim_id": "claim_006",
"evidence_refs": [
"e3"
],
"status": "pass"
},
{
"claim_id": "claim_007",
"evidence_refs": [
"e4",
"e5"
],
"status": "pass"
},
{
"claim_id": "claim_008",
"evidence_refs": [
"e6"
],
"status": "pending"
},
{
"claim_id": "claim_009",
"evidence_refs": [
"e6"
],
"status": "pending"
}
],
"evidence": [
"e1: Deterministic facts report one solid and solid_count 1, satisfying single connected body at this checkpoint.",
"e2: External cylindrical surface diameter is 120 mm with axial span 12.0 mm, within 0.01 mm tolerance.",
"e3: Bounding box dimensions are 120.00000000000014 x 120.00000000000009 x 12.0 mm, within tolerance.",
"e4: Deterministic through_bores list contains body:feature_002:face:2 for the 40 mm central bore claim.",
"e5: Operation verifier reports the act_011 cylindrical bore and through cylindrical bore both pass with matched face body:feature_002:face:2.",
"e6: Deterministic claim results explicitly defer the six 8 mm through bores and circular hole pattern as pending for a later checkpoint."
],
"issues": [],
"verdict": "accept",
"working_head": "cad_0312ade2fa8a:rev_001:v10"
}
@@ -0,0 +1,532 @@
{
"action_id": "act_011",
"actual_atomic_id": "hole_blind",
"blockers": [],
"candidate_id": "candidate_8c27ebfcb4e38663",
"claim_results": [
{
"claim_id": "claim_001",
"claim_kind": "solid_count_equals",
"deterministic": true,
"evidence": {
"solid_count": 1
},
"status": "pass"
},
{
"claim_id": "claim_002",
"claim_kind": "single_connected_body",
"deterministic": true,
"evidence": {
"solid_count": 1
},
"status": "pass"
},
{
"claim_id": "claim_003",
"claim_kind": "outer_cylindrical_surface",
"deterministic": true,
"evidence": {
"axial_spans_mm": [
12.0
],
"diameter_mm": 120,
"external_cylindrical_faces": [
"body:feature_002:face:0"
],
"external_cylindrical_surface_groups": [
[
"body:feature_002:face:0"
]
],
"tolerance_mm": 0.01
},
"status": "pass"
},
{
"claim_id": "claim_004",
"claim_kind": "bbox_dimension_mm",
"deterministic": true,
"evidence": {
"actual_mm": 120.00000000000014,
"axis": "x",
"tolerance_mm": 0.01
},
"status": "pass"
},
{
"claim_id": "claim_005",
"claim_kind": "bbox_dimension_mm",
"deterministic": true,
"evidence": {
"actual_mm": 120.00000000000009,
"axis": "y",
"tolerance_mm": 0.01
},
"status": "pass"
},
{
"claim_id": "claim_006",
"claim_kind": "bbox_dimension_mm",
"deterministic": true,
"evidence": {
"actual_mm": 12.0,
"axis": "z",
"tolerance_mm": 0.01
},
"status": "pass"
},
{
"claim_id": "claim_007",
"claim_kind": "through_cylindrical_bore",
"deterministic": true,
"evidence": {
"through_bores": [
"body:feature_002:face:2"
]
},
"status": "pass"
},
{
"claim_id": "claim_008",
"claim_kind": "through_cylindrical_bore",
"deterministic": true,
"evidence": {
"reason": "the target bore has not been introduced at this checkpoint"
},
"status": "pending"
},
{
"claim_id": "claim_009",
"claim_kind": "circular_hole_pattern",
"deterministic": true,
"evidence": {
"reason": "the target hole pattern has not been introduced at this checkpoint"
},
"status": "pending"
}
],
"fragment_hash": "e203f257b690f98a931f01da0be00ec18f3c3a7e9032d53a342f5b990c9790b9",
"health": {
"bbox_mm": {
"dimensions": [
120.00000000000014,
120.00000000000009,
12.0
],
"max": [
60.00000000000007,
60.00000000000008,
12.0
],
"min": [
-60.00000000000007,
-60.0,
0.0
]
},
"feature_count": 2,
"solid_count": 1,
"volume_mm3": 120637.15789784823
},
"operation_verifier_results": [
{
"claim_id": "operation_act_011_cylindrical_bore",
"claim_kind": "cylindrical_bore",
"deterministic": true,
"evidence": {
"expected_increment": 1,
"expected_total_count": 1,
"matched_cylindrical_faces": [
"body:feature_002:face:2"
],
"parent_matching_count": 0
},
"status": "pass"
},
{
"claim_id": "operation_act_011_through_cylindrical_bore",
"claim_kind": "through_cylindrical_bore",
"deterministic": true,
"evidence": {
"expected_increment": 1,
"expected_total_count": 1,
"parent_matching_count": 0,
"through_bores": [
"body:feature_002:face:2"
]
},
"status": "pass"
}
],
"paths": {
"cdsl": "model.cdsl.json",
"glb": "model.glb",
"render_manifest": "renders/render-manifest.json",
"report": "rebuild-report.json",
"step": "model.step",
"topology": "model.topology.json"
},
"render_manifest": {
"contact_sheet_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/contact-sheet.jpg",
"high_resolution": {
"height": 2048,
"method": "occ_hidden_line",
"width": 2048
},
"renderer": "python-occ-hlr-pillow",
"review_resolution": {
"height": 1024,
"resample": "lanczos",
"width": 1024
},
"schema_version": "cad.render-manifest.v2",
"source": {
"bounds_mm": [
-60.000000000000036,
60.000000000000036,
-60.0,
60.00000000000004,
0.0,
12.0
],
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/model.step",
"type": "step"
},
"views": [
{
"camera": {
"focal_point": [
0.0,
2.1316282072803006e-14,
6.0
],
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333333,
83.33333333333336
],
"position": [
0.0,
2.1316282072803006e-14,
100006.0
],
"projection": "orthographic",
"view": "top",
"view_up": [
0.0,
1.0,
0.0
]
},
"diagnostics": {
"coverage": 0.006989955902099609,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/top/edge.png",
"hidden_edge_count": 2,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/top/line-mask.png",
"pixel_bbox": [
285,
285,
1763,
1763
],
"touches_border": false,
"valid": true,
"visible_edge_count": 2
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/top-2x.png",
"id": "top",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/top.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
2.1316282072803006e-14,
6.0
],
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333333,
83.33333333333336
],
"position": [
0.0,
2.1316282072803006e-14,
-99994.0
],
"projection": "orthographic",
"view": "bottom",
"view_up": [
0.0,
1.0,
0.0
]
},
"diagnostics": {
"coverage": 0.006989479064941406,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/bottom/edge.png",
"hidden_edge_count": 2,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/bottom/line-mask.png",
"pixel_bbox": [
285,
285,
1763,
1763
],
"touches_border": false,
"valid": true,
"visible_edge_count": 2
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/bottom-2x.png",
"id": "bottom",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/bottom.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
2.1316282072803006e-14,
6.0
],
"frame_mm": [
-83.33333333333339,
83.33333333333339,
-83.33333333333339,
83.33333333333339
],
"position": [
0.0,
-100000.0,
6.0
],
"projection": "orthographic",
"view": "front",
"view_up": [
0.0,
0.0,
1.0
]
},
"diagnostics": {
"coverage": 0.0041294097900390625,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/front/edge.png",
"hidden_edge_count": 8,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/front/line-mask.png",
"pixel_bbox": [
285,
948,
1763,
1100
],
"touches_border": false,
"valid": true,
"visible_edge_count": 6
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/front-2x.png",
"id": "front",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/front.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
2.1316282072803006e-14,
6.0
],
"frame_mm": [
-83.33333333333339,
83.33333333333339,
-83.33333333333339,
83.33333333333339
],
"position": [
0.0,
100000.0,
6.0
],
"projection": "orthographic",
"view": "back",
"view_up": [
0.0,
0.0,
1.0
]
},
"diagnostics": {
"coverage": 0.0041294097900390625,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/back/edge.png",
"hidden_edge_count": 10,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/back/line-mask.png",
"pixel_bbox": [
285,
948,
1763,
1100
],
"touches_border": false,
"valid": true,
"visible_edge_count": 4
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/back-2x.png",
"id": "back",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/back.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
2.1316282072803006e-14,
6.0
],
"frame_mm": [
-83.33333333333337,
83.33333333333337,
-83.33333333333337,
83.33333333333337
],
"position": [
-100000.0,
2.1316282072803006e-14,
6.0
],
"projection": "orthographic",
"view": "left",
"view_up": [
0.0,
0.0,
1.0
]
},
"diagnostics": {
"coverage": 0.0041294097900390625,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/left/edge.png",
"hidden_edge_count": 10,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/left/line-mask.png",
"pixel_bbox": [
285,
948,
1763,
1100
],
"touches_border": false,
"valid": true,
"visible_edge_count": 4
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/left-2x.png",
"id": "left",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/left.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
2.1316282072803006e-14,
6.0
],
"frame_mm": [
-83.33333333333337,
83.33333333333337,
-83.33333333333337,
83.33333333333337
],
"position": [
100000.0,
2.1316282072803006e-14,
6.0
],
"projection": "orthographic",
"view": "right",
"view_up": [
0.0,
0.0,
1.0
]
},
"diagnostics": {
"coverage": 0.0041294097900390625,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/right/edge.png",
"hidden_edge_count": 10,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/right/line-mask.png",
"pixel_bbox": [
285,
948,
1763,
1100
],
"touches_border": false,
"valid": true,
"visible_edge_count": 4
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/right-2x.png",
"id": "right",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/right.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
2.1316282072803006e-14,
6.0
],
"frame_mm": [
-83.33333333333648,
83.33333333333034,
-83.33327613908968,
83.33339052757715
],
"position": [
61545.74548966637,
-61545.74548966637,
49242.596391733096
],
"projection": "orthographic",
"view": "isometric",
"view_up": [
0.0,
0.0,
1.0
]
},
"diagnostics": {
"coverage": 0.010705709457397461,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/isometric/edge.png",
"hidden_edge_count": 6,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/isometric/line-mask.png",
"pixel_bbox": [
285,
595,
1763,
1453
],
"touches_border": false,
"valid": true,
"visible_edge_count": 12
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/isometric-2x.png",
"id": "isometric",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/isometric.png",
"target": null
}
]
},
"schema_version": "cad.v3.candidate.v1",
"selector_snapshot_id": "cad_0312ade2fa8a/candidate_841b6e3263a6ea4c",
"stage_id": "stage_8c27ebfcb4e38663bd99",
"working_head": "cad_0312ade2fa8a:rev_001:v10"
}
@@ -0,0 +1,45 @@
{
"action_id": "act_011",
"candidate_id": "candidate_8c27ebfcb4e38663",
"contract_hash": "f62e12603feeca6d7e83acdab651fcb023e08a46c39fd1509e9dcb81d4f0c721",
"fragment": {
"feature": {
"atomic_id": "hole_blind",
"params": {
"depth_mm": 12,
"diameter_mm": 40,
"positions": [
{
"mm": [
0,
0,
12
]
}
]
},
"selector_tokens": [
"sel_476f983cbc275b16"
]
}
},
"fragment_audit": {
"assigned_feature_ids": [
"feature_002"
],
"assigned_sketch_ids": [],
"atomic_id": "hole_blind",
"contract_hash": "f62e12603feeca6d7e83acdab651fcb023e08a46c39fd1509e9dcb81d4f0c721",
"fragment_hash": "e203f257b690f98a931f01da0be00ec18f3c3a7e9032d53a342f5b990c9790b9",
"reference_snapshot_id": "a5df05a4b9ab183569906e48d1e7c5fe9a5f848bf4a1b2dad8da4d7263e1c83e",
"reference_tokens": [],
"schema_version": "cad.v3.fragment-audit.v1",
"selector_snapshot_id": "cad_0312ade2fa8a/candidate_841b6e3263a6ea4c",
"selector_tokens": [
"sel_476f983cbc275b16"
]
},
"idempotency_key": "45bc8e12b47b1aeb61e5dca4caeeaea59b5fec8079d332c48ac4fe7ced922878",
"schema_version": "cad.v3.candidate-input.v1",
"working_head": "cad_0312ade2fa8a:rev_001:v10"
}
@@ -0,0 +1,43 @@
{
"files": {
"candidate-review.json": "741830cffde51f286941a71c66c36faa55b858d5c93964439b46b6e24e731ea6",
"candidate.json": "0b9cf4f2369994fccbc69a9459fe995f7c409a1af5a60a1ca9669f15f90aba10",
"input.json": "2f7d10dce8d3c53b6fea0e1af6004d86a339a94411d71187344e278c756423b5",
"model.cdsl.json": "abaafe5db70e21668b748af193233b357469d66ceb474a3fb05d74b86e368264",
"model.glb": "e512a29c9820461fbc53c2d5c1b90a3bf8c0a11da64ce4e5f5f3758cb92bd354",
"model.step": "f151a03b2a917a0187b2bf6c9ea6836a5d40dd016f224534e3bc5883f8d965d0",
"model.topology.json": "3164a5182048aa9e7cbea9d3bd74db4233b161860e89518c570b5f28ee5ef06b",
"rebuild-report.json": "fde86c8fc9d7a86e0e394fca6c3d5dd2f858a74c6bd9bc85cdbcb4cbf89ef752",
"renders/back.png": "434c21e69b57d206a31a3c3d35a4d81139759a6bc7125029fa483ce10b4cbb3c",
"renders/bottom.png": "5de452c84f99c5b4d8f08ff26b03fdf73463032c0773090fb12531e73301ed1c",
"renders/contact-sheet.jpg": "b5e7484c0c5b1a9ef2ecd553afd3400f3439d6502846bc768ed5ffdd1328395c",
"renders/front.png": "434c21e69b57d206a31a3c3d35a4d81139759a6bc7125029fa483ce10b4cbb3c",
"renders/internal/back-2x.png": "67a92031ce91184bd67432c0ddfef8d662be0781ea069dc58088f8e962c1b5e7",
"renders/internal/back/edge.png": "1cd5f26cc3be04e1df52d43265bc5407c8a336a6778869ec2496fdf61315a62b",
"renders/internal/back/line-mask.png": "1cd5f26cc3be04e1df52d43265bc5407c8a336a6778869ec2496fdf61315a62b",
"renders/internal/bottom-2x.png": "d809d00dca78d56ba0bb989b87729cce69ca84022714d63877ffb088cca7f8aa",
"renders/internal/bottom/edge.png": "4001aa8e554c3ef5c7894698ef37cd3dec8311ce711ddfaa08483873d82ab862",
"renders/internal/bottom/line-mask.png": "4001aa8e554c3ef5c7894698ef37cd3dec8311ce711ddfaa08483873d82ab862",
"renders/internal/front-2x.png": "67a92031ce91184bd67432c0ddfef8d662be0781ea069dc58088f8e962c1b5e7",
"renders/internal/front/edge.png": "1cd5f26cc3be04e1df52d43265bc5407c8a336a6778869ec2496fdf61315a62b",
"renders/internal/front/line-mask.png": "1cd5f26cc3be04e1df52d43265bc5407c8a336a6778869ec2496fdf61315a62b",
"renders/internal/isometric-2x.png": "3bb758270f64fda469a20072e6ef20a1ee22ccaf221c7b724863ebd85ad061b6",
"renders/internal/isometric/edge.png": "b9e4d775c64f80b7ff9ef6cb8bdd6bb8e6fdacce32309fbcdf2c82852079137c",
"renders/internal/isometric/line-mask.png": "b9e4d775c64f80b7ff9ef6cb8bdd6bb8e6fdacce32309fbcdf2c82852079137c",
"renders/internal/left-2x.png": "82aa852f53814836f15a874bf962c92e3fb0408caf9029828b711d62d4d0ee86",
"renders/internal/left/edge.png": "1cd5f26cc3be04e1df52d43265bc5407c8a336a6778869ec2496fdf61315a62b",
"renders/internal/left/line-mask.png": "1cd5f26cc3be04e1df52d43265bc5407c8a336a6778869ec2496fdf61315a62b",
"renders/internal/right-2x.png": "d9baf7b73208f9ee73754263238a2586a6958661e3e2e73c65a507f3075d1483",
"renders/internal/right/edge.png": "1cd5f26cc3be04e1df52d43265bc5407c8a336a6778869ec2496fdf61315a62b",
"renders/internal/right/line-mask.png": "1cd5f26cc3be04e1df52d43265bc5407c8a336a6778869ec2496fdf61315a62b",
"renders/internal/top-2x.png": "efe0ce8135cd3db849401b1fc209307e62f688715677830ea243f94d1fd16ce6",
"renders/internal/top/edge.png": "9ccd1060509cec6ef42eeb1633af09d8364562bb13e8336084187e5745cede8f",
"renders/internal/top/line-mask.png": "9ccd1060509cec6ef42eeb1633af09d8364562bb13e8336084187e5745cede8f",
"renders/isometric.png": "23fd2991e65c8f4476c1da3fc82a52d7eb36fd72cd6f4a99fc9a1e22e0d499a7",
"renders/left.png": "8268199c423302d0a3240a3d35c4db33637e3dba4f2c602fc7be9883c32f2ba7",
"renders/render-manifest.json": "4d07fb0de4d996b0aa74feb95590410e9d633a3ff598440347a58e8c806a0862",
"renders/right.png": "e665e7bc8643c91180c53e9131419c0b5da9eba2485de4f5cc83fbe1ba5c8736",
"renders/top.png": "32ce6c179eb1d6069df14e1c2467594f9986e31ee00c884593a92f08be9fffe5"
},
"schema_version": "cad.v3.artifact-manifest.v1"
}
@@ -0,0 +1,93 @@
{
"schema": "cad.cdsl.llm.v1",
"schema_version": "1.1.0",
"kind": "part",
"part_id": "cad_0312ade2fa8a",
"geometry": {
"sketches": [
{
"id": "sketch_001",
"workplane": {
"origin_mm": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"normal": [
0,
0,
1
]
},
"profile": {
"type": "circle",
"center": [
0,
0
],
"radius_mm": 60
}
}
]
},
"features": [
{
"id": "feature_001",
"atomic_id": "extrude_add_blind",
"params": {
"distance_mm": 12
},
"depends_on": [],
"sketch_id": "sketch_001"
},
{
"id": "feature_002",
"atomic_id": "hole_blind",
"params": {
"diameter_mm": 40,
"depth_mm": 12,
"positions": [
{
"mm": [
-6.433359000135589e-16,
1.057399177290951e-16,
0.0
]
}
],
"host_face": {
"frame": {
"origin_mm": [
6.433359000135589e-16,
-1.057399177290951e-16,
12.0
],
"x_dir": [
1.0,
0.0,
0.0
],
"y_dir": [
0.0,
1.0,
0.0
],
"normal": [
0.0,
0.0,
1.0
]
}
}
},
"depends_on": [
"feature_001"
]
}
]
}
@@ -0,0 +1,270 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('Open CASCADE Model'),'2;1');
FILE_NAME('Open CASCADE Shape Model','2026-09-01T09:30:51',('Author'),(
'Open CASCADE'),'Open CASCADE STEP processor 7.9','build123d',
'Unknown');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
ENDSEC;
DATA;
#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',
'automotive_design',2000,#2);
#2 = APPLICATION_CONTEXT(
'core data for automotive mechanical design processes');
#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);
#4 = PRODUCT_DEFINITION_SHAPE('','',#5);
#5 = PRODUCT_DEFINITION('design','',#6,#9);
#6 = PRODUCT_DEFINITION_FORMATION('','',#7);
#7 = PRODUCT('SOLID','SOLID','',(#8));
#8 = PRODUCT_CONTEXT('',#2,'mechanical');
#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#10 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#209);
#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
#12 = CARTESIAN_POINT('',(0.,0.,0.));
#13 = DIRECTION('',(0.,0.,1.));
#14 = DIRECTION('',(1.,0.,-0.));
#15 = MANIFOLD_SOLID_BREP('',#16);
#16 = CLOSED_SHELL('',(#17,#109,#148,#202));
#17 = ADVANCED_FACE('',(#18),#31,.T.);
#18 = FACE_BOUND('',#19,.F.);
#19 = EDGE_LOOP('',(#20,#54,#77,#108));
#20 = ORIENTED_EDGE('',*,*,#21,.F.);
#21 = EDGE_CURVE('',#22,#22,#24,.T.);
#22 = VERTEX_POINT('',#23);
#23 = CARTESIAN_POINT('',(-8.459193418328E-16,-60.,0.));
#24 = SURFACE_CURVE('',#25,(#30,#42),.PCURVE_S1.);
#25 = CIRCLE('',#26,60.);
#26 = AXIS2_PLACEMENT_3D('',#27,#28,#29);
#27 = CARTESIAN_POINT('',(-3.429774159564E-14,3.429774159564E-14,0.));
#28 = DIRECTION('',(0.,0.,1.));
#29 = DIRECTION('',(5.71629026594E-16,-1.,0.));
#30 = PCURVE('',#31,#36);
#31 = CYLINDRICAL_SURFACE('',#32,60.);
#32 = AXIS2_PLACEMENT_3D('',#33,#34,#35);
#33 = CARTESIAN_POINT('',(-3.429774159564E-14,-3.429774159564E-14,0.));
#34 = DIRECTION('',(-0.,-0.,-1.));
#35 = DIRECTION('',(1.,5.71629026594E-16,-0.));
#36 = DEFINITIONAL_REPRESENTATION('',(#37),#41);
#37 = LINE('',#38,#39);
#38 = CARTESIAN_POINT('',(1.570796326795,-0.));
#39 = VECTOR('',#40,1.);
#40 = DIRECTION('',(-1.,0.));
#41 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#42 = PCURVE('',#43,#48);
#43 = PLANE('',#44);
#44 = AXIS2_PLACEMENT_3D('',#45,#46,#47);
#45 = CARTESIAN_POINT('',(1.220145029605E-15,-1.595674565492E-15,0.));
#46 = DIRECTION('',(0.,0.,1.));
#47 = DIRECTION('',(1.,0.,-0.));
#48 = DEFINITIONAL_REPRESENTATION('',(#49),#53);
#49 = CIRCLE('',#50,60.);
#50 = AXIS2_PLACEMENT_2D('',#51,#52);
#51 = CARTESIAN_POINT('',(-3.551788662525E-14,3.589341616114E-14));
#52 = DIRECTION('',(5.71629026594E-16,-1.));
#53 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#54 = ORIENTED_EDGE('',*,*,#55,.T.);
#55 = EDGE_CURVE('',#22,#56,#58,.T.);
#56 = VERTEX_POINT('',#57);
#57 = CARTESIAN_POINT('',(-8.459193418328E-16,-60.,12.));
#58 = SEAM_CURVE('',#59,(#63,#70),.PCURVE_S1.);
#59 = LINE('',#60,#61);
#60 = CARTESIAN_POINT('',(-8.459193418328E-16,-60.,0.));
#61 = VECTOR('',#62,1.);
#62 = DIRECTION('',(0.,0.,1.));
#63 = PCURVE('',#31,#64);
#64 = DEFINITIONAL_REPRESENTATION('',(#65),#69);
#65 = LINE('',#66,#67);
#66 = CARTESIAN_POINT('',(1.570796326795,-0.));
#67 = VECTOR('',#68,1.);
#68 = DIRECTION('',(-0.,-1.));
#69 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#70 = PCURVE('',#31,#71);
#71 = DEFINITIONAL_REPRESENTATION('',(#72),#76);
#72 = LINE('',#73,#74);
#73 = CARTESIAN_POINT('',(-4.712388980385,0.));
#74 = VECTOR('',#75,1.);
#75 = DIRECTION('',(-0.,-1.));
#76 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#77 = ORIENTED_EDGE('',*,*,#78,.F.);
#78 = EDGE_CURVE('',#56,#56,#79,.T.);
#79 = SURFACE_CURVE('',#80,(#85,#92),.PCURVE_S1.);
#80 = CIRCLE('',#81,60.);
#81 = AXIS2_PLACEMENT_3D('',#82,#83,#84);
#82 = CARTESIAN_POINT('',(3.893958571317E-14,4.426865623137E-14,12.));
#83 = DIRECTION('',(0.,0.,-1.));
#84 = DIRECTION('',(-6.77190406614E-16,-1.,-0.));
#85 = PCURVE('',#31,#86);
#86 = DEFINITIONAL_REPRESENTATION('',(#87),#91);
#87 = LINE('',#88,#89);
#88 = CARTESIAN_POINT('',(-4.712388980385,-12.));
#89 = VECTOR('',#90,1.);
#90 = DIRECTION('',(1.,-0.));
#91 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#92 = PCURVE('',#93,#98);
#93 = PLANE('',#94);
#94 = AXIS2_PLACEMENT_3D('',#95,#96,#97);
#95 = CARTESIAN_POINT('',(1.220145029605E-15,-1.595674565492E-15,12.));
#96 = DIRECTION('',(0.,0.,1.));
#97 = DIRECTION('',(1.,0.,-0.));
#98 = DEFINITIONAL_REPRESENTATION('',(#99),#107);
#99 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#100,#101,#102,#103,#104,#105,
#106),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(
-2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,
8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM()
RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(
'') );
#100 = CARTESIAN_POINT('',(-2.91198371327E-15,-60.));
#101 = CARTESIAN_POINT('',(-103.9230484541,-60.));
#102 = CARTESIAN_POINT('',(-51.96152422706,30.));
#103 = CARTESIAN_POINT('',(1.042865278875E-13,120.));
#104 = CARTESIAN_POINT('',(51.961524227066,30.));
#105 = CARTESIAN_POINT('',(103.92304845413,-60.));
#106 = CARTESIAN_POINT('',(-2.91198371327E-15,-60.));
#107 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#108 = ORIENTED_EDGE('',*,*,#55,.F.);
#109 = ADVANCED_FACE('',(#110,#113),#93,.T.);
#110 = FACE_BOUND('',#111,.T.);
#111 = EDGE_LOOP('',(#112));
#112 = ORIENTED_EDGE('',*,*,#78,.F.);
#113 = FACE_BOUND('',#114,.T.);
#114 = EDGE_LOOP('',(#115));
#115 = ORIENTED_EDGE('',*,*,#116,.T.);
#116 = EDGE_CURVE('',#117,#117,#119,.T.);
#117 = VERTEX_POINT('',#118);
#118 = CARTESIAN_POINT('',(-20.,-4.898587196589E-15,12.));
#119 = SURFACE_CURVE('',#120,(#125,#136),.PCURVE_S1.);
#120 = CIRCLE('',#121,20.);
#121 = AXIS2_PLACEMENT_3D('',#122,#123,#124);
#122 = CARTESIAN_POINT('',(0.,0.,12.));
#123 = DIRECTION('',(-0.,0.,-1.));
#124 = DIRECTION('',(-1.,0.,0.));
#125 = PCURVE('',#93,#126);
#126 = DEFINITIONAL_REPRESENTATION('',(#127),#135);
#127 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#128,#129,#130,#131,#132,#133
,#134),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(
-2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,
8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM()
RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(
'') );
#128 = CARTESIAN_POINT('',(-20.,1.595674565492E-15));
#129 = CARTESIAN_POINT('',(-20.,34.641016151378));
#130 = CARTESIAN_POINT('',(10.,17.320508075689));
#131 = CARTESIAN_POINT('',(40.,6.494261762082E-15));
#132 = CARTESIAN_POINT('',(10.,-17.32050807568));
#133 = CARTESIAN_POINT('',(-20.,-34.64101615137));
#134 = CARTESIAN_POINT('',(-20.,1.595674565492E-15));
#135 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#136 = PCURVE('',#137,#142);
#137 = CYLINDRICAL_SURFACE('',#138,20.);
#138 = AXIS2_PLACEMENT_3D('',#139,#140,#141);
#139 = CARTESIAN_POINT('',(0.,0.,12.));
#140 = DIRECTION('',(-0.,-0.,-1.));
#141 = DIRECTION('',(-1.,0.,0.));
#142 = DEFINITIONAL_REPRESENTATION('',(#143),#147);
#143 = LINE('',#144,#145);
#144 = CARTESIAN_POINT('',(0.,0.));
#145 = VECTOR('',#146,1.);
#146 = DIRECTION('',(1.,0.));
#147 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#148 = ADVANCED_FACE('',(#149),#137,.F.);
#149 = FACE_BOUND('',#150,.F.);
#150 = EDGE_LOOP('',(#151,#179,#200,#201));
#151 = ORIENTED_EDGE('',*,*,#152,.F.);
#152 = EDGE_CURVE('',#153,#153,#155,.T.);
#153 = VERTEX_POINT('',#154);
#154 = CARTESIAN_POINT('',(-20.,-4.898587196589E-15,0.));
#155 = SURFACE_CURVE('',#156,(#161,#168),.PCURVE_S1.);
#156 = CIRCLE('',#157,20.);
#157 = AXIS2_PLACEMENT_3D('',#158,#159,#160);
#158 = CARTESIAN_POINT('',(0.,0.,0.));
#159 = DIRECTION('',(-0.,0.,-1.));
#160 = DIRECTION('',(-1.,0.,0.));
#161 = PCURVE('',#137,#162);
#162 = DEFINITIONAL_REPRESENTATION('',(#163),#167);
#163 = LINE('',#164,#165);
#164 = CARTESIAN_POINT('',(0.,12.));
#165 = VECTOR('',#166,1.);
#166 = DIRECTION('',(1.,0.));
#167 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#168 = PCURVE('',#43,#169);
#169 = DEFINITIONAL_REPRESENTATION('',(#170),#178);
#170 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#171,#172,#173,#174,#175,#176
,#177),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(
-2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,
8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM()
RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(
'') );
#171 = CARTESIAN_POINT('',(-20.,1.595674565492E-15));
#172 = CARTESIAN_POINT('',(-20.,34.641016151378));
#173 = CARTESIAN_POINT('',(10.,17.320508075689));
#174 = CARTESIAN_POINT('',(40.,6.494261762082E-15));
#175 = CARTESIAN_POINT('',(10.,-17.32050807568));
#176 = CARTESIAN_POINT('',(-20.,-34.64101615137));
#177 = CARTESIAN_POINT('',(-20.,1.595674565492E-15));
#178 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#179 = ORIENTED_EDGE('',*,*,#180,.F.);
#180 = EDGE_CURVE('',#117,#153,#181,.T.);
#181 = SEAM_CURVE('',#182,(#186,#193),.PCURVE_S1.);
#182 = LINE('',#183,#184);
#183 = CARTESIAN_POINT('',(-20.,-4.898587196589E-15,12.));
#184 = VECTOR('',#185,1.);
#185 = DIRECTION('',(0.,-0.,-1.));
#186 = PCURVE('',#137,#187);
#187 = DEFINITIONAL_REPRESENTATION('',(#188),#192);
#188 = LINE('',#189,#190);
#189 = CARTESIAN_POINT('',(6.28318530718,-0.));
#190 = VECTOR('',#191,1.);
#191 = DIRECTION('',(0.,1.));
#192 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#193 = PCURVE('',#137,#194);
#194 = DEFINITIONAL_REPRESENTATION('',(#195),#199);
#195 = LINE('',#196,#197);
#196 = CARTESIAN_POINT('',(0.,-0.));
#197 = VECTOR('',#198,1.);
#198 = DIRECTION('',(0.,1.));
#199 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#200 = ORIENTED_EDGE('',*,*,#116,.T.);
#201 = ORIENTED_EDGE('',*,*,#180,.T.);
#202 = ADVANCED_FACE('',(#203,#206),#43,.F.);
#203 = FACE_BOUND('',#204,.F.);
#204 = EDGE_LOOP('',(#205));
#205 = ORIENTED_EDGE('',*,*,#21,.T.);
#206 = FACE_BOUND('',#207,.F.);
#207 = EDGE_LOOP('',(#208));
#208 = ORIENTED_EDGE('',*,*,#152,.T.);
#209 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#213)) GLOBAL_UNIT_ASSIGNED_CONTEXT
((#210,#211,#212)) REPRESENTATION_CONTEXT('Context #1',
'3D Context with UNIT and UNCERTAINTY') );
#210 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#211 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#212 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#213 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#210,
'distance_accuracy_value','confusion accuracy');
#214 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
ENDSEC;
END-ISO-10303-21;
@@ -0,0 +1,502 @@
{
"schema_version": "cad.topology.v1",
"task_id": "cad_0312ade2fa8a",
"revision_id": "candidate_8c27ebfcb4e38663",
"snapshot_id": "cad_0312ade2fa8a/candidate_8c27ebfcb4e38663",
"body_id": "body:feature_002",
"records": [
{
"record_id": "body:feature_002:face:0",
"kind": "face",
"feature_id": "feature_002",
"body_id": "body:feature_002",
"owner_feature_ids": [
"feature_002"
],
"geometry": {
"bbox_mm": [
-60.00000000000007,
-60.0,
0.0,
60.00000000000007,
60.00000000000008,
12.0
],
"center_mm": [
-3.8276190202840126e-14,
60.0,
6.0
],
"normal": [
-6.6307476786619e-17,
1.0,
-0.0
],
"area_mm2": 4523.893421169304,
"surface_type": "cylinder",
"adjacency_signature": [
"circle:376.991118:2",
"circle:376.991118:2",
"line:12.000000:1"
],
"axis_origin_mm": [
-3.429774159564298e-14,
-3.429774159564298e-14,
0.0
],
"axis_direction": [
-0.0,
-0.0,
-1.0
],
"radius_mm": 60.000000000000036,
"radial_normal_alignment": 1.0,
"cylinder_role": "outer",
"connected_plane_ids": [
"body:feature_002:face:1",
"body:feature_002:face:3"
],
"through": true
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_002:face:1",
"kind": "face",
"feature_id": "feature_002",
"body_id": "body:feature_002",
"owner_feature_ids": [
"feature_002"
],
"geometry": {
"bbox_mm": [
-60.0,
-59.99999999999999,
12.0,
60.00000000000007,
60.00000000000008,
12.0
],
"center_mm": [
4.440892098500626e-14,
6.750155989720952e-14,
12.0
],
"normal": [
0.0,
0.0,
1.0
],
"area_mm2": 10053.096491487348,
"surface_type": "plane",
"adjacency_signature": [
"circle:125.663706:2",
"circle:376.991118:2"
],
"plane_normal": [
0.0,
0.0,
1.0
],
"plane_offset_mm": 12.0
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_002:face:2",
"kind": "face",
"feature_id": "feature_002",
"body_id": "body:feature_002",
"owner_feature_ids": [
"feature_002"
],
"geometry": {
"bbox_mm": [
-20.0,
-20.0,
0.0,
20.0,
20.0,
12.0
],
"center_mm": [
20.0,
2.4492935982947065e-15,
6.0
],
"normal": [
-1.0,
-1.2246467991473532e-16,
0.0
],
"area_mm2": 1507.9644737231008,
"surface_type": "cylinder",
"adjacency_signature": [
"circle:125.663706:2",
"circle:125.663706:2",
"line:12.000000:1"
],
"axis_origin_mm": [
0.0,
0.0,
12.0
],
"axis_direction": [
-0.0,
-0.0,
-1.0
],
"radius_mm": 20.0,
"radial_normal_alignment": -1.0,
"cylinder_role": "inner",
"connected_plane_ids": [
"body:feature_002:face:1",
"body:feature_002:face:3"
],
"through": true
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_002:face:3",
"kind": "face",
"feature_id": "feature_002",
"body_id": "body:feature_002",
"owner_feature_ids": [
"feature_002"
],
"geometry": {
"bbox_mm": [
-60.00000000000007,
-60.0,
0.0,
60.0,
60.00000000000007,
0.0
],
"center_mm": [
-3.552713678800501e-14,
3.552713678800501e-14,
0.0
],
"normal": [
-0.0,
-0.0,
-1.0
],
"area_mm2": 10053.096491487351,
"surface_type": "plane",
"adjacency_signature": [
"circle:125.663706:2",
"circle:376.991118:2"
],
"plane_normal": [
0.0,
0.0,
1.0
],
"plane_offset_mm": -0.0
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_002:edge:0",
"kind": "edge",
"feature_id": "feature_002",
"body_id": "body:feature_002",
"owner_feature_ids": [
"feature_002"
],
"geometry": {
"bbox_mm": [
-60.00000000000007,
-60.0,
0.0,
60.0,
60.00000000000007,
0.0
],
"center_mm": [
-6.124760239640184e-14,
60.00000000000007,
0.0
],
"length_mm": 376.9911184307754,
"curve_type": "circle",
"adjacent_face_count": 2,
"start_mm": [
-8.459193418327608e-16,
-60.0,
0.0
],
"end_mm": [
-8.459193418327608e-16,
-60.0,
0.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_002:edge:1",
"kind": "edge",
"feature_id": "feature_002",
"body_id": "body:feature_002",
"owner_feature_ids": [
"feature_002"
],
"geometry": {
"bbox_mm": [
-8.459193418327608e-16,
-60.0,
0.0,
-8.459193418327608e-16,
-60.0,
12.0
],
"center_mm": [
-8.459193418327608e-16,
-60.0,
6.0
],
"length_mm": 12.0,
"curve_type": "line",
"adjacent_face_count": 1,
"start_mm": [
-8.459193418327608e-16,
-60.0,
0.0
],
"end_mm": [
-8.459193418327608e-16,
-60.0,
12.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_002:edge:2",
"kind": "edge",
"feature_id": "feature_002",
"body_id": "body:feature_002",
"owner_feature_ids": [
"feature_002"
],
"geometry": {
"bbox_mm": [
-60.0,
-59.99999999999999,
12.0,
60.00000000000007,
60.00000000000008,
12.0
],
"center_mm": [
7.222312931512823e-14,
60.00000000000008,
12.0
],
"length_mm": 376.9911184307754,
"curve_type": "circle",
"adjacent_face_count": 2,
"start_mm": [
-8.459193418327608e-16,
-60.0,
12.0
],
"end_mm": [
-8.459193418327608e-16,
-60.0,
12.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_002:edge:3",
"kind": "edge",
"feature_id": "feature_002",
"body_id": "body:feature_002",
"owner_feature_ids": [
"feature_002"
],
"geometry": {
"bbox_mm": [
-20.0,
-20.0,
12.0,
20.0,
20.0,
12.0
],
"center_mm": [
20.0,
2.4492935982947065e-15,
12.0
],
"length_mm": 125.66370614359172,
"curve_type": "circle",
"adjacent_face_count": 2,
"start_mm": [
-20.0,
-4.898587196589413e-15,
12.0
],
"end_mm": [
-20.0,
-4.898587196589413e-15,
12.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_002:edge:4",
"kind": "edge",
"feature_id": "feature_002",
"body_id": "body:feature_002",
"owner_feature_ids": [
"feature_002"
],
"geometry": {
"bbox_mm": [
-20.0,
-20.0,
0.0,
20.0,
20.0,
0.0
],
"center_mm": [
20.0,
2.4492935982947065e-15,
0.0
],
"length_mm": 125.66370614359172,
"curve_type": "circle",
"adjacent_face_count": 2,
"start_mm": [
-20.0,
-4.898587196589413e-15,
0.0
],
"end_mm": [
-20.0,
-4.898587196589413e-15,
0.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_002:edge:5",
"kind": "edge",
"feature_id": "feature_002",
"body_id": "body:feature_002",
"owner_feature_ids": [
"feature_002"
],
"geometry": {
"bbox_mm": [
-20.0,
-4.898587196589413e-15,
0.0,
-20.0,
-4.898587196589413e-15,
12.0
],
"center_mm": [
-20.0,
-4.898587196589413e-15,
6.0
],
"length_mm": 12.0,
"curve_type": "line",
"adjacent_face_count": 1,
"start_mm": [
-20.0,
-4.898587196589413e-15,
0.0
],
"end_mm": [
-20.0,
-4.898587196589413e-15,
12.0
]
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_002:vertex:0",
"kind": "vertex",
"feature_id": "feature_002",
"body_id": "body:feature_002",
"owner_feature_ids": [
"feature_002"
],
"geometry": {
"center_mm": [
-20.0,
-4.898587196589413e-15,
0.0
],
"incident_edge_count": 2
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_002:vertex:1",
"kind": "vertex",
"feature_id": "feature_002",
"body_id": "body:feature_002",
"owner_feature_ids": [
"feature_002"
],
"geometry": {
"center_mm": [
-20.0,
-4.898587196589413e-15,
12.0
],
"incident_edge_count": 2
},
"executable": true,
"synthetic": false
},
{
"record_id": "body:feature_002",
"kind": "body",
"feature_id": "feature_002",
"body_id": "body:feature_002",
"owner_feature_ids": [
"feature_002"
],
"geometry": {
"bbox_mm": [
-60.00000000000007,
-60.0,
0.0,
60.00000000000007,
60.00000000000008,
12.0
],
"volume_mm3": 120637.15789784823,
"solid_count": 1
},
"executable": true,
"synthetic": false
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

@@ -0,0 +1,358 @@
{
"schema_version": "cad.render-manifest.v2",
"renderer": "python-occ-hlr-pillow",
"source": {
"type": "step",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/model.step",
"bounds_mm": [
-60.000000000000036,
60.000000000000036,
-60.0,
60.00000000000004,
0.0,
12.0
]
},
"high_resolution": {
"width": 2048,
"height": 2048,
"method": "occ_hidden_line"
},
"review_resolution": {
"width": 1024,
"height": 1024,
"resample": "lanczos"
},
"contact_sheet_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/contact-sheet.jpg",
"views": [
{
"id": "top",
"camera": {
"projection": "orthographic",
"position": [
0.0,
2.1316282072803006e-14,
100006.0
],
"focal_point": [
0.0,
2.1316282072803006e-14,
6.0
],
"view_up": [
0.0,
1.0,
0.0
],
"view": "top",
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333333,
83.33333333333336
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/top.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/top-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/top/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/top/edge.png",
"coverage": 0.006989955902099609,
"pixel_bbox": [
285,
285,
1763,
1763
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 2,
"hidden_edge_count": 2,
"valid": true
}
},
{
"id": "bottom",
"camera": {
"projection": "orthographic",
"position": [
0.0,
2.1316282072803006e-14,
-99994.0
],
"focal_point": [
0.0,
2.1316282072803006e-14,
6.0
],
"view_up": [
0.0,
1.0,
0.0
],
"view": "bottom",
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333333,
83.33333333333336
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/bottom.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/bottom-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/bottom/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/bottom/edge.png",
"coverage": 0.006989479064941406,
"pixel_bbox": [
285,
285,
1763,
1763
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 2,
"hidden_edge_count": 2,
"valid": true
}
},
{
"id": "front",
"camera": {
"projection": "orthographic",
"position": [
0.0,
-100000.0,
6.0
],
"focal_point": [
0.0,
2.1316282072803006e-14,
6.0
],
"view_up": [
0.0,
0.0,
1.0
],
"view": "front",
"frame_mm": [
-83.33333333333339,
83.33333333333339,
-83.33333333333339,
83.33333333333339
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/front.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/front-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/front/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/front/edge.png",
"coverage": 0.0041294097900390625,
"pixel_bbox": [
285,
948,
1763,
1100
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 6,
"hidden_edge_count": 8,
"valid": true
}
},
{
"id": "back",
"camera": {
"projection": "orthographic",
"position": [
0.0,
100000.0,
6.0
],
"focal_point": [
0.0,
2.1316282072803006e-14,
6.0
],
"view_up": [
0.0,
0.0,
1.0
],
"view": "back",
"frame_mm": [
-83.33333333333339,
83.33333333333339,
-83.33333333333339,
83.33333333333339
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/back.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/back-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/back/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/back/edge.png",
"coverage": 0.0041294097900390625,
"pixel_bbox": [
285,
948,
1763,
1100
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 4,
"hidden_edge_count": 10,
"valid": true
}
},
{
"id": "left",
"camera": {
"projection": "orthographic",
"position": [
-100000.0,
2.1316282072803006e-14,
6.0
],
"focal_point": [
0.0,
2.1316282072803006e-14,
6.0
],
"view_up": [
0.0,
0.0,
1.0
],
"view": "left",
"frame_mm": [
-83.33333333333337,
83.33333333333337,
-83.33333333333337,
83.33333333333337
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/left.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/left-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/left/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/left/edge.png",
"coverage": 0.0041294097900390625,
"pixel_bbox": [
285,
948,
1763,
1100
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 4,
"hidden_edge_count": 10,
"valid": true
}
},
{
"id": "right",
"camera": {
"projection": "orthographic",
"position": [
100000.0,
2.1316282072803006e-14,
6.0
],
"focal_point": [
0.0,
2.1316282072803006e-14,
6.0
],
"view_up": [
0.0,
0.0,
1.0
],
"view": "right",
"frame_mm": [
-83.33333333333337,
83.33333333333337,
-83.33333333333337,
83.33333333333337
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/right.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/right-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/right/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/right/edge.png",
"coverage": 0.0041294097900390625,
"pixel_bbox": [
285,
948,
1763,
1100
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 4,
"hidden_edge_count": 10,
"valid": true
}
},
{
"id": "isometric",
"camera": {
"projection": "orthographic",
"position": [
61545.74548966637,
-61545.74548966637,
49242.596391733096
],
"focal_point": [
0.0,
2.1316282072803006e-14,
6.0
],
"view_up": [
0.0,
0.0,
1.0
],
"view": "isometric",
"frame_mm": [
-83.33333333333648,
83.33333333333034,
-83.33327613908968,
83.33339052757715
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/isometric.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/isometric-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/isometric/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260901T012040Z/artifacts/cad_0312ade2fa8a/revisions/rev_002/renders/internal/isometric/edge.png",
"coverage": 0.010705709457397461,
"pixel_bbox": [
285,
595,
1763,
1453
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 12,
"hidden_edge_count": 6,
"valid": true
}
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB