重构 改为标准化输出

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_889e94bf0d01457a",
"claim_coverage": [
{
"claim_id": "claim_001",
"evidence_refs": [
"ev_solid_count"
],
"status": "pass"
},
{
"claim_id": "claim_002",
"evidence_refs": [
"ev_bbox"
],
"status": "pass"
},
{
"claim_id": "claim_003",
"evidence_refs": [
"ev_bbox"
],
"status": "pass"
},
{
"claim_id": "claim_004",
"evidence_refs": [
"ev_bbox"
],
"status": "pass"
},
{
"claim_id": "claim_005",
"evidence_refs": [
"ev_outer_cyl"
],
"status": "pass"
},
{
"claim_id": "claim_006",
"evidence_refs": [
"ev_center_bore_pending"
],
"status": "pending"
},
{
"claim_id": "claim_007",
"evidence_refs": [
"ev_bolt_holes"
],
"status": "pass"
},
{
"claim_id": "claim_008",
"evidence_refs": [
"ev_pattern_pending_center"
],
"status": "pending"
},
{
"claim_id": "claim_009",
"evidence_refs": [
"ev_visual_pattern"
],
"status": "pass"
}
],
"evidence": [
"ev_solid_count: deterministic result reports exactly one solid.",
"ev_bbox: bounding box dimensions are 120.0 x 120.0 x 12.0 mm.",
"ev_outer_cyl: deterministic result reports one external cylindrical surface group with 120 mm diameter and 12 mm axial span.",
"ev_center_bore_pending: deterministic result explicitly defers the 40 mm concentric through bore at this checkpoint.",
"ev_bolt_holes: deterministic result reports six through bores matching the bolt-hole action.",
"ev_pattern_pending_center: circular pattern verification is pending only because the required concentric reference bore is not available yet.",
"ev_visual_pattern: renders show six small through holes equally distributed around the flange on a bolt circle; no center bore is visible at this checkpoint."
],
"issues": [],
"verdict": "accept",
"working_head": "cad_630647071bf9:rev_001:v18"
}
@@ -0,0 +1,525 @@
{
"action_id": "act_019",
"actual_atomic_id": "hole_wizard",
"blockers": [],
"candidate_id": "candidate_889e94bf0d01457a",
"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": "bbox_dimension_mm",
"deterministic": true,
"evidence": {
"actual_mm": 120.0,
"axis": "x",
"tolerance_mm": 0.1
},
"status": "pass"
},
{
"claim_id": "claim_003",
"claim_kind": "bbox_dimension_mm",
"deterministic": true,
"evidence": {
"actual_mm": 120.0,
"axis": "y",
"tolerance_mm": 0.1
},
"status": "pass"
},
{
"claim_id": "claim_004",
"claim_kind": "bbox_dimension_mm",
"deterministic": true,
"evidence": {
"actual_mm": 12.0,
"axis": "z",
"tolerance_mm": 0.1
},
"status": "pass"
},
{
"claim_id": "claim_005",
"claim_kind": "outer_cylindrical_surface",
"deterministic": true,
"evidence": {
"axial_spans_mm": [
12.0
],
"diameter_mm": 120,
"external_cylindrical_faces": [
"body:feature_002:face:1"
],
"external_cylindrical_surface_groups": [
[
"body:feature_002:face:1"
]
],
"tolerance_mm": 0.1
},
"status": "pass"
},
{
"claim_id": "claim_006",
"claim_kind": "through_cylindrical_bore",
"deterministic": true,
"evidence": {
"reason": "the target bore has not been introduced at this checkpoint"
},
"status": "pending"
},
{
"claim_id": "claim_007",
"claim_kind": "through_cylindrical_bore",
"deterministic": true,
"evidence": {
"through_bores": [
"body:feature_002:face:2",
"body:feature_002:face:3",
"body:feature_002:face:4",
"body:feature_002:face:5",
"body:feature_002:face:6",
"body:feature_002:face:7"
]
},
"status": "pass"
},
{
"claim_id": "claim_008",
"claim_kind": "circular_hole_pattern",
"deterministic": true,
"evidence": {
"reason": "the required concentric reference bore is not available"
},
"status": "pending"
},
{
"claim_id": "claim_009",
"claim_kind": "visual",
"deterministic": false,
"evidence": {
"reason": "requires independent visual review"
},
"status": "pending"
}
],
"fragment_hash": "5dfc710fba47160280c3dd8ffc694dfae7d1773555802c39db7e44d29a5d9d6d",
"health": {
"bbox_mm": {
"dimensions": [
120.0,
120.0,
12.0
],
"max": [
60.0,
60.0,
0.0
],
"min": [
-60.0,
-60.0,
-12.0
]
},
"feature_count": 2,
"solid_count": 1,
"volume_mm3": 132097.68789814366
},
"operation_verifier_results": [
{
"claim_id": "operation_act_019_cylindrical_bore",
"claim_kind": "cylindrical_bore",
"deterministic": true,
"evidence": {
"matched_cylindrical_faces": [
"body:feature_002:face:2",
"body:feature_002:face:3",
"body:feature_002:face:4",
"body:feature_002:face:5",
"body:feature_002:face:6",
"body:feature_002:face:7"
]
},
"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/20260831T193133Z/artifacts/cad_630647071bf9/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.0,
60.0,
-60.0,
60.0,
-12.0,
0.0
],
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/model.step",
"type": "step"
},
"views": [
{
"camera": {
"focal_point": [
0.0,
0.0,
-6.0
],
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
],
"position": [
0.0,
0.0,
99994.0
],
"projection": "orthographic",
"view": "top",
"view_up": [
0.0,
1.0,
0.0
]
},
"diagnostics": {
"coverage": 0.007313966751098633,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/top/edge.png",
"hidden_edge_count": 7,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/top/line-mask.png",
"pixel_bbox": [
285,
285,
1763,
1763
],
"touches_border": false,
"valid": true,
"visible_edge_count": 7
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/top-2x.png",
"id": "top",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/top.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
0.0,
-6.0
],
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
],
"position": [
0.0,
0.0,
-100006.0
],
"projection": "orthographic",
"view": "bottom",
"view_up": [
0.0,
1.0,
0.0
]
},
"diagnostics": {
"coverage": 0.007313966751098633,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/bottom/edge.png",
"hidden_edge_count": 7,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/bottom/line-mask.png",
"pixel_bbox": [
285,
285,
1763,
1763
],
"touches_border": false,
"valid": true,
"visible_edge_count": 7
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/bottom-2x.png",
"id": "bottom",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/bottom.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
0.0,
-6.0
],
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
],
"position": [
0.0,
-100000.0,
-6.0
],
"projection": "orthographic",
"view": "front",
"view_up": [
0.0,
0.0,
1.0
]
},
"diagnostics": {
"coverage": 0.0049419403076171875,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/front/edge.png",
"hidden_edge_count": 38,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/front/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/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/front-2x.png",
"id": "front",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/front.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
0.0,
-6.0
],
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
],
"position": [
0.0,
100000.0,
-6.0
],
"projection": "orthographic",
"view": "back",
"view_up": [
0.0,
0.0,
1.0
]
},
"diagnostics": {
"coverage": 0.0049419403076171875,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/back/edge.png",
"hidden_edge_count": 38,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/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/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/back-2x.png",
"id": "back",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/back.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
0.0,
-6.0
],
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
],
"position": [
-100000.0,
0.0,
-6.0
],
"projection": "orthographic",
"view": "left",
"view_up": [
0.0,
0.0,
1.0
]
},
"diagnostics": {
"coverage": 0.0046710968017578125,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/left/edge.png",
"hidden_edge_count": 52,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/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/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/left-2x.png",
"id": "left",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/left.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
0.0,
-6.0
],
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
],
"position": [
100000.0,
0.0,
-6.0
],
"projection": "orthographic",
"view": "right",
"view_up": [
0.0,
0.0,
1.0
]
},
"diagnostics": {
"coverage": 0.0046710968017578125,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/right/edge.png",
"hidden_edge_count": 50,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/right/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/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/right-2x.png",
"id": "right",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/right.png",
"target": null
},
{
"camera": {
"focal_point": [
0.0,
0.0,
-6.0
],
"frame_mm": [
-83.33333333333641,
83.33333333333027,
-83.33327613983434,
83.33339052683235
],
"position": [
61545.74548966637,
-61545.74548966637,
49230.596391733096
],
"projection": "orthographic",
"view": "isometric",
"view_up": [
0.0,
0.0,
1.0
]
},
"diagnostics": {
"coverage": 0.012220144271850586,
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/isometric/edge.png",
"hidden_edge_count": 31,
"intentional_crop": false,
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/isometric/line-mask.png",
"pixel_bbox": [
285,
595,
1763,
1453
],
"touches_border": false,
"valid": true,
"visible_edge_count": 25
},
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/isometric-2x.png",
"id": "isometric",
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/isometric.png",
"target": null
}
]
},
"schema_version": "cad.v3.candidate.v1",
"selector_snapshot_id": "cad_630647071bf9/candidate_430aa74222a5889a",
"stage_id": "stage_889e94bf0d01457a66ab",
"working_head": "cad_630647071bf9:rev_001:v18"
}
@@ -0,0 +1,85 @@
{
"action_id": "act_019",
"candidate_id": "candidate_889e94bf0d01457a",
"contract_hash": "35d56dd42ee933e0fe59f9cfc33391b25844bd270a8909703af7855ad6bd25f2",
"fragment": {
"feature": {
"atomic_id": "hole_wizard",
"params": {
"depth_mm": 12,
"diameter_mm": 8,
"end_condition": {
"solidworks_code": 0,
"type": "through_all"
},
"hole_type": "simple",
"positions": [
{
"mm": [
45,
0,
0
]
},
{
"mm": [
22.5,
38.97114317029974,
0
]
},
{
"mm": [
-22.5,
38.97114317029974,
0
]
},
{
"mm": [
-45,
0,
0
]
},
{
"mm": [
-22.5,
-38.97114317029974,
0
]
},
{
"mm": [
22.5,
-38.97114317029974,
0
]
}
]
},
"selector_tokens": [
"sel_51ee0429f81b22e7"
]
}
},
"fragment_audit": {
"assigned_feature_ids": [
"feature_002"
],
"assigned_sketch_ids": [],
"atomic_id": "hole_wizard",
"contract_hash": "35d56dd42ee933e0fe59f9cfc33391b25844bd270a8909703af7855ad6bd25f2",
"fragment_hash": "5dfc710fba47160280c3dd8ffc694dfae7d1773555802c39db7e44d29a5d9d6d",
"reference_snapshot_id": "41f869023c9250ab7d527adab00e5231b5a46e8d21b72cef1d8b3146e8774705",
"reference_tokens": [],
"schema_version": "cad.v3.fragment-audit.v1",
"selector_snapshot_id": "cad_630647071bf9/candidate_430aa74222a5889a",
"selector_tokens": [
"sel_51ee0429f81b22e7"
]
},
"idempotency_key": "97deb6b7e5f9ab246d2650894c0e9e7d45347d2a5143f7e3d4d8ba4f5ca54220",
"schema_version": "cad.v3.candidate-input.v1",
"working_head": "cad_630647071bf9:rev_001:v18"
}
@@ -0,0 +1,43 @@
{
"files": {
"candidate-review.json": "fec21a9501c708ad7c080354c2b8e5d0757898379d879e62cd7e5bfae0b74165",
"candidate.json": "c5450efaa9c089c0c355ff97af2488c849c24df3d53d7189fc192d6276101599",
"input.json": "7781217270fccfcdf0193e653a84cd677c49e370611bf30ce30d5236c758dd22",
"model.cdsl.json": "a3199a4640e8991fbf1f237c52c9ce0feffc27a32263b5c160628f479f9d0f02",
"model.glb": "c0f47075bd3fcfd354f7ef1eb7f2b626cbd11b3c2e1b66b97bb2027623bb423a",
"model.step": "7b66ebec106e8009fdb9aff6a4e44a818b474d0dec309bc21379232fa87b435b",
"model.topology.json": "3993e255c4ba3e4d67b0f02c3f6c59aac93f22f74fd64cf4fa34877a99e2f984",
"rebuild-report.json": "d0d00045f589fb1a45ae1372ca882da4efc96e5b425a84cb0252fa71ed64b162",
"renders/back.png": "0fd4437a834ce93c7e03f8a2929cf68628c096ab373b8a9dccdf672254b0e6c8",
"renders/bottom.png": "e43314a039b05514be1587f6eaeeb4cf3c0251f95e3f846ed0eb1cb3dba3ffd4",
"renders/contact-sheet.jpg": "ef263ddebe2807af9fde802c15372e6903e2c654ba1211f03c65acab26a1088f",
"renders/front.png": "0fd4437a834ce93c7e03f8a2929cf68628c096ab373b8a9dccdf672254b0e6c8",
"renders/internal/back-2x.png": "fc698914f80ca3b99777bea93fb390eebead90c4028c5e4d2634935b49ae13ed",
"renders/internal/back/edge.png": "0247f251db17355666a280893327f704fb69d1ca01184ed3fd203f23840fee22",
"renders/internal/back/line-mask.png": "0247f251db17355666a280893327f704fb69d1ca01184ed3fd203f23840fee22",
"renders/internal/bottom-2x.png": "9075554d0582f27012c4a79d377d443bf611c11f31f598e036454f3d5a9a7113",
"renders/internal/bottom/edge.png": "5fe3fe34463ec6f55f18ad7a77d18ed2ef814b7c3fb1f18d771d610cbd37ebe1",
"renders/internal/bottom/line-mask.png": "5fe3fe34463ec6f55f18ad7a77d18ed2ef814b7c3fb1f18d771d610cbd37ebe1",
"renders/internal/front-2x.png": "fc698914f80ca3b99777bea93fb390eebead90c4028c5e4d2634935b49ae13ed",
"renders/internal/front/edge.png": "0247f251db17355666a280893327f704fb69d1ca01184ed3fd203f23840fee22",
"renders/internal/front/line-mask.png": "0247f251db17355666a280893327f704fb69d1ca01184ed3fd203f23840fee22",
"renders/internal/isometric-2x.png": "4e4cf59e640c0e0c2ca4b82ec225ed9a90fca506aa8e23f6f0b751b57e3d4e04",
"renders/internal/isometric/edge.png": "cc2c6629be0b33e92fa8557be4aadc991e1491b11570168220070fbf22dbe5f5",
"renders/internal/isometric/line-mask.png": "cc2c6629be0b33e92fa8557be4aadc991e1491b11570168220070fbf22dbe5f5",
"renders/internal/left-2x.png": "4df80209f0a6579f85cd35fe29e38785312af12a2f86e6ba07c4dbd118764838",
"renders/internal/left/edge.png": "98ea5a8c507a8bf6559fd48f8a360573b66af47772ec21c6a9d20d3245948562",
"renders/internal/left/line-mask.png": "98ea5a8c507a8bf6559fd48f8a360573b66af47772ec21c6a9d20d3245948562",
"renders/internal/right-2x.png": "4df80209f0a6579f85cd35fe29e38785312af12a2f86e6ba07c4dbd118764838",
"renders/internal/right/edge.png": "98ea5a8c507a8bf6559fd48f8a360573b66af47772ec21c6a9d20d3245948562",
"renders/internal/right/line-mask.png": "98ea5a8c507a8bf6559fd48f8a360573b66af47772ec21c6a9d20d3245948562",
"renders/internal/top-2x.png": "3b57224cd8842ed8b11db64d8fda179241057b6c1a511be037e4ae237e0d10c4",
"renders/internal/top/edge.png": "b8b1a5d7294ea8eb2ca08ae262ea9da5ddb2b6a19d2ede4476639734f12070c7",
"renders/internal/top/line-mask.png": "b8b1a5d7294ea8eb2ca08ae262ea9da5ddb2b6a19d2ede4476639734f12070c7",
"renders/isometric.png": "445495b4268b9914ee0934af34420825e8870479fe6035ce1e9a3fd29858058e",
"renders/left.png": "cd1abf75e93b49cba13e818e9839eb1792b44a31f8e254f1fedce7f47a71e255",
"renders/render-manifest.json": "22f30eefdadd98f8940b32f02b58bee1fd3e48f764ee024d3f0a611b7f0ddb6a",
"renders/right.png": "cd1abf75e93b49cba13e818e9839eb1792b44a31f8e254f1fedce7f47a71e255",
"renders/top.png": "65b4315099a51776d8a2a8d25082438c8316bae223356c3af85ed26599a2b464"
},
"schema_version": "cad.v3.artifact-manifest.v1"
}
@@ -0,0 +1,192 @@
{
"schema": "cad.cdsl.llm.v1",
"schema_version": "1.1.0",
"kind": "part",
"part_id": "cad_630647071bf9",
"geometry": {
"sketches": [
{
"id": "sketch_001",
"workplane": {
"origin_mm": [
0,
0,
0
],
"x_dir": [
1,
0,
0
],
"normal": [
0,
1,
0
]
},
"profile": {
"type": "analytic_contours",
"contours": [
{
"role": "outer",
"closed": true,
"segments": [
{
"type": "line",
"start": [
0,
0
],
"end": [
60,
0
]
},
{
"type": "line",
"start": [
60,
0
],
"end": [
60,
12
]
},
{
"type": "line",
"start": [
60,
12
],
"end": [
0,
12
]
},
{
"type": "line",
"start": [
0,
12
],
"end": [
0,
0
]
}
]
}
]
}
}
]
},
"features": [
{
"id": "feature_001",
"atomic_id": "revolve_add",
"params": {
"angle_deg": 360,
"axis": {
"origin_mm": [
0,
0,
0
],
"direction": [
0,
0,
1
]
}
},
"depends_on": [],
"sketch_id": "sketch_001"
},
{
"id": "feature_002",
"atomic_id": "hole_wizard",
"params": {
"hole_type": "simple",
"diameter_mm": 8,
"depth_mm": 12,
"end_condition": {
"type": "through_all",
"solidworks_code": 0
},
"positions": [
{
"mm": [
44.999999999999986,
6.06329801181952e-15,
0.0
]
},
{
"mm": [
22.499999999999986,
38.97114317029975,
0.0
]
},
{
"mm": [
-22.500000000000014,
38.97114317029975,
0.0
]
},
{
"mm": [
-45.000000000000014,
6.06329801181952e-15,
0.0
]
},
{
"mm": [
-22.500000000000014,
-38.97114317029973,
0.0
]
},
{
"mm": [
22.499999999999986,
-38.97114317029973,
0.0
]
}
],
"host_face": {
"frame": {
"origin_mm": [
1.4210854715202004e-14,
-6.06329801181952e-15,
0.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,831 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('Open CASCADE Model'),'2;1');
FILE_NAME('Open CASCADE Shape Model','2026-09-01T03:39:23',('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),#665);
#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,#264,#319,#373,#427,#481,#535,#589,#643));
#17 = ADVANCED_FACE('',(#18,#54,#89,#124,#159,#194,#229),#31,.T.);
#18 = FACE_BOUND('',#19,.F.);
#19 = EDGE_LOOP('',(#20));
#20 = ORIENTED_EDGE('',*,*,#21,.F.);
#21 = EDGE_CURVE('',#22,#22,#24,.T.);
#22 = VERTEX_POINT('',#23);
#23 = CARTESIAN_POINT('',(60.,0.,0.));
#24 = SURFACE_CURVE('',#25,(#30,#42),.PCURVE_S1.);
#25 = CIRCLE('',#26,60.);
#26 = AXIS2_PLACEMENT_3D('',#27,#28,#29);
#27 = CARTESIAN_POINT('',(0.,0.,0.));
#28 = DIRECTION('',(0.,0.,1.));
#29 = DIRECTION('',(1.,0.,-0.));
#30 = PCURVE('',#31,#36);
#31 = PLANE('',#32);
#32 = AXIS2_PLACEMENT_3D('',#33,#34,#35);
#33 = CARTESIAN_POINT('',(0.,0.,0.));
#34 = DIRECTION('',(0.,0.,1.));
#35 = DIRECTION('',(1.,0.,-0.));
#36 = DEFINITIONAL_REPRESENTATION('',(#37),#41);
#37 = CIRCLE('',#38,60.);
#38 = AXIS2_PLACEMENT_2D('',#39,#40);
#39 = CARTESIAN_POINT('',(0.,0.));
#40 = DIRECTION('',(1.,-0.));
#41 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#42 = PCURVE('',#43,#48);
#43 = CYLINDRICAL_SURFACE('',#44,60.);
#44 = AXIS2_PLACEMENT_3D('',#45,#46,#47);
#45 = CARTESIAN_POINT('',(0.,0.,0.));
#46 = DIRECTION('',(-0.,-0.,-1.));
#47 = DIRECTION('',(1.,0.,0.));
#48 = DEFINITIONAL_REPRESENTATION('',(#49),#53);
#49 = LINE('',#50,#51);
#50 = CARTESIAN_POINT('',(-0.,0.));
#51 = VECTOR('',#52,1.);
#52 = DIRECTION('',(-1.,0.));
#53 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#54 = FACE_BOUND('',#55,.F.);
#55 = EDGE_LOOP('',(#56));
#56 = ORIENTED_EDGE('',*,*,#57,.F.);
#57 = EDGE_CURVE('',#58,#58,#60,.T.);
#58 = VERTEX_POINT('',#59);
#59 = CARTESIAN_POINT('',(18.5,-38.9711431703,0.));
#60 = SURFACE_CURVE('',#61,(#66,#77),.PCURVE_S1.);
#61 = CIRCLE('',#62,4.);
#62 = AXIS2_PLACEMENT_3D('',#63,#64,#65);
#63 = CARTESIAN_POINT('',(22.5,-38.9711431703,0.));
#64 = DIRECTION('',(0.,0.,-1.));
#65 = DIRECTION('',(-1.,0.,0.));
#66 = PCURVE('',#31,#67);
#67 = DEFINITIONAL_REPRESENTATION('',(#68),#76);
#68 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#69,#70,#71,#72,#73,#74,#75),
.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(
'') );
#69 = CARTESIAN_POINT('',(18.5,-38.9711431703));
#70 = CARTESIAN_POINT('',(18.5,-32.04293994002));
#71 = CARTESIAN_POINT('',(24.5,-35.50704155516));
#72 = CARTESIAN_POINT('',(30.5,-38.9711431703));
#73 = CARTESIAN_POINT('',(24.5,-42.43524478543));
#74 = CARTESIAN_POINT('',(18.5,-45.89934640057));
#75 = CARTESIAN_POINT('',(18.5,-38.9711431703));
#76 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#77 = PCURVE('',#78,#83);
#78 = CYLINDRICAL_SURFACE('',#79,4.);
#79 = AXIS2_PLACEMENT_3D('',#80,#81,#82);
#80 = CARTESIAN_POINT('',(22.5,-38.9711431703,0.));
#81 = DIRECTION('',(-0.,0.,-1.));
#82 = DIRECTION('',(-1.,0.,0.));
#83 = DEFINITIONAL_REPRESENTATION('',(#84),#88);
#84 = LINE('',#85,#86);
#85 = CARTESIAN_POINT('',(0.,0.));
#86 = VECTOR('',#87,1.);
#87 = DIRECTION('',(1.,0.));
#88 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#89 = FACE_BOUND('',#90,.F.);
#90 = EDGE_LOOP('',(#91));
#91 = ORIENTED_EDGE('',*,*,#92,.F.);
#92 = EDGE_CURVE('',#93,#93,#95,.T.);
#93 = VERTEX_POINT('',#94);
#94 = CARTESIAN_POINT('',(-26.5,-38.9711431703,0.));
#95 = SURFACE_CURVE('',#96,(#101,#112),.PCURVE_S1.);
#96 = CIRCLE('',#97,4.);
#97 = AXIS2_PLACEMENT_3D('',#98,#99,#100);
#98 = CARTESIAN_POINT('',(-22.5,-38.9711431703,0.));
#99 = DIRECTION('',(0.,0.,-1.));
#100 = DIRECTION('',(-1.,0.,0.));
#101 = PCURVE('',#31,#102);
#102 = DEFINITIONAL_REPRESENTATION('',(#103),#111);
#103 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#104,#105,#106,#107,#108,#109
,#110),.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(
'') );
#104 = CARTESIAN_POINT('',(-26.5,-38.9711431703));
#105 = CARTESIAN_POINT('',(-26.5,-32.04293994002));
#106 = CARTESIAN_POINT('',(-20.5,-35.50704155516));
#107 = CARTESIAN_POINT('',(-14.5,-38.9711431703));
#108 = CARTESIAN_POINT('',(-20.5,-42.43524478543));
#109 = CARTESIAN_POINT('',(-26.5,-45.89934640057));
#110 = CARTESIAN_POINT('',(-26.5,-38.9711431703));
#111 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#112 = PCURVE('',#113,#118);
#113 = CYLINDRICAL_SURFACE('',#114,4.);
#114 = AXIS2_PLACEMENT_3D('',#115,#116,#117);
#115 = CARTESIAN_POINT('',(-22.5,-38.9711431703,0.));
#116 = DIRECTION('',(-0.,0.,-1.));
#117 = DIRECTION('',(-1.,0.,0.));
#118 = DEFINITIONAL_REPRESENTATION('',(#119),#123);
#119 = LINE('',#120,#121);
#120 = CARTESIAN_POINT('',(0.,0.));
#121 = VECTOR('',#122,1.);
#122 = DIRECTION('',(1.,0.));
#123 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#124 = FACE_BOUND('',#125,.F.);
#125 = EDGE_LOOP('',(#126));
#126 = ORIENTED_EDGE('',*,*,#127,.F.);
#127 = EDGE_CURVE('',#128,#128,#130,.T.);
#128 = VERTEX_POINT('',#129);
#129 = CARTESIAN_POINT('',(41.,-9.797174393179E-16,0.));
#130 = SURFACE_CURVE('',#131,(#136,#147),.PCURVE_S1.);
#131 = CIRCLE('',#132,4.);
#132 = AXIS2_PLACEMENT_3D('',#133,#134,#135);
#133 = CARTESIAN_POINT('',(45.,0.,0.));
#134 = DIRECTION('',(0.,0.,-1.));
#135 = DIRECTION('',(-1.,0.,0.));
#136 = PCURVE('',#31,#137);
#137 = DEFINITIONAL_REPRESENTATION('',(#138),#146);
#138 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#139,#140,#141,#142,#143,#144
,#145),.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(
'') );
#139 = CARTESIAN_POINT('',(41.,0.));
#140 = CARTESIAN_POINT('',(41.,6.928203230276));
#141 = CARTESIAN_POINT('',(47.,3.464101615138));
#142 = CARTESIAN_POINT('',(53.,9.797174393179E-16));
#143 = CARTESIAN_POINT('',(47.,-3.464101615138));
#144 = CARTESIAN_POINT('',(41.,-6.928203230276));
#145 = CARTESIAN_POINT('',(41.,0.));
#146 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#147 = PCURVE('',#148,#153);
#148 = CYLINDRICAL_SURFACE('',#149,4.);
#149 = AXIS2_PLACEMENT_3D('',#150,#151,#152);
#150 = CARTESIAN_POINT('',(45.,0.,0.));
#151 = DIRECTION('',(-0.,0.,-1.));
#152 = DIRECTION('',(-1.,0.,0.));
#153 = DEFINITIONAL_REPRESENTATION('',(#154),#158);
#154 = LINE('',#155,#156);
#155 = CARTESIAN_POINT('',(0.,0.));
#156 = VECTOR('',#157,1.);
#157 = DIRECTION('',(1.,0.));
#158 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#159 = FACE_BOUND('',#160,.F.);
#160 = EDGE_LOOP('',(#161));
#161 = ORIENTED_EDGE('',*,*,#162,.F.);
#162 = EDGE_CURVE('',#163,#163,#165,.T.);
#163 = VERTEX_POINT('',#164);
#164 = CARTESIAN_POINT('',(18.5,38.9711431703,0.));
#165 = SURFACE_CURVE('',#166,(#171,#182),.PCURVE_S1.);
#166 = CIRCLE('',#167,4.);
#167 = AXIS2_PLACEMENT_3D('',#168,#169,#170);
#168 = CARTESIAN_POINT('',(22.5,38.9711431703,0.));
#169 = DIRECTION('',(0.,0.,-1.));
#170 = DIRECTION('',(-1.,0.,0.));
#171 = PCURVE('',#31,#172);
#172 = DEFINITIONAL_REPRESENTATION('',(#173),#181);
#173 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#174,#175,#176,#177,#178,#179
,#180),.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(
'') );
#174 = CARTESIAN_POINT('',(18.5,38.9711431703));
#175 = CARTESIAN_POINT('',(18.5,45.899346400575));
#176 = CARTESIAN_POINT('',(24.5,42.435244785437));
#177 = CARTESIAN_POINT('',(30.5,38.9711431703));
#178 = CARTESIAN_POINT('',(24.5,35.507041555162));
#179 = CARTESIAN_POINT('',(18.5,32.042939940024));
#180 = CARTESIAN_POINT('',(18.5,38.9711431703));
#181 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#182 = PCURVE('',#183,#188);
#183 = CYLINDRICAL_SURFACE('',#184,4.);
#184 = AXIS2_PLACEMENT_3D('',#185,#186,#187);
#185 = CARTESIAN_POINT('',(22.5,38.9711431703,0.));
#186 = DIRECTION('',(-0.,0.,-1.));
#187 = DIRECTION('',(-1.,0.,0.));
#188 = DEFINITIONAL_REPRESENTATION('',(#189),#193);
#189 = LINE('',#190,#191);
#190 = CARTESIAN_POINT('',(0.,0.));
#191 = VECTOR('',#192,1.);
#192 = DIRECTION('',(1.,0.));
#193 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#194 = FACE_BOUND('',#195,.F.);
#195 = EDGE_LOOP('',(#196));
#196 = ORIENTED_EDGE('',*,*,#197,.F.);
#197 = EDGE_CURVE('',#198,#198,#200,.T.);
#198 = VERTEX_POINT('',#199);
#199 = CARTESIAN_POINT('',(-49.,-9.797174393179E-16,0.));
#200 = SURFACE_CURVE('',#201,(#206,#217),.PCURVE_S1.);
#201 = CIRCLE('',#202,4.);
#202 = AXIS2_PLACEMENT_3D('',#203,#204,#205);
#203 = CARTESIAN_POINT('',(-45.,0.,0.));
#204 = DIRECTION('',(0.,0.,-1.));
#205 = DIRECTION('',(-1.,0.,0.));
#206 = PCURVE('',#31,#207);
#207 = DEFINITIONAL_REPRESENTATION('',(#208),#216);
#208 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#209,#210,#211,#212,#213,#214
,#215),.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(
'') );
#209 = CARTESIAN_POINT('',(-49.,0.));
#210 = CARTESIAN_POINT('',(-49.,6.928203230276));
#211 = CARTESIAN_POINT('',(-43.,3.464101615138));
#212 = CARTESIAN_POINT('',(-37.,9.797174393179E-16));
#213 = CARTESIAN_POINT('',(-43.,-3.464101615138));
#214 = CARTESIAN_POINT('',(-49.,-6.928203230276));
#215 = CARTESIAN_POINT('',(-49.,0.));
#216 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#217 = PCURVE('',#218,#223);
#218 = CYLINDRICAL_SURFACE('',#219,4.);
#219 = AXIS2_PLACEMENT_3D('',#220,#221,#222);
#220 = CARTESIAN_POINT('',(-45.,0.,0.));
#221 = DIRECTION('',(-0.,0.,-1.));
#222 = DIRECTION('',(-1.,0.,0.));
#223 = DEFINITIONAL_REPRESENTATION('',(#224),#228);
#224 = LINE('',#225,#226);
#225 = CARTESIAN_POINT('',(0.,0.));
#226 = VECTOR('',#227,1.);
#227 = DIRECTION('',(1.,0.));
#228 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#229 = FACE_BOUND('',#230,.F.);
#230 = EDGE_LOOP('',(#231));
#231 = ORIENTED_EDGE('',*,*,#232,.F.);
#232 = EDGE_CURVE('',#233,#233,#235,.T.);
#233 = VERTEX_POINT('',#234);
#234 = CARTESIAN_POINT('',(-26.5,38.9711431703,0.));
#235 = SURFACE_CURVE('',#236,(#241,#252),.PCURVE_S1.);
#236 = CIRCLE('',#237,4.);
#237 = AXIS2_PLACEMENT_3D('',#238,#239,#240);
#238 = CARTESIAN_POINT('',(-22.5,38.9711431703,0.));
#239 = DIRECTION('',(0.,0.,-1.));
#240 = DIRECTION('',(-1.,0.,0.));
#241 = PCURVE('',#31,#242);
#242 = DEFINITIONAL_REPRESENTATION('',(#243),#251);
#243 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#244,#245,#246,#247,#248,#249
,#250),.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(
'') );
#244 = CARTESIAN_POINT('',(-26.5,38.9711431703));
#245 = CARTESIAN_POINT('',(-26.5,45.899346400575));
#246 = CARTESIAN_POINT('',(-20.5,42.435244785437));
#247 = CARTESIAN_POINT('',(-14.5,38.9711431703));
#248 = CARTESIAN_POINT('',(-20.5,35.507041555162));
#249 = CARTESIAN_POINT('',(-26.5,32.042939940024));
#250 = CARTESIAN_POINT('',(-26.5,38.9711431703));
#251 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#252 = PCURVE('',#253,#258);
#253 = CYLINDRICAL_SURFACE('',#254,4.);
#254 = AXIS2_PLACEMENT_3D('',#255,#256,#257);
#255 = CARTESIAN_POINT('',(-22.5,38.9711431703,0.));
#256 = DIRECTION('',(-0.,0.,-1.));
#257 = DIRECTION('',(-1.,0.,0.));
#258 = DEFINITIONAL_REPRESENTATION('',(#259),#263);
#259 = LINE('',#260,#261);
#260 = CARTESIAN_POINT('',(0.,0.));
#261 = VECTOR('',#262,1.);
#262 = DIRECTION('',(1.,0.));
#263 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#264 = ADVANCED_FACE('',(#265),#43,.T.);
#265 = FACE_BOUND('',#266,.F.);
#266 = EDGE_LOOP('',(#267,#268,#291,#318));
#267 = ORIENTED_EDGE('',*,*,#21,.T.);
#268 = ORIENTED_EDGE('',*,*,#269,.T.);
#269 = EDGE_CURVE('',#22,#270,#272,.T.);
#270 = VERTEX_POINT('',#271);
#271 = CARTESIAN_POINT('',(60.,0.,-12.));
#272 = SEAM_CURVE('',#273,(#277,#284),.PCURVE_S1.);
#273 = LINE('',#274,#275);
#274 = CARTESIAN_POINT('',(60.,0.,0.));
#275 = VECTOR('',#276,1.);
#276 = DIRECTION('',(0.,0.,-1.));
#277 = PCURVE('',#43,#278);
#278 = DEFINITIONAL_REPRESENTATION('',(#279),#283);
#279 = LINE('',#280,#281);
#280 = CARTESIAN_POINT('',(-0.,0.));
#281 = VECTOR('',#282,1.);
#282 = DIRECTION('',(-0.,1.));
#283 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#284 = PCURVE('',#43,#285);
#285 = DEFINITIONAL_REPRESENTATION('',(#286),#290);
#286 = LINE('',#287,#288);
#287 = CARTESIAN_POINT('',(-6.28318530718,0.));
#288 = VECTOR('',#289,1.);
#289 = DIRECTION('',(-0.,1.));
#290 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#291 = ORIENTED_EDGE('',*,*,#292,.F.);
#292 = EDGE_CURVE('',#270,#270,#293,.T.);
#293 = SURFACE_CURVE('',#294,(#299,#306),.PCURVE_S1.);
#294 = CIRCLE('',#295,60.);
#295 = AXIS2_PLACEMENT_3D('',#296,#297,#298);
#296 = CARTESIAN_POINT('',(0.,0.,-12.));
#297 = DIRECTION('',(0.,0.,1.));
#298 = DIRECTION('',(1.,0.,-0.));
#299 = PCURVE('',#43,#300);
#300 = DEFINITIONAL_REPRESENTATION('',(#301),#305);
#301 = LINE('',#302,#303);
#302 = CARTESIAN_POINT('',(-0.,12.));
#303 = VECTOR('',#304,1.);
#304 = DIRECTION('',(-1.,0.));
#305 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#306 = PCURVE('',#307,#312);
#307 = PLANE('',#308);
#308 = AXIS2_PLACEMENT_3D('',#309,#310,#311);
#309 = CARTESIAN_POINT('',(0.,0.,-12.));
#310 = DIRECTION('',(0.,0.,1.));
#311 = DIRECTION('',(1.,0.,-0.));
#312 = DEFINITIONAL_REPRESENTATION('',(#313),#317);
#313 = CIRCLE('',#314,60.);
#314 = AXIS2_PLACEMENT_2D('',#315,#316);
#315 = CARTESIAN_POINT('',(0.,0.));
#316 = DIRECTION('',(1.,0.));
#317 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#318 = ORIENTED_EDGE('',*,*,#269,.F.);
#319 = ADVANCED_FACE('',(#320),#78,.F.);
#320 = FACE_BOUND('',#321,.F.);
#321 = EDGE_LOOP('',(#322,#350,#371,#372));
#322 = ORIENTED_EDGE('',*,*,#323,.F.);
#323 = EDGE_CURVE('',#324,#324,#326,.T.);
#324 = VERTEX_POINT('',#325);
#325 = CARTESIAN_POINT('',(18.5,-38.9711431703,-12.));
#326 = SURFACE_CURVE('',#327,(#332,#339),.PCURVE_S1.);
#327 = CIRCLE('',#328,4.);
#328 = AXIS2_PLACEMENT_3D('',#329,#330,#331);
#329 = CARTESIAN_POINT('',(22.5,-38.9711431703,-12.));
#330 = DIRECTION('',(0.,0.,-1.));
#331 = DIRECTION('',(-1.,0.,0.));
#332 = PCURVE('',#78,#333);
#333 = DEFINITIONAL_REPRESENTATION('',(#334),#338);
#334 = LINE('',#335,#336);
#335 = CARTESIAN_POINT('',(0.,12.));
#336 = VECTOR('',#337,1.);
#337 = DIRECTION('',(1.,0.));
#338 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#339 = PCURVE('',#307,#340);
#340 = DEFINITIONAL_REPRESENTATION('',(#341),#349);
#341 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#342,#343,#344,#345,#346,#347
,#348),.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(
'') );
#342 = CARTESIAN_POINT('',(18.5,-38.9711431703));
#343 = CARTESIAN_POINT('',(18.5,-32.04293994002));
#344 = CARTESIAN_POINT('',(24.5,-35.50704155516));
#345 = CARTESIAN_POINT('',(30.5,-38.9711431703));
#346 = CARTESIAN_POINT('',(24.5,-42.43524478543));
#347 = CARTESIAN_POINT('',(18.5,-45.89934640057));
#348 = CARTESIAN_POINT('',(18.5,-38.9711431703));
#349 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#350 = ORIENTED_EDGE('',*,*,#351,.F.);
#351 = EDGE_CURVE('',#58,#324,#352,.T.);
#352 = SEAM_CURVE('',#353,(#357,#364),.PCURVE_S1.);
#353 = LINE('',#354,#355);
#354 = CARTESIAN_POINT('',(18.5,-38.9711431703,0.));
#355 = VECTOR('',#356,1.);
#356 = DIRECTION('',(-0.,0.,-1.));
#357 = PCURVE('',#78,#358);
#358 = DEFINITIONAL_REPRESENTATION('',(#359),#363);
#359 = LINE('',#360,#361);
#360 = CARTESIAN_POINT('',(6.28318530718,-0.));
#361 = VECTOR('',#362,1.);
#362 = DIRECTION('',(0.,1.));
#363 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#364 = PCURVE('',#78,#365);
#365 = DEFINITIONAL_REPRESENTATION('',(#366),#370);
#366 = LINE('',#367,#368);
#367 = CARTESIAN_POINT('',(0.,-0.));
#368 = VECTOR('',#369,1.);
#369 = DIRECTION('',(0.,1.));
#370 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#371 = ORIENTED_EDGE('',*,*,#57,.T.);
#372 = ORIENTED_EDGE('',*,*,#351,.T.);
#373 = ADVANCED_FACE('',(#374),#113,.F.);
#374 = FACE_BOUND('',#375,.F.);
#375 = EDGE_LOOP('',(#376,#404,#425,#426));
#376 = ORIENTED_EDGE('',*,*,#377,.F.);
#377 = EDGE_CURVE('',#378,#378,#380,.T.);
#378 = VERTEX_POINT('',#379);
#379 = CARTESIAN_POINT('',(-26.5,-38.9711431703,-12.));
#380 = SURFACE_CURVE('',#381,(#386,#393),.PCURVE_S1.);
#381 = CIRCLE('',#382,4.);
#382 = AXIS2_PLACEMENT_3D('',#383,#384,#385);
#383 = CARTESIAN_POINT('',(-22.5,-38.9711431703,-12.));
#384 = DIRECTION('',(0.,0.,-1.));
#385 = DIRECTION('',(-1.,0.,0.));
#386 = PCURVE('',#113,#387);
#387 = DEFINITIONAL_REPRESENTATION('',(#388),#392);
#388 = LINE('',#389,#390);
#389 = CARTESIAN_POINT('',(0.,12.));
#390 = VECTOR('',#391,1.);
#391 = DIRECTION('',(1.,0.));
#392 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#393 = PCURVE('',#307,#394);
#394 = DEFINITIONAL_REPRESENTATION('',(#395),#403);
#395 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#396,#397,#398,#399,#400,#401
,#402),.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(
'') );
#396 = CARTESIAN_POINT('',(-26.5,-38.9711431703));
#397 = CARTESIAN_POINT('',(-26.5,-32.04293994002));
#398 = CARTESIAN_POINT('',(-20.5,-35.50704155516));
#399 = CARTESIAN_POINT('',(-14.5,-38.9711431703));
#400 = CARTESIAN_POINT('',(-20.5,-42.43524478543));
#401 = CARTESIAN_POINT('',(-26.5,-45.89934640057));
#402 = CARTESIAN_POINT('',(-26.5,-38.9711431703));
#403 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#404 = ORIENTED_EDGE('',*,*,#405,.F.);
#405 = EDGE_CURVE('',#93,#378,#406,.T.);
#406 = SEAM_CURVE('',#407,(#411,#418),.PCURVE_S1.);
#407 = LINE('',#408,#409);
#408 = CARTESIAN_POINT('',(-26.5,-38.9711431703,0.));
#409 = VECTOR('',#410,1.);
#410 = DIRECTION('',(-0.,0.,-1.));
#411 = PCURVE('',#113,#412);
#412 = DEFINITIONAL_REPRESENTATION('',(#413),#417);
#413 = LINE('',#414,#415);
#414 = CARTESIAN_POINT('',(6.28318530718,-0.));
#415 = VECTOR('',#416,1.);
#416 = DIRECTION('',(0.,1.));
#417 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#418 = PCURVE('',#113,#419);
#419 = DEFINITIONAL_REPRESENTATION('',(#420),#424);
#420 = LINE('',#421,#422);
#421 = CARTESIAN_POINT('',(0.,-0.));
#422 = VECTOR('',#423,1.);
#423 = DIRECTION('',(0.,1.));
#424 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#425 = ORIENTED_EDGE('',*,*,#92,.T.);
#426 = ORIENTED_EDGE('',*,*,#405,.T.);
#427 = ADVANCED_FACE('',(#428),#148,.F.);
#428 = FACE_BOUND('',#429,.F.);
#429 = EDGE_LOOP('',(#430,#458,#479,#480));
#430 = ORIENTED_EDGE('',*,*,#431,.F.);
#431 = EDGE_CURVE('',#432,#432,#434,.T.);
#432 = VERTEX_POINT('',#433);
#433 = CARTESIAN_POINT('',(41.,-9.797174393179E-16,-12.));
#434 = SURFACE_CURVE('',#435,(#440,#447),.PCURVE_S1.);
#435 = CIRCLE('',#436,4.);
#436 = AXIS2_PLACEMENT_3D('',#437,#438,#439);
#437 = CARTESIAN_POINT('',(45.,0.,-12.));
#438 = DIRECTION('',(0.,0.,-1.));
#439 = DIRECTION('',(-1.,0.,0.));
#440 = PCURVE('',#148,#441);
#441 = DEFINITIONAL_REPRESENTATION('',(#442),#446);
#442 = LINE('',#443,#444);
#443 = CARTESIAN_POINT('',(0.,12.));
#444 = VECTOR('',#445,1.);
#445 = DIRECTION('',(1.,0.));
#446 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#447 = PCURVE('',#307,#448);
#448 = DEFINITIONAL_REPRESENTATION('',(#449),#457);
#449 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#450,#451,#452,#453,#454,#455
,#456),.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(
'') );
#450 = CARTESIAN_POINT('',(41.,0.));
#451 = CARTESIAN_POINT('',(41.,6.928203230276));
#452 = CARTESIAN_POINT('',(47.,3.464101615138));
#453 = CARTESIAN_POINT('',(53.,9.797174393179E-16));
#454 = CARTESIAN_POINT('',(47.,-3.464101615138));
#455 = CARTESIAN_POINT('',(41.,-6.928203230276));
#456 = CARTESIAN_POINT('',(41.,0.));
#457 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#458 = ORIENTED_EDGE('',*,*,#459,.F.);
#459 = EDGE_CURVE('',#128,#432,#460,.T.);
#460 = SEAM_CURVE('',#461,(#465,#472),.PCURVE_S1.);
#461 = LINE('',#462,#463);
#462 = CARTESIAN_POINT('',(41.,-9.797174393179E-16,0.));
#463 = VECTOR('',#464,1.);
#464 = DIRECTION('',(-0.,0.,-1.));
#465 = PCURVE('',#148,#466);
#466 = DEFINITIONAL_REPRESENTATION('',(#467),#471);
#467 = LINE('',#468,#469);
#468 = CARTESIAN_POINT('',(6.28318530718,-0.));
#469 = VECTOR('',#470,1.);
#470 = DIRECTION('',(0.,1.));
#471 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#472 = PCURVE('',#148,#473);
#473 = DEFINITIONAL_REPRESENTATION('',(#474),#478);
#474 = LINE('',#475,#476);
#475 = CARTESIAN_POINT('',(0.,-0.));
#476 = VECTOR('',#477,1.);
#477 = DIRECTION('',(0.,1.));
#478 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#479 = ORIENTED_EDGE('',*,*,#127,.T.);
#480 = ORIENTED_EDGE('',*,*,#459,.T.);
#481 = ADVANCED_FACE('',(#482),#183,.F.);
#482 = FACE_BOUND('',#483,.F.);
#483 = EDGE_LOOP('',(#484,#512,#533,#534));
#484 = ORIENTED_EDGE('',*,*,#485,.F.);
#485 = EDGE_CURVE('',#486,#486,#488,.T.);
#486 = VERTEX_POINT('',#487);
#487 = CARTESIAN_POINT('',(18.5,38.9711431703,-12.));
#488 = SURFACE_CURVE('',#489,(#494,#501),.PCURVE_S1.);
#489 = CIRCLE('',#490,4.);
#490 = AXIS2_PLACEMENT_3D('',#491,#492,#493);
#491 = CARTESIAN_POINT('',(22.5,38.9711431703,-12.));
#492 = DIRECTION('',(0.,0.,-1.));
#493 = DIRECTION('',(-1.,0.,0.));
#494 = PCURVE('',#183,#495);
#495 = DEFINITIONAL_REPRESENTATION('',(#496),#500);
#496 = LINE('',#497,#498);
#497 = CARTESIAN_POINT('',(0.,12.));
#498 = VECTOR('',#499,1.);
#499 = DIRECTION('',(1.,0.));
#500 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#501 = PCURVE('',#307,#502);
#502 = DEFINITIONAL_REPRESENTATION('',(#503),#511);
#503 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#504,#505,#506,#507,#508,#509
,#510),.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(
'') );
#504 = CARTESIAN_POINT('',(18.5,38.9711431703));
#505 = CARTESIAN_POINT('',(18.5,45.899346400575));
#506 = CARTESIAN_POINT('',(24.5,42.435244785437));
#507 = CARTESIAN_POINT('',(30.5,38.9711431703));
#508 = CARTESIAN_POINT('',(24.5,35.507041555162));
#509 = CARTESIAN_POINT('',(18.5,32.042939940024));
#510 = CARTESIAN_POINT('',(18.5,38.9711431703));
#511 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#512 = ORIENTED_EDGE('',*,*,#513,.F.);
#513 = EDGE_CURVE('',#163,#486,#514,.T.);
#514 = SEAM_CURVE('',#515,(#519,#526),.PCURVE_S1.);
#515 = LINE('',#516,#517);
#516 = CARTESIAN_POINT('',(18.5,38.9711431703,0.));
#517 = VECTOR('',#518,1.);
#518 = DIRECTION('',(-0.,0.,-1.));
#519 = PCURVE('',#183,#520);
#520 = DEFINITIONAL_REPRESENTATION('',(#521),#525);
#521 = LINE('',#522,#523);
#522 = CARTESIAN_POINT('',(6.28318530718,-0.));
#523 = VECTOR('',#524,1.);
#524 = DIRECTION('',(0.,1.));
#525 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#526 = PCURVE('',#183,#527);
#527 = DEFINITIONAL_REPRESENTATION('',(#528),#532);
#528 = LINE('',#529,#530);
#529 = CARTESIAN_POINT('',(0.,-0.));
#530 = VECTOR('',#531,1.);
#531 = DIRECTION('',(0.,1.));
#532 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#533 = ORIENTED_EDGE('',*,*,#162,.T.);
#534 = ORIENTED_EDGE('',*,*,#513,.T.);
#535 = ADVANCED_FACE('',(#536),#218,.F.);
#536 = FACE_BOUND('',#537,.F.);
#537 = EDGE_LOOP('',(#538,#566,#587,#588));
#538 = ORIENTED_EDGE('',*,*,#539,.F.);
#539 = EDGE_CURVE('',#540,#540,#542,.T.);
#540 = VERTEX_POINT('',#541);
#541 = CARTESIAN_POINT('',(-49.,-9.797174393179E-16,-12.));
#542 = SURFACE_CURVE('',#543,(#548,#555),.PCURVE_S1.);
#543 = CIRCLE('',#544,4.);
#544 = AXIS2_PLACEMENT_3D('',#545,#546,#547);
#545 = CARTESIAN_POINT('',(-45.,0.,-12.));
#546 = DIRECTION('',(0.,0.,-1.));
#547 = DIRECTION('',(-1.,0.,0.));
#548 = PCURVE('',#218,#549);
#549 = DEFINITIONAL_REPRESENTATION('',(#550),#554);
#550 = LINE('',#551,#552);
#551 = CARTESIAN_POINT('',(0.,12.));
#552 = VECTOR('',#553,1.);
#553 = DIRECTION('',(1.,0.));
#554 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#555 = PCURVE('',#307,#556);
#556 = DEFINITIONAL_REPRESENTATION('',(#557),#565);
#557 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#558,#559,#560,#561,#562,#563
,#564),.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(
'') );
#558 = CARTESIAN_POINT('',(-49.,0.));
#559 = CARTESIAN_POINT('',(-49.,6.928203230276));
#560 = CARTESIAN_POINT('',(-43.,3.464101615138));
#561 = CARTESIAN_POINT('',(-37.,9.797174393179E-16));
#562 = CARTESIAN_POINT('',(-43.,-3.464101615138));
#563 = CARTESIAN_POINT('',(-49.,-6.928203230276));
#564 = CARTESIAN_POINT('',(-49.,0.));
#565 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#566 = ORIENTED_EDGE('',*,*,#567,.F.);
#567 = EDGE_CURVE('',#198,#540,#568,.T.);
#568 = SEAM_CURVE('',#569,(#573,#580),.PCURVE_S1.);
#569 = LINE('',#570,#571);
#570 = CARTESIAN_POINT('',(-49.,-9.797174393179E-16,0.));
#571 = VECTOR('',#572,1.);
#572 = DIRECTION('',(-0.,0.,-1.));
#573 = PCURVE('',#218,#574);
#574 = DEFINITIONAL_REPRESENTATION('',(#575),#579);
#575 = LINE('',#576,#577);
#576 = CARTESIAN_POINT('',(6.28318530718,-0.));
#577 = VECTOR('',#578,1.);
#578 = DIRECTION('',(0.,1.));
#579 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#580 = PCURVE('',#218,#581);
#581 = DEFINITIONAL_REPRESENTATION('',(#582),#586);
#582 = LINE('',#583,#584);
#583 = CARTESIAN_POINT('',(0.,-0.));
#584 = VECTOR('',#585,1.);
#585 = DIRECTION('',(0.,1.));
#586 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#587 = ORIENTED_EDGE('',*,*,#197,.T.);
#588 = ORIENTED_EDGE('',*,*,#567,.T.);
#589 = ADVANCED_FACE('',(#590),#253,.F.);
#590 = FACE_BOUND('',#591,.F.);
#591 = EDGE_LOOP('',(#592,#620,#641,#642));
#592 = ORIENTED_EDGE('',*,*,#593,.F.);
#593 = EDGE_CURVE('',#594,#594,#596,.T.);
#594 = VERTEX_POINT('',#595);
#595 = CARTESIAN_POINT('',(-26.5,38.9711431703,-12.));
#596 = SURFACE_CURVE('',#597,(#602,#609),.PCURVE_S1.);
#597 = CIRCLE('',#598,4.);
#598 = AXIS2_PLACEMENT_3D('',#599,#600,#601);
#599 = CARTESIAN_POINT('',(-22.5,38.9711431703,-12.));
#600 = DIRECTION('',(0.,0.,-1.));
#601 = DIRECTION('',(-1.,0.,0.));
#602 = PCURVE('',#253,#603);
#603 = DEFINITIONAL_REPRESENTATION('',(#604),#608);
#604 = LINE('',#605,#606);
#605 = CARTESIAN_POINT('',(0.,12.));
#606 = VECTOR('',#607,1.);
#607 = DIRECTION('',(1.,0.));
#608 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#609 = PCURVE('',#307,#610);
#610 = DEFINITIONAL_REPRESENTATION('',(#611),#619);
#611 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#612,#613,#614,#615,#616,#617
,#618),.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(
'') );
#612 = CARTESIAN_POINT('',(-26.5,38.9711431703));
#613 = CARTESIAN_POINT('',(-26.5,45.899346400575));
#614 = CARTESIAN_POINT('',(-20.5,42.435244785437));
#615 = CARTESIAN_POINT('',(-14.5,38.9711431703));
#616 = CARTESIAN_POINT('',(-20.5,35.507041555162));
#617 = CARTESIAN_POINT('',(-26.5,32.042939940024));
#618 = CARTESIAN_POINT('',(-26.5,38.9711431703));
#619 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#620 = ORIENTED_EDGE('',*,*,#621,.F.);
#621 = EDGE_CURVE('',#233,#594,#622,.T.);
#622 = SEAM_CURVE('',#623,(#627,#634),.PCURVE_S1.);
#623 = LINE('',#624,#625);
#624 = CARTESIAN_POINT('',(-26.5,38.9711431703,0.));
#625 = VECTOR('',#626,1.);
#626 = DIRECTION('',(-0.,0.,-1.));
#627 = PCURVE('',#253,#628);
#628 = DEFINITIONAL_REPRESENTATION('',(#629),#633);
#629 = LINE('',#630,#631);
#630 = CARTESIAN_POINT('',(6.28318530718,-0.));
#631 = VECTOR('',#632,1.);
#632 = DIRECTION('',(0.,1.));
#633 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#634 = PCURVE('',#253,#635);
#635 = DEFINITIONAL_REPRESENTATION('',(#636),#640);
#636 = LINE('',#637,#638);
#637 = CARTESIAN_POINT('',(0.,-0.));
#638 = VECTOR('',#639,1.);
#639 = DIRECTION('',(0.,1.));
#640 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#641 = ORIENTED_EDGE('',*,*,#232,.T.);
#642 = ORIENTED_EDGE('',*,*,#621,.T.);
#643 = ADVANCED_FACE('',(#644,#647,#650,#653,#656,#659,#662),#307,.F.);
#644 = FACE_BOUND('',#645,.F.);
#645 = EDGE_LOOP('',(#646));
#646 = ORIENTED_EDGE('',*,*,#292,.T.);
#647 = FACE_BOUND('',#648,.F.);
#648 = EDGE_LOOP('',(#649));
#649 = ORIENTED_EDGE('',*,*,#377,.T.);
#650 = FACE_BOUND('',#651,.F.);
#651 = EDGE_LOOP('',(#652));
#652 = ORIENTED_EDGE('',*,*,#323,.T.);
#653 = FACE_BOUND('',#654,.F.);
#654 = EDGE_LOOP('',(#655));
#655 = ORIENTED_EDGE('',*,*,#539,.T.);
#656 = FACE_BOUND('',#657,.F.);
#657 = EDGE_LOOP('',(#658));
#658 = ORIENTED_EDGE('',*,*,#593,.T.);
#659 = FACE_BOUND('',#660,.F.);
#660 = EDGE_LOOP('',(#661));
#661 = ORIENTED_EDGE('',*,*,#431,.T.);
#662 = FACE_BOUND('',#663,.F.);
#663 = EDGE_LOOP('',(#664));
#664 = ORIENTED_EDGE('',*,*,#485,.T.);
#665 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#669)) GLOBAL_UNIT_ASSIGNED_CONTEXT
((#666,#667,#668)) REPRESENTATION_CONTEXT('Context #1',
'3D Context with UNIT and UNCERTAINTY') );
#666 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#667 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#668 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#669 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#666,
'distance_accuracy_value','confusion accuracy');
#670 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
ENDSEC;
END-ISO-10303-21;
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 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: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 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/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/model.step",
"bounds_mm": [
-60.0,
60.0,
-60.0,
60.0,
-12.0,
0.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/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/contact-sheet.jpg",
"views": [
{
"id": "top",
"camera": {
"projection": "orthographic",
"position": [
0.0,
0.0,
99994.0
],
"focal_point": [
0.0,
0.0,
-6.0
],
"view_up": [
0.0,
1.0,
0.0
],
"view": "top",
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/top.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/top-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/top/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/top/edge.png",
"coverage": 0.007313966751098633,
"pixel_bbox": [
285,
285,
1763,
1763
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 7,
"hidden_edge_count": 7,
"valid": true
}
},
{
"id": "bottom",
"camera": {
"projection": "orthographic",
"position": [
0.0,
0.0,
-100006.0
],
"focal_point": [
0.0,
0.0,
-6.0
],
"view_up": [
0.0,
1.0,
0.0
],
"view": "bottom",
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/bottom.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/bottom-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/bottom/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/bottom/edge.png",
"coverage": 0.007313966751098633,
"pixel_bbox": [
285,
285,
1763,
1763
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 7,
"hidden_edge_count": 7,
"valid": true
}
},
{
"id": "front",
"camera": {
"projection": "orthographic",
"position": [
0.0,
-100000.0,
-6.0
],
"focal_point": [
0.0,
0.0,
-6.0
],
"view_up": [
0.0,
0.0,
1.0
],
"view": "front",
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/front.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/front-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/front/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/front/edge.png",
"coverage": 0.0049419403076171875,
"pixel_bbox": [
285,
948,
1763,
1100
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 4,
"hidden_edge_count": 38,
"valid": true
}
},
{
"id": "back",
"camera": {
"projection": "orthographic",
"position": [
0.0,
100000.0,
-6.0
],
"focal_point": [
0.0,
0.0,
-6.0
],
"view_up": [
0.0,
0.0,
1.0
],
"view": "back",
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/back.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/back-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/back/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/back/edge.png",
"coverage": 0.0049419403076171875,
"pixel_bbox": [
285,
948,
1763,
1100
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 4,
"hidden_edge_count": 38,
"valid": true
}
},
{
"id": "left",
"camera": {
"projection": "orthographic",
"position": [
-100000.0,
0.0,
-6.0
],
"focal_point": [
0.0,
0.0,
-6.0
],
"view_up": [
0.0,
0.0,
1.0
],
"view": "left",
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/left.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/left-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/left/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/left/edge.png",
"coverage": 0.0046710968017578125,
"pixel_bbox": [
285,
948,
1763,
1100
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 4,
"hidden_edge_count": 52,
"valid": true
}
},
{
"id": "right",
"camera": {
"projection": "orthographic",
"position": [
100000.0,
0.0,
-6.0
],
"focal_point": [
0.0,
0.0,
-6.0
],
"view_up": [
0.0,
0.0,
1.0
],
"view": "right",
"frame_mm": [
-83.33333333333334,
83.33333333333334,
-83.33333333333334,
83.33333333333334
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/right.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/right-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/right/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/right/edge.png",
"coverage": 0.0046710968017578125,
"pixel_bbox": [
285,
948,
1763,
1100
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 6,
"hidden_edge_count": 50,
"valid": true
}
},
{
"id": "isometric",
"camera": {
"projection": "orthographic",
"position": [
61545.74548966637,
-61545.74548966637,
49230.596391733096
],
"focal_point": [
0.0,
0.0,
-6.0
],
"view_up": [
0.0,
0.0,
1.0
],
"view": "isometric",
"frame_mm": [
-83.33333333333641,
83.33333333333027,
-83.33327613983434,
83.33339052683235
]
},
"target": null,
"path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/isometric.png",
"high_resolution_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/isometric-2x.png",
"diagnostics": {
"line_mask_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/isometric/line-mask.png",
"edge_path": "/Users/lk/Projects/cdsl-cad/backend/live-evals/20260831T193133Z/artifacts/cad_630647071bf9/revisions/rev_002/renders/internal/isometric/edge.png",
"coverage": 0.012220144271850586,
"pixel_bbox": [
285,
595,
1763,
1453
],
"touches_border": false,
"intentional_crop": false,
"visible_edge_count": 25,
"hidden_edge_count": 31,
"valid": true
}
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB