Files
cadSet/designir-pipeline/examples/raised_hub_flange.designir.json
2026-07-28 14:41:26 +08:00

78 lines
4.0 KiB
JSON

{
"schema_version": "2.0",
"designir_kind": "executable_parametric_design",
"model_id": "raised_hub_flange",
"family": "raised_hub_flange",
"units": "mm",
"backend_hint": "build123d",
"reconstruction_status": "ready",
"missing_capabilities": [],
"coordinate_system": {
"origin": [0, 0, 0],
"x_axis": [1, 0, 0],
"y_axis": [0, 1, 0],
"z_axis": [0, 0, 1]
},
"datums": {
"part_center": {"kind": "point", "at": [0, 0, 0]},
"primary_axis": {"kind": "axis", "axis": "z"},
"mounting_plane": {"kind": "plane", "normal": "primary_axis"}
},
"parameters": {
"outer_radius": {"value": 50, "unit": "mm", "editable": true, "role": "outer_radius"},
"plate_thickness": {"value": 4, "unit": "mm", "editable": true, "role": "plate_thickness"},
"bore_diameter": {"value": 20, "unit": "mm", "editable": true, "role": "bore_diameter"},
"hub_radius": {"value": 16, "unit": "mm", "editable": true, "role": "hub_radius"},
"hub_height": {"value": 1, "unit": "mm", "editable": true, "role": "hub_height"},
"hole_count": {"value": 8, "unit": "count", "editable": true, "role": "hole_count"},
"hole_diameter": {"value": 3.4, "unit": "mm", "editable": true, "role": "clearance_hole_diameter"},
"bolt_circle_diameter": {"value": 80, "unit": "mm", "editable": true, "role": "bolt_circle_diameter"}
},
"expressions": {
"total_height": "plate_thickness + hub_height"
},
"sketches": [],
"constraints": [
{"id": "shared_axis", "kind": "concentric", "participants": ["base_flange", "raised_hub", "central_bore", "mounting_pattern"]},
{"id": "uniform_pattern", "kind": "equal_angular_spacing", "participants": ["mounting_pattern"]}
],
"features": [
{"id": "base_flange", "operation": "extrude_circle", "radius": {"parameter": "outer_radius"}, "height": {"parameter": "plate_thickness"}, "axis": "primary_axis"},
{"id": "raised_hub", "operation": "add_cylinder", "radius": {"parameter": "hub_radius"}, "height": {"parameter": "hub_height"}, "center": [0, 0, {"parameter": "plate_thickness"}], "axis": "primary_axis"},
{"id": "central_bore", "operation": "through_hole", "diameter": {"parameter": "bore_diameter"}, "axis": "primary_axis", "host": "base_flange"},
{"id": "mounting_pattern", "operation": "polar_hole_pattern", "count": {"parameter": "hole_count"}, "diameter": {"parameter": "hole_diameter"}, "pitch_diameter": {"parameter": "bolt_circle_diameter"}, "axis": "primary_axis", "host": "base_flange"}
],
"patterns": [
{"feature": "mounting_pattern", "kind": "polar", "axis": "primary_axis"}
],
"attachments": [
{"feature": "raised_hub", "host": "base_flange", "relation": "face_attached"}
],
"construction_stages": [
{"id": "primary_envelope", "feature_ids": ["base_flange", "raised_hub"]},
{"id": "passages", "feature_ids": ["central_bore", "mounting_pattern"]}
],
"edit_interface": {
"editable_parameters": ["outer_radius", "plate_thickness", "bore_diameter", "hub_radius", "hub_height", "hole_count", "hole_diameter", "bolt_circle_diameter"],
"preserved_interfaces": ["part_center", "primary_axis", "mounting_plane"]
},
"validation_contract": {
"invariants": [
{"kind": "single_closed_solid"},
{"kind": "concentric", "participants": ["base_flange", "central_bore"]},
{"kind": "equal_angular_spacing", "feature": "mounting_pattern"}
],
"perturbations": [
{"parameter": "plate_thickness", "scale": 1.1, "expected_change": "overall_height_increases", "preserve": ["outer_radius", "hole_count"]},
{"parameter": "bolt_circle_diameter", "scale": 1.15, "expected_change": "mounting_pattern_radius_increases", "preserve": ["outer_radius", "bore_diameter"]},
{"parameter": "hole_count", "scale": 1.125, "expected_change": "mounting_hole_count_changes", "preserve": ["outer_radius", "bore_diameter"]}
],
"thresholds": {
"relative_volume_error_max": 0.01,
"symmetric_difference_ratio_max": 0.02
}
},
"experience": {"promoted_method_ids": []},
"confidence": {"family": 1.0, "features": 1.0, "parameters": 1.0}
}