Files
cadSet/models/lcd25-reducer/semantic-assembly/variants/add-output-shaft.patch.json

139 lines
3.9 KiB
JSON

{
"patch_version": "1.0",
"target_model": "lcd25_harmonic_reducer",
"intent": "Add a coaxial keyed output shaft without authoring a placement transform.",
"operations": [
{
"op": "add_parameter",
"id": "output_shaft_diameter",
"value": {
"kind": "length",
"value": 14.0,
"unit": "mm",
"editable": true,
"bounds": [10.0, 20.0],
"status": "specified",
"description": "Output shaft journal diameter."
}
},
{
"op": "add_parameter",
"id": "output_shaft_length",
"value": {
"kind": "length",
"value": 45.0,
"unit": "mm",
"editable": true,
"bounds": [25.0, 80.0],
"status": "specified",
"description": "Usable shaft extension measured from the output mounting face."
}
},
{
"op": "add_component",
"value": {
"id": "output_shaft",
"role": "external_torque_shaft",
"archetype": "stepped_keyed_shaft",
"lifecycle": "optional",
"generation": {
"strategy": "semantic_feature_program",
"family": "stepped_output_shaft",
"parameter_bindings": {
"journal_diameter": "output_shaft_diameter",
"extension_length": "output_shaft_length",
"mating_bore": "output_bore_diameter"
}
},
"interfaces": [
{
"id": "shaft_axis",
"type": "axis",
"construction": "primary_axis"
},
{
"id": "mounting_shoulder",
"type": "plane",
"construction": "rear_axial_face"
},
{
"id": "flange_fit",
"type": "shaft_seat",
"construction": "outer_cylindrical_surface",
"parameter_refs": ["output_shaft_diameter"]
},
{
"id": "torque_drive",
"type": "torque_interface",
"construction": "generated_feature",
"qualifiers": ["key_or_spline_selected_by_load"]
},
{
"id": "external_shaft_end",
"type": "plane",
"construction": "front_axial_face"
}
],
"material_class": "alloy_steel",
"tags": ["rotating", "output", "public_interface"]
}
},
{
"op": "add_relation",
"value": {
"id": "output_shaft_centering",
"type": "coaxial",
"a": "output_flange.rotation_axis",
"b": "output_shaft.shaft_axis",
"intent": "Center the new shaft on the solved output axis.",
"mobility": "fixed"
}
},
{
"op": "add_relation",
"value": {
"id": "output_shaft_seating",
"type": "face_mate",
"a": "output_flange.external_mount_face",
"b": "output_shaft.mounting_shoulder",
"intent": "Locate the shaft shoulder from the output flange mounting face.",
"value": 0.0,
"tolerance": 0.01,
"mobility": "fixed"
}
},
{
"op": "add_relation",
"value": {
"id": "output_shaft_fit",
"type": "insert",
"a": "output_flange.output_bore",
"b": "output_shaft.flange_fit",
"intent": "Fit the shaft journal into the output flange bore.",
"tolerance": 0.01,
"mobility": "fixed"
}
},
{
"op": "add_relation",
"value": {
"id": "output_shaft_torque_lock",
"type": "torque_lock",
"a": "output_flange.output_bore",
"b": "output_shaft.torque_drive",
"intent": "Transfer output torque through a keyed or splined interface.",
"mobility": "fixed"
}
},
{
"op": "add_rigid_group_member",
"group": "output_group",
"component": "output_shaft"
},
{
"op": "add_preserved_interface",
"value": "output_shaft.external_shaft_end"
}
]
}