{ "schema": "simplecad.std.planetary_joint.sop.v2", "design_id": "PJ_NW_S1_160_Txx_001", "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_stator", "mode": "coaxial", "axial_mm": -70.0, "local_axis": "x", "axis_direction": 1, "clock_degrees": 0.0 }, { "selector": "instance:motor_rotor", "mode": "coaxial", "axial_mm": -65.0, "local_axis": "x", "axis_direction": 1, "clock_degrees": 0.0 }, { "selector": "instance:back_plate", "mode": "coaxial", "axial_mm": -80.0, "local_axis": "x", "axis_direction": 1, "clock_degrees": 0.0 }, { "selector": "instance:bearing_retainer", "mode": "coaxial", "axial_mm": 75.0, "local_axis": "x", "axis_direction": 1, "clock_degrees": 0.0 }, { "selector": "instance:output_bearing", "mode": "coaxial", "axial_mm": 65.0, "local_axis": "x", "axis_direction": 1, "clock_degrees": 0.0 }, { "selector": "instance:carrier", "mode": "coaxial", "axial_mm": 40.0, "local_axis": "x", "axis_direction": 1, "clock_degrees": 0.0 }, { "selector": "instance:output_shaft", "mode": "coaxial", "axial_mm": 80.0, "local_axis": "x", "axis_direction": 1, "clock_degrees": 0.0 }, { "selector": "instance:motor_coupling", "mode": "coaxial", "axial_mm": -30.0, "local_axis": "x", "axis_direction": 1, "clock_degrees": 0.0 }, { "selector": "instance:ring_gear", "mode": "coaxial", "axial_mm": 10.0, "local_axis": "x", "axis_direction": 1, "clock_degrees": 0.0 }, { "selector": "instance:sun_gear", "mode": "coaxial", "axial_mm": -20.0, "local_axis": "x", "axis_direction": 1, "clock_degrees": 0.0 }, { "selector": "definition:planet_gear_large", "mode": "orbit", "axial_mm": 0.0, "orbit_phase_degrees": 0.0, "local_axis": "x", "axis_direction": 1, "clock_degrees": 0.0, "clock_step_degrees": 120.0 }, { "selector": "definition:planet_gear_small", "mode": "orbit", "axial_mm": 20.0, "orbit_phase_degrees": 0.0, "local_axis": "x", "axis_direction": 1, "clock_degrees": 0.0, "clock_step_degrees": 120.0 }, { "selector": "definition:planet_bearing", "mode": "orbit", "axial_mm": 10.0, "orbit_phase_degrees": 0.0, "local_axis": "x", "axis_direction": 1, "clock_degrees": 0.0, "clock_step_degrees": 120.0 } ] }, "definitions": [ { "id": "motor_stator", "family": "disc_motor_stator", "generator": "simplecadapi.std.planetary_joint.make_motor_stator_rpart", "source_mode": "cots_step", "maturity": "cots_step_verified", "cots_asset": { "path": "simplecadapi/std/assets/disc_motor_58kg_stator.cots.step", "sha256": "38ad6ed4f4f562987899c996cd7bac4d62e4310f9b208f7bd641c74d5a6825b5", "solid_count": 1, "geometry_editability": "immutable" }, "connectors": [ { "id": "axis", "kind": "frame" }, { "id": "mount", "kind": "mount" } ] }, { "id": "motor_rotor", "family": "disc_motor_rotor", "generator": "simplecadapi.std.planetary_joint.make_motor_rotor_rpart", "source_mode": "cots_step", "maturity": "cots_step_verified", "cots_asset": { "path": "simplecadapi/std/assets/disc_motor_58kg_rotor.cots.step", "sha256": "8323c3f74464b7d097a6726d7364f7cfcba922531c80dae20288541b0a421792", "solid_count": 1, "geometry_editability": "immutable" }, "connectors": [ { "id": "axis", "kind": "revolute_axis" }, { "id": "output", "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_mount", "kind": "revolute_axis" }, { "id": "motor_mount", "kind": "mount" }, { "id": "bearing_mount", "kind": "bearing_seat" }, { "id": "retainer_mount", "kind": "mount" }, { "id": "back_plate_mount", "kind": "mount" } ] }, { "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": "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": "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" } ] }, { "id": "planet_gear_large", "family": "involute_spur_gear", "generator": "simplecadapi.std.planetary_joint.make_planet_gear_large_rpart", "source_mode": "formula_std", "maturity": "formula_verified", "connectors": [ { "id": "axis", "kind": "gear_axis" }, { "id": "bottom", "kind": "mount" }, { "id": "top", "kind": "mount" } ] }, { "id": "planet_gear_small", "family": "involute_spur_gear", "generator": "simplecadapi.std.planetary_joint.make_planet_gear_small_rpart", "source_mode": "formula_std", "maturity": "formula_verified", "connectors": [ { "id": "axis", "kind": "gear_axis" }, { "id": "bottom", "kind": "mount" }, { "id": "top", "kind": "mount" } ] }, { "id": "carrier", "family": "planet_carrier", "generator": "simplecadapi.std.planetary_joint.make_carrier_rpart", "source_mode": "formula_std", "maturity": "formula_verified", "connectors": [ { "id": "axis", "kind": "revolute_axis" }, { "id": "bottom", "kind": "mount" }, { "id": "top", "kind": "mount" }, { "id": "output_mount", "kind": "shaft_hub" }, { "id": "planet_axis_0", "kind": "revolute_axis" }, { "id": "planet_axis_1", "kind": "revolute_axis" }, { "id": "planet_axis_2", "kind": "revolute_axis" } ] }, { "id": "output_shaft", "family": "output_flange_shaft", "generator": "simplecadapi.std.planetary_joint.make_output_shaft_rpart", "source_mode": "formula_std", "maturity": "formula_verified", "connectors": [ { "id": "axis", "kind": "revolute_axis" }, { "id": "bottom", "kind": "mount" }, { "id": "top", "kind": "mount" }, { "id": "output", "kind": "mount" } ] }, { "id": "output_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": "planet_bearing", "family": "flanged_radial_bearing", "generator": "simplecadapi.std.planetary_joint.make_planet_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": "motor_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" } ] } ], "instances": [ { "id": "main_case", "definition_id": "main_case" }, { "id": "motor_stator", "definition_id": "motor_stator" }, { "id": "motor_rotor", "definition_id": "motor_rotor" }, { "id": "back_plate", "definition_id": "back_plate" }, { "id": "bearing_retainer", "definition_id": "bearing_retainer" }, { "id": "output_bearing", "definition_id": "output_bearing" }, { "id": "carrier", "definition_id": "carrier" }, { "id": "output_shaft", "definition_id": "output_shaft" }, { "id": "motor_coupling", "definition_id": "motor_coupling" }, { "id": "ring_gear", "definition_id": "ring_gear" }, { "id": "sun_gear", "definition_id": "sun_gear" }, { "id": "planet_0_large", "definition_id": "planet_gear_large", "pattern_index": 0 }, { "id": "planet_1_large", "definition_id": "planet_gear_large", "pattern_index": 1 }, { "id": "planet_2_large", "definition_id": "planet_gear_large", "pattern_index": 2 }, { "id": "planet_0_small", "definition_id": "planet_gear_small", "pattern_index": 0 }, { "id": "planet_1_small", "definition_id": "planet_gear_small", "pattern_index": 1 }, { "id": "planet_2_small", "definition_id": "planet_gear_small", "pattern_index": 2 }, { "id": "planet_bearing_0", "definition_id": "planet_bearing", "pattern_index": 0 }, { "id": "planet_bearing_1", "definition_id": "planet_bearing", "pattern_index": 1 }, { "id": "planet_bearing_2", "definition_id": "planet_bearing", "pattern_index": 2 } ], "expected_definition_counts": [ { "definition_id": "motor_stator", "count": 1 }, { "definition_id": "motor_rotor", "count": 1 }, { "definition_id": "main_case", "count": 1 }, { "definition_id": "back_plate", "count": 1 }, { "definition_id": "bearing_retainer", "count": 1 }, { "definition_id": "output_bearing", "count": 1 }, { "definition_id": "carrier", "count": 1 }, { "definition_id": "output_shaft", "count": 1 }, { "definition_id": "motor_coupling", "count": 1 }, { "definition_id": "ring_gear", "count": 1 }, { "definition_id": "sun_gear", "count": 1 }, { "definition_id": "planet_gear_large", "count": 3 }, { "definition_id": "planet_gear_small", "count": 3 }, { "definition_id": "planet_bearing", "count": 3 } ], "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_mount" }, "b": { "instance_id": "carrier", "connector_id": "axis" } }, { "id": "case_stator", "type": "fixed", "a": { "instance_id": "main_case", "connector_id": "motor_mount" }, "b": { "instance_id": "motor_stator", "connector_id": "mount" } }, { "id": "rotor_coupling", "type": "shaft_hub", "a": { "instance_id": "motor_rotor", "connector_id": "output" }, "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": "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": "output_bearing", "connector_id": "bottom" } }, { "id": "carrier_output", "type": "fixed", "a": { "instance_id": "carrier", "connector_id": "output_mount" }, "b": { "instance_id": "output_shaft", "connector_id": "bottom" } }, { "id": "p0_carrier", "type": "revolute", "motion_role": "planet_spin", "phase_offset_degrees": 0.0, "a": { "instance_id": "carrier", "connector_id": "planet_axis_0" }, "b": { "instance_id": "planet_0_large", "connector_id": "axis" } }, { "id": "p1_carrier", "type": "revolute", "motion_role": "planet_spin", "phase_offset_degrees": 0.0, "a": { "instance_id": "carrier", "connector_id": "planet_axis_1" }, "b": { "instance_id": "planet_1_large", "connector_id": "axis" } }, { "id": "p2_carrier", "type": "revolute", "motion_role": "planet_spin", "phase_offset_degrees": 0.0, "a": { "instance_id": "carrier", "connector_id": "planet_axis_2" }, "b": { "instance_id": "planet_2_large", "connector_id": "axis" } }, { "id": "p0_large_small", "type": "fixed", "a": { "instance_id": "planet_0_large", "connector_id": "top" }, "b": { "instance_id": "planet_0_small", "connector_id": "bottom" } }, { "id": "p1_large_small", "type": "fixed", "a": { "instance_id": "planet_1_large", "connector_id": "top" }, "b": { "instance_id": "planet_1_small", "connector_id": "bottom" } }, { "id": "p2_large_small", "type": "fixed", "a": { "instance_id": "planet_2_large", "connector_id": "top" }, "b": { "instance_id": "planet_2_small", "connector_id": "bottom" } }, { "id": "p0_bearing", "type": "bearing_support", "a": { "instance_id": "planet_0_large", "connector_id": "bottom" }, "b": { "instance_id": "planet_bearing_0", "connector_id": "gear_seat" } }, { "id": "p1_bearing", "type": "bearing_support", "a": { "instance_id": "planet_1_large", "connector_id": "bottom" }, "b": { "instance_id": "planet_bearing_1", "connector_id": "gear_seat" } }, { "id": "p2_bearing", "type": "bearing_support", "a": { "instance_id": "planet_2_large", "connector_id": "bottom" }, "b": { "instance_id": "planet_bearing_2", "connector_id": "gear_seat" } } ], "transmission": { "type": "nw_planetary", "module_mm": 2.0, "pressure_angle_deg": 20.0, "teeth": { "sun": 16, "planet": 24, "planet_inner": 16, "ring": 56 }, "planet_count": 3, "center_radius_mm": 40.0, "center_tolerance_mm": 0.01, "fixed_member": "ring_gear", "input_member": "sun_gear", "output_member": "carrier", "fixed_ring_ratio": 6.25, "ratio_tolerance": 1e-06, "meshes": [ { "id": "sun_p0_large", "type": "external", "a": "sun_gear", "b": "planet_0_large", "backlash_mm": 0.02 }, { "id": "sun_p1_large", "type": "external", "a": "sun_gear", "b": "planet_1_large", "backlash_mm": 0.02 }, { "id": "sun_p2_large", "type": "external", "a": "sun_gear", "b": "planet_2_large", "backlash_mm": 0.02 }, { "id": "ring_p0_small", "type": "internal", "a": "ring_gear", "b": "planet_0_small", "backlash_mm": 0.02 }, { "id": "ring_p1_small", "type": "internal", "a": "ring_gear", "b": "planet_1_small", "backlash_mm": 0.02 }, { "id": "ring_p2_small", "type": "internal", "a": "ring_gear", "b": "planet_2_small", "backlash_mm": 0.02 } ] }, "public_connectors": [ { "id": "housing_mount", "source": { "instance_id": "main_case", "connector_id": "bottom" } }, { "id": "input_axis", "source": { "instance_id": "motor_rotor", "connector_id": "axis" } }, { "id": "output_axis", "source": { "instance_id": "output_shaft", "connector_id": "axis" } } ], "interference_contract": { "policy": "no_unlisted_positive_volume", "volume_tolerance_mm3": 1e-09, "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": 1.5, "volume_tolerance_mm3": 1e-06, "evidence": "source STEP assembly at nominal 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 } }