115 lines
16 KiB
JSON
115 lines
16 KiB
JSON
{
|
|
"schema": "simplecad.std.planetary_joint.sop.v2",
|
|
"design_id": "joint_module_t100_t40_t20_v2",
|
|
"units": "millimetre_degree",
|
|
"axis_convention": {"main_axis": "x", "radial_plane": "yz", "right_handed": true},
|
|
"assembly_layout": {
|
|
"method": "semantic_axial_orbit",
|
|
"calibration_role": "offline_dimensions_only",
|
|
"rules": [
|
|
{"selector":"instance:main_case","mode":"root"},
|
|
{"selector":"instance:motor","mode":"coaxial","axial_mm":2.0,"local_axis":"y","axis_direction":1,"clock_degrees":-171.257405889209},
|
|
{"selector":"instance:back_plate","mode":"coaxial","axial_mm":8.0,"local_axis":"z","axis_direction":-1,"clock_degrees":157.5},
|
|
{"selector":"instance:bearing_retainer","mode":"coaxial","axial_mm":65.5,"local_axis":"z","axis_direction":1,"clock_degrees":-135.0},
|
|
{"selector":"instance:carrier_bearing","mode":"coaxial","axial_mm":61.0,"local_axis":"z","axis_direction":1,"clock_degrees":145.793046},
|
|
{"selector":"instance:carrier_inner","mode":"coaxial","axial_mm":56.2,"local_axis":"z","axis_direction":-1,"clock_degrees":-155.189147},
|
|
{"selector":"instance:carrier_outer","mode":"coaxial","axial_mm":67.5,"local_axis":"z","axis_direction":-1,"clock_degrees":-155.189147},
|
|
{"selector":"instance:magnet","mode":"coaxial","axial_mm":-1.7,"local_axis":"z","axis_direction":-1,"clock_degrees":119.787534},
|
|
{"selector":"instance:magnet_holder","mode":"coaxial","axial_mm":10.7,"local_axis":"z","axis_direction":-1,"clock_degrees":61.498736},
|
|
{"selector":"instance:controller_mount","mode":"coaxial","axial_mm":0.0,"radial_mm":4.0,"radial_angle_degrees":112.5,"local_axis":"z","axis_direction":-1,"clock_degrees":67.5},
|
|
{"selector":"instance:motor_coupling","mode":"coaxial","axial_mm":45.0,"local_axis":"z","axis_direction":1,"clock_degrees":-37.004915},
|
|
{"selector":"instance:ring_gear","mode":"coaxial","axial_mm":49.7,"local_axis":"x","axis_direction":1,"clock_degrees":-22.5},
|
|
{"selector":"instance:sun_gear","mode":"coaxial","axial_mm":46.0,"local_axis":"x","axis_direction":1,"clock_degrees":52.995085},
|
|
{"selector":"definition:planet_gear","mode":"orbit","axial_mm":53.5,"orbit_phase_degrees":-174.810852906765,"local_axis":"x","axis_direction":-1,"clock_degrees":145.90418,"clock_step_degrees":180.0},
|
|
{"selector":"definition:mf128_bearing","mode":"orbit","axial_mm":49.7,"orbit_phase_degrees":-174.810852906765,"local_axis":"z","axis_direction":1,"clock_degrees":0.0,"clock_step_degrees":120.0},
|
|
{"selector":"definition:planet_pin_nut","mode":"orbit","axial_mm":49.7,"orbit_phase_degrees":-174.810852906765,"local_axis":"z","axis_direction":-1,"clock_degrees":0.0,"clock_step_degrees":120.0}
|
|
]
|
|
},
|
|
"definitions": [
|
|
{"id":"motor_3500","family":"replaceable_motor_module","generator":"simplecadapi.std.planetary_joint.make_motor_module_rassembly","source_mode":"cots_step","maturity":"cots_step_verified","cots_asset":{"path":"simplecadapi/std/assets/3500-Motor_part2.cots.step","sha256":"fc132c44ab95e395aa444942303856534708ac7e50098dd006401b0a7830697d","solid_count":46,"geometry_editability":"immutable"},"connectors":[{"id":"mount","kind":"mount"},{"id":"output_axis","kind":"revolute_axis"}]},
|
|
{"id":"back_plate","family":"windowed_annular_plate","generator":"simplecadapi.std.planetary_joint.make_back_plate_rpart","source_mode":"formula_std","maturity":"formula_verified","connectors":[{"id":"axis","kind":"frame"},{"id":"bottom","kind":"mount"},{"id":"top","kind":"mount"},{"id":"controller_mount","kind":"mount"}]},
|
|
{"id":"bearing_retainer","family":"counterbored_retainer_ring","generator":"simplecadapi.std.planetary_joint.make_bearing_retainer_rpart","source_mode":"formula_std","maturity":"formula_verified","connectors":[{"id":"axis","kind":"frame"},{"id":"bottom","kind":"mount"},{"id":"top","kind":"mount"}]},
|
|
{"id":"carrier_bearing","family":"radial_bearing","generator":"simplecadapi.std.bearing.make_bearing_rpart","source_mode":"formula_std","maturity":"formula_verified","connectors":[{"id":"axis","kind":"bearing_seat"},{"id":"bottom","kind":"mount"},{"id":"top","kind":"mount"}]},
|
|
{"id":"carrier_inner","family":"planet_carrier_plate","generator":"simplecadapi.std.planetary_joint.make_carrier_inner_rpart","source_mode":"formula_std","maturity":"formula_verified","connectors":[{"id":"axis","kind":"revolute_axis"},{"id":"bottom","kind":"mount"},{"id":"top","kind":"mount"},{"id":"outer_pair","kind":"mount"},{"id":"planet_axis_0","kind":"revolute_axis"},{"id":"planet_axis_1","kind":"revolute_axis"},{"id":"planet_axis_2","kind":"revolute_axis"}]},
|
|
{"id":"carrier_outer","family":"planet_carrier_plate","generator":"simplecadapi.std.planetary_joint.make_carrier_outer_rpart","source_mode":"formula_std","maturity":"formula_verified","connectors":[{"id":"axis","kind":"revolute_axis"},{"id":"bottom","kind":"mount"},{"id":"top","kind":"mount"},{"id":"planet_axis_0","kind":"revolute_axis"},{"id":"planet_axis_1","kind":"revolute_axis"},{"id":"planet_axis_2","kind":"revolute_axis"}]},
|
|
{"id":"magnet","family":"cylindrical_magnet","generator":"simplecadapi.std.planetary_joint.make_magnet_rpart","source_mode":"formula_std","maturity":"formula_verified","connectors":[{"id":"axis","kind":"shaft_hub"},{"id":"bottom","kind":"mount"},{"id":"top","kind":"mount"}]},
|
|
{"id":"magnet_holder","family":"slotted_shaft_hub","generator":"simplecadapi.std.planetary_joint.make_magnet_holder_rpart","source_mode":"formula_std","maturity":"formula_verified","connectors":[{"id":"axis","kind":"shaft_hub"},{"id":"bottom","kind":"mount"},{"id":"top","kind":"mount"},{"id":"magnet_seat","kind":"shaft_hub"}]},
|
|
{"id":"main_case","family":"windowed_cylindrical_cage","generator":"simplecadapi.std.planetary_joint.make_main_case_rpart","source_mode":"formula_std","maturity":"formula_verified","connectors":[{"id":"axis","kind":"frame"},{"id":"bottom","kind":"mount"},{"id":"top","kind":"mount"},{"id":"stage_axis","kind":"gear_axis"},{"id":"sun_axis","kind":"gear_axis"},{"id":"carrier_inner_mount","kind":"revolute_axis"},{"id":"carrier_outer_mount","kind":"mount"},{"id":"motor_mount","kind":"mount"},{"id":"magnet_holder_mount","kind":"mount"},{"id":"bearing_mount","kind":"bearing_seat"},{"id":"retainer_mount","kind":"mount"},{"id":"back_plate_mount","kind":"mount"}]},
|
|
{"id":"mf128_bearing","family":"flanged_radial_bearing","generator":"simplecadapi.std.planetary_joint.make_bearing_rpart","source_mode":"formula_std","maturity":"formula_verified","connectors":[{"id":"axis","kind":"bearing_seat"},{"id":"bottom","kind":"mount"},{"id":"top","kind":"mount"},{"id":"gear_seat","kind":"bearing_seat"}]},
|
|
{"id":"controller_mount","family":"four_arm_controller_mount","generator":"simplecadapi.std.planetary_joint.make_controller_mount_rpart","source_mode":"formula_std","maturity":"formula_verified","connectors":[{"id":"axis","kind":"frame"},{"id":"bottom","kind":"mount"},{"id":"top","kind":"mount"}]},
|
|
{"id":"coupling","family":"shaft_hub_coupling","generator":"simplecadapi.std.planetary_joint.make_motor_coupling_rpart","source_mode":"formula_std","maturity":"formula_verified","connectors":[{"id":"axis","kind":"shaft_hub"},{"id":"bottom","kind":"mount"},{"id":"top","kind":"mount"},{"id":"sun_seat","kind":"shaft_hub"}]},
|
|
{"id":"planet_gear","family":"involute_spur_gear","generator":"simplecadapi.std.planetary_joint.make_planet_gear_rpart","source_mode":"formula_std","maturity":"formula_verified","connectors":[{"id":"axis","kind":"gear_axis"},{"id":"bottom","kind":"mount"},{"id":"top","kind":"mount"}]},
|
|
{"id":"planet_pin_nut","family":"stepped_planet_pin","generator":"simplecadapi.std.planetary_joint.make_planet_pin_nut_rpart","source_mode":"formula_std","maturity":"formula_verified","connectors":[{"id":"axis","kind":"revolute_axis"},{"id":"bottom","kind":"mount"},{"id":"top","kind":"mount"}]},
|
|
{"id":"ring_gear","family":"involute_internal_ring_gear","generator":"simplecadapi.std.planetary_joint.make_ring_gear_rpart","source_mode":"formula_std","maturity":"formula_verified","connectors":[{"id":"axis","kind":"gear_axis"},{"id":"bottom","kind":"mount"},{"id":"top","kind":"mount"}]},
|
|
{"id":"sun_gear","family":"involute_spur_gear","generator":"simplecadapi.std.planetary_joint.make_sun_gear_rpart","source_mode":"formula_std","maturity":"formula_verified","connectors":[{"id":"axis","kind":"gear_axis"},{"id":"bottom","kind":"mount"},{"id":"top","kind":"mount"}]}
|
|
],
|
|
"instances": [
|
|
{"id":"motor","definition_id":"motor_3500"},{"id":"back_plate","definition_id":"back_plate"},{"id":"bearing_retainer","definition_id":"bearing_retainer"},{"id":"carrier_bearing","definition_id":"carrier_bearing"},{"id":"carrier_inner","definition_id":"carrier_inner"},{"id":"carrier_outer","definition_id":"carrier_outer"},{"id":"magnet","definition_id":"magnet"},{"id":"magnet_holder","definition_id":"magnet_holder"},{"id":"main_case","definition_id":"main_case"},{"id":"controller_mount","definition_id":"controller_mount"},{"id":"motor_coupling","definition_id":"coupling"},{"id":"ring_gear","definition_id":"ring_gear"},{"id":"sun_gear","definition_id":"sun_gear"},
|
|
{"id":"planet_0","definition_id":"planet_gear","pattern_index":0},{"id":"planet_1","definition_id":"planet_gear","pattern_index":1},{"id":"planet_2","definition_id":"planet_gear","pattern_index":2},
|
|
{"id":"planet_bearing_0","definition_id":"mf128_bearing","pattern_index":0},{"id":"planet_bearing_1","definition_id":"mf128_bearing","pattern_index":1},{"id":"planet_bearing_2","definition_id":"mf128_bearing","pattern_index":2},
|
|
{"id":"planet_pin_nut_0","definition_id":"planet_pin_nut","pattern_index":0},{"id":"planet_pin_nut_1","definition_id":"planet_pin_nut","pattern_index":1},{"id":"planet_pin_nut_2","definition_id":"planet_pin_nut","pattern_index":2}
|
|
],
|
|
"expected_definition_counts": [
|
|
{"definition_id":"motor_3500","count":1},{"definition_id":"back_plate","count":1},{"definition_id":"bearing_retainer","count":1},{"definition_id":"carrier_bearing","count":1},{"definition_id":"carrier_inner","count":1},{"definition_id":"carrier_outer","count":1},{"definition_id":"magnet","count":1},{"definition_id":"magnet_holder","count":1},{"definition_id":"main_case","count":1},{"definition_id":"mf128_bearing","count":3},{"definition_id":"controller_mount","count":1},{"definition_id":"coupling","count":1},{"definition_id":"planet_gear","count":3},{"definition_id":"planet_pin_nut","count":3},{"definition_id":"ring_gear","count":1},{"definition_id":"sun_gear","count":1}
|
|
],
|
|
"assembly_root_instance_id": "main_case",
|
|
"assembly_relations": [
|
|
{"id":"case_ring","type":"fixed","a":{"instance_id":"main_case","connector_id":"stage_axis"},"b":{"instance_id":"ring_gear","connector_id":"axis"}},
|
|
{"id":"case_sun","type":"revolute","motion_role":"input","a":{"instance_id":"main_case","connector_id":"sun_axis"},"b":{"instance_id":"sun_gear","connector_id":"axis"}},
|
|
{"id":"case_carrier","type":"revolute","motion_role":"output","a":{"instance_id":"main_case","connector_id":"carrier_inner_mount"},"b":{"instance_id":"carrier_inner","connector_id":"axis"}},
|
|
{"id":"carrier_pair","type":"fixed","a":{"instance_id":"carrier_inner","connector_id":"outer_pair"},"b":{"instance_id":"carrier_outer","connector_id":"bottom"}},
|
|
{"id":"case_motor","type":"fixed","a":{"instance_id":"main_case","connector_id":"motor_mount"},"b":{"instance_id":"motor","connector_id":"mount"}},
|
|
{"id":"motor_coupling","type":"coaxial","a":{"instance_id":"motor","connector_id":"output_axis"},"b":{"instance_id":"motor_coupling","connector_id":"axis"}},
|
|
{"id":"coupling_sun","type":"shaft_hub","a":{"instance_id":"motor_coupling","connector_id":"sun_seat"},"b":{"instance_id":"sun_gear","connector_id":"bottom"}},
|
|
{"id":"case_back_plate","type":"fixed","a":{"instance_id":"main_case","connector_id":"back_plate_mount"},"b":{"instance_id":"back_plate","connector_id":"top"}},
|
|
{"id":"back_controller","type":"fixed","a":{"instance_id":"back_plate","connector_id":"controller_mount"},"b":{"instance_id":"controller_mount","connector_id":"bottom"}},
|
|
{"id":"case_retainer","type":"fixed","a":{"instance_id":"main_case","connector_id":"retainer_mount"},"b":{"instance_id":"bearing_retainer","connector_id":"bottom"}},
|
|
{"id":"retainer_bearing","type":"bearing_support","a":{"instance_id":"main_case","connector_id":"bearing_mount"},"b":{"instance_id":"carrier_bearing","connector_id":"bottom"}},
|
|
{"id":"carrier_holder","type":"fixed","a":{"instance_id":"main_case","connector_id":"magnet_holder_mount"},"b":{"instance_id":"magnet_holder","connector_id":"bottom"}},
|
|
{"id":"holder_magnet","type":"coaxial","a":{"instance_id":"magnet_holder","connector_id":"magnet_seat"},"b":{"instance_id":"magnet","connector_id":"bottom"}},
|
|
{"id":"p0_carrier","type":"revolute","motion_role":"planet_spin","phase_offset_degrees":-64.53167251667816,"a":{"instance_id":"carrier_outer","connector_id":"planet_axis_0"},"b":{"instance_id":"planet_0","connector_id":"axis"}},
|
|
{"id":"p1_carrier","type":"revolute","motion_role":"planet_spin","phase_offset_degrees":-37.44500372242583,"a":{"instance_id":"carrier_outer","connector_id":"planet_axis_1"},"b":{"instance_id":"planet_1","connector_id":"axis"}},
|
|
{"id":"p2_carrier","type":"revolute","motion_role":"planet_spin","phase_offset_degrees":-73.5259251169227,"a":{"instance_id":"carrier_outer","connector_id":"planet_axis_2"},"b":{"instance_id":"planet_2","connector_id":"axis"}},
|
|
{"id":"p0_bearing","type":"bearing_support","phase_offset_degrees":36.00649279656336,"a":{"instance_id":"planet_0","connector_id":"bottom"},"b":{"instance_id":"planet_bearing_0","connector_id":"gear_seat"}},
|
|
{"id":"p1_bearing","type":"bearing_support","phase_offset_degrees":-46.20734049393244,"a":{"instance_id":"planet_1","connector_id":"bottom"},"b":{"instance_id":"planet_bearing_1","connector_id":"gear_seat"}},
|
|
{"id":"p2_bearing","type":"bearing_support","phase_offset_degrees":75.40929304722758,"a":{"instance_id":"planet_2","connector_id":"bottom"},"b":{"instance_id":"planet_bearing_2","connector_id":"gear_seat"}},
|
|
{"id":"p0_nut","type":"coaxial","phase_offset_degrees":-22.90017962687879,"a":{"instance_id":"carrier_outer","connector_id":"planet_axis_0"},"b":{"instance_id":"planet_pin_nut_0","connector_id":"axis"}},
|
|
{"id":"p1_nut","type":"coaxial","phase_offset_degrees":34.66246921060146,"a":{"instance_id":"carrier_outer","connector_id":"planet_axis_1"},"b":{"instance_id":"planet_pin_nut_1","connector_id":"axis"}},
|
|
{"id":"p2_nut","type":"coaxial","phase_offset_degrees":-169.91053711858657,"a":{"instance_id":"carrier_outer","connector_id":"planet_axis_2"},"b":{"instance_id":"planet_pin_nut_2","connector_id":"axis"}}
|
|
],
|
|
"transmission": {
|
|
"type":"simple_planetary","module_mm":0.8,"pressure_angle_deg":20.0,
|
|
"teeth":{"sun":20,"planet":40,"ring":100},"planet_count":3,
|
|
"center_radius_mm":24.0,"center_tolerance_mm":0.01,
|
|
"fixed_member":"ring_gear","input_member":"sun_gear","output_member":"carrier",
|
|
"fixed_ring_ratio":6.0,"ratio_tolerance":0.000001,
|
|
"meshes":[
|
|
{"id":"sun_p0","type":"external","a":"sun_gear","b":"planet_0","backlash_mm":0.02},{"id":"sun_p1","type":"external","a":"sun_gear","b":"planet_1","backlash_mm":0.02},{"id":"sun_p2","type":"external","a":"sun_gear","b":"planet_2","backlash_mm":0.02},
|
|
{"id":"ring_p0","type":"internal","a":"ring_gear","b":"planet_0","backlash_mm":0.02},{"id":"ring_p1","type":"internal","a":"ring_gear","b":"planet_1","backlash_mm":0.02},{"id":"ring_p2","type":"internal","a":"ring_gear","b":"planet_2","backlash_mm":0.02}
|
|
]
|
|
},
|
|
"public_connectors": [
|
|
{"id":"housing_mount","source":{"instance_id":"main_case","connector_id":"bottom"}},
|
|
{"id":"input_axis","source":{"instance_id":"motor","connector_id":"output_axis"}},
|
|
{"id":"output_axis","source":{"instance_id":"carrier_inner","connector_id":"axis"}}
|
|
],
|
|
"interference_contract": {
|
|
"policy":"no_unlisted_positive_volume",
|
|
"volume_tolerance_mm3":0.000000001,
|
|
"motion_samples_degrees":[0.0,18.0,36.0,54.0,72.0],
|
|
"designed_interference_fits":[
|
|
{
|
|
"id":"case_ring_press_fit",
|
|
"a":"main_case",
|
|
"b":"ring_gear",
|
|
"type":"source_matched_press_fit",
|
|
"target_volume_mm3":0.8802681242104882,
|
|
"volume_tolerance_mm3":0.000001,
|
|
"evidence":"teacher parts at independently verified teacher assembly pose"
|
|
}
|
|
]
|
|
},
|
|
"verification": {"default_geometry":"strict_brep","assembly":"connector_residuals_and_collision","motion":"willis_residual_and_interference_sweep","parameter_sweeps":5},
|
|
"runtime_policy": {"teacher_geometry_allowed":false,"absolute_matrix_replay_allowed":false,"source_cad_required":false,"checksum_locked_cots_step_allowed":true}
|
|
}
|