feat: add knowledge-driven joint design studio

This commit is contained in:
Jerry
2026-08-14 13:53:51 +08:00
parent 7d12459a32
commit 281afdfd9e
57 changed files with 269659 additions and 1152 deletions
@@ -0,0 +1,29 @@
{
"schema_version": "1.0",
"id": "component.carrier.planetary",
"version": "1.0.0",
"kind": "carrier",
"virtual": false,
"roles": ["carrier", "static_carrier", "output_carrier"],
"parameters": {
"planet_count": {"type": "integer", "minimum": 1},
"planet_orbit_radius_mm": {"type": "number", "exclusive_minimum": 0},
"plate_thickness_mm": {"type": "number", "exclusive_minimum": 0}
},
"ports": [
{"id": "rotation_axis", "type": "port.rotation.coaxial", "multiplicity": "one"},
{"id": "planet_pin_joint", "type": "port.joint.revolute", "multiplicity": "many"},
{"id": "stationary_mount", "type": "port.mount.stationary", "multiplicity": "one"}
],
"capability_refs": [
"capability.cad.simplecad_parts",
"capability.validation.revolute_joint"
],
"applicability": {
"current_mechanisms": [
"mechanism.planetary.simple_2k_h",
"mechanism.planetary.ferguson_wolfrom"
]
},
"maturity": "production"
}
@@ -0,0 +1,32 @@
{
"schema_version": "1.0",
"id": "component.gear.cylindrical.external",
"version": "1.0.0",
"kind": "gear",
"virtual": false,
"roles": ["sun", "planet", "parallel_axis_gear"],
"parameters": {
"teeth": {"type": "integer", "minimum_exclusive": 17},
"module_mm": {"type": "number", "exclusive_minimum": 0},
"pressure_angle_deg": {"type": "number", "exclusive_minimum": 0, "maximum": 45},
"face_width_mm": {"type": "number", "exclusive_minimum": 0},
"tooth_form": {"enum": ["spur", "helical"]},
"helix_angle_deg": {"type": "number", "minimum": 0, "maximum": 35},
"helix_hand": {"enum": ["left", "right"]}
},
"ports": [
{"id": "rotation_axis", "type": "port.rotation.coaxial", "multiplicity": "one"},
{"id": "external_teeth", "type": "port.mesh.external_cylindrical", "multiplicity": "many"},
{"id": "journal_rotation", "type": "port.joint.revolute", "multiplicity": "one"},
{"id": "radial_support", "type": "port.support.radial", "multiplicity": "many"}
],
"capability_refs": [
"capability.cad.simplecad_parts",
"capability.validation.external_mesh"
],
"applicability": {
"current_project_tooth_forms": ["spur", "helical"],
"note": "Sun and planet are mechanism roles, not separate component families."
},
"maturity": "production"
}
@@ -0,0 +1,31 @@
{
"schema_version": "1.0",
"id": "component.gear.cylindrical.internal",
"version": "1.0.0",
"kind": "gear",
"virtual": false,
"roles": ["ring", "internal_gear"],
"parameters": {
"teeth": {"type": "integer", "minimum_exclusive": 17},
"module_mm": {"type": "number", "exclusive_minimum": 0},
"pressure_angle_deg": {"type": "number", "exclusive_minimum": 0, "maximum": 45},
"face_width_mm": {"type": "number", "exclusive_minimum": 0},
"rim_thickness_mm": {"type": "number", "exclusive_minimum": 0},
"tooth_form": {"enum": ["spur", "helical"]},
"helix_angle_deg": {"type": "number", "minimum": 0, "maximum": 35},
"helix_hand": {"enum": ["left", "right"]}
},
"ports": [
{"id": "rotation_axis", "type": "port.rotation.coaxial", "multiplicity": "one"},
{"id": "internal_teeth", "type": "port.mesh.internal_cylindrical", "multiplicity": "many"},
{"id": "housing_mount", "type": "port.mount.stationary", "multiplicity": "one"}
],
"capability_refs": [
"capability.cad.simplecad_parts",
"capability.validation.internal_mesh"
],
"applicability": {
"current_project_tooth_forms": ["spur", "helical"]
},
"maturity": "production"
}
@@ -0,0 +1,18 @@
{
"schema_version": "1.0",
"id": "component.reference.housing",
"version": "1.0.0",
"kind": "housing",
"virtual": true,
"roles": ["housing", "ground_reference"],
"parameters": {},
"ports": [
{"id": "stationary_mount", "type": "port.mount.stationary", "multiplicity": "many"},
{"id": "main_axis", "type": "port.reference.axis", "multiplicity": "one"}
],
"capability_refs": ["capability.validation.fixed"],
"applicability": {
"note": "Topology reference; physical housing details are represented by industrial assembly knowledge."
},
"maturity": "production"
}
@@ -0,0 +1,17 @@
{
"schema_version": "1.0",
"id": "component.reference.main_axis",
"version": "1.0.0",
"kind": "axis",
"virtual": true,
"roles": ["main_axis"],
"parameters": {},
"ports": [
{"id": "axis", "type": "port.reference.axis", "multiplicity": "many"}
],
"capability_refs": ["capability.validation.coaxial"],
"applicability": {
"default_axis_xyz": [0.0, 0.0, 1.0]
},
"maturity": "production"
}