{ "schema_version": "2.0", "routing_policy": { "default_backend": null, "selection_basis": [ "native source continuity", "standard factory coverage", "semantic and replay requirements", "geometry vocabulary coverage", "assembly requirements", "validation requirements" ], "uploaded_step_execution_engine": "surfaceir", "uploaded_step_validation_engines": [ "surfaceir_geometry_acceptance", "simplecadapi_brep_compare" ] }, "routing_catalog": { "selection_rule": "For a new model, choose SimpleCADAPI only when the requested primary object matches one catalog entry. Feature-context matches are excluded. Every other request chooses build123d.", "source": "SimpleCADAPI/src/simplecadapi/std/{gear,bearing,chain,fastener}.py", "simplecadapi_standard_part_types": [ { "type": "spur_gear", "factory": "simplecadapi.std.gear.make_spur_gear_rsolid", "aliases": ["齿轮", "直齿轮", "正齿轮", "spur gear"], "feature_context_exclusions": ["齿轮孔", "齿轮安装", "齿轮座", "齿轮箱", "gear hole", "gear mount", "gear housing", "gearbox"] }, { "type": "straight_bevel_gear", "factory": "simplecadapi.std.gear.make_straight_bevel_gear_rsolid", "aliases": ["直齿锥齿轮", "锥齿轮", "straight bevel gear", "bevel gear"], "feature_context_exclusions": ["锥齿轮箱", "bevel gearbox", "锥齿轮座"] }, { "type": "helical_gear", "factory": "simplecadapi.std.gear.make_helical_gear_rsolid", "aliases": ["斜齿轮", "helical gear"], "feature_context_exclusions": ["斜齿轮箱", "helical gearbox", "斜齿轮座"] }, { "type": "herringbone_gear", "factory": "simplecadapi.std.gear.make_herringbone_gear_rsolid", "aliases": ["人字齿轮", "herringbone gear"], "feature_context_exclusions": ["人字齿轮箱", "herringbone gearbox", "人字齿轮座"] }, { "type": "ring_gear", "factory": "simplecadapi.std.gear.make_spur_ring_gear_rsolid", "aliases": ["内齿圈", "齿圈", "ring gear"], "feature_context_exclusions": ["齿圈座", "ring gear housing", "ring gear mount"] }, { "type": "gear_rack", "factory": "simplecadapi.std.gear.make_spur_rack_rsolid", "aliases": ["齿条", "直齿条", "斜齿条", "人字齿条", "gear rack", "rack gear", "spur rack", "helical rack", "herringbone rack"], "feature_context_exclusions": ["齿条安装", "齿条座", "rack mount", "rack housing"] }, { "type": "cycloidal_disc", "factory": "simplecadapi.std.gear.make_cycloidal_disc_rsolid", "aliases": ["摆线盘", "摆线轮", "cycloidal disc"], "feature_context_exclusions": ["摆线减速器", "cycloidal reducer", "摆线针轮减速器"] }, { "type": "ball_bearing", "factory": "simplecadapi.std.bearing.make_ball_bearing_rassembly", "aliases": ["轴承", "滚动轴承", "球轴承", "深沟球轴承", "ball bearing"], "feature_context_exclusions": ["轴承座", "轴承壳", "轴承孔", "轴承安装", "bearing housing", "bearing seat", "bearing hole", "bearing mount"] }, { "type": "roller_chain_sprocket", "factory": "simplecadapi.std.chain.make_roller_chain_sprocket_rsolid", "aliases": ["滚子链轮", "链轮", "roller chain sprocket", "sprocket"], "feature_context_exclusions": ["链轮座", "链轮箱", "链轮安装", "sprocket housing", "sprocket mount"] }, { "type": "bolt", "factory": "simplecadapi.std.fastener.make_bolt_rsolid", "aliases": ["螺栓", "六角螺栓", "内六角螺栓", "螺栓本体", "bolt", "hex bolt", "socket head bolt"], "feature_context_exclusions": ["螺栓孔", "螺栓圆", "螺栓阵列", "bolt hole", "bolt circle", "bolt pattern"] }, { "type": "nut", "factory": "simplecadapi.std.fastener.make_nut_rsolid", "aliases": ["螺母", "六角螺母", "螺母本体", "nut", "hex nut"], "feature_context_exclusions": ["螺母槽", "螺母孔", "螺母避让", "nut pocket", "nut hole", "nut clearance"] } ] }, "backends": { "build123d": { "project": "text-to-cad", "runner_skill": "cad", "source_formats": ["py"], "primary_formats": ["step", "stp"], "strengths": [ "general mechanical parts", "machined features", "source-level assemblies", "freeform profiles, lofts, sweeps, and mixed surface workflows", "geometry measurement and validation" ], "preferred_when": [ "the part is a custom bracket, housing, shaft, flange, fixture, or enclosure", "source-level assembly mates or existing build123d Python must be preserved", "the geometry needs custom profiles or surface-heavy construction not covered by a SimpleCADAPI factory" ], "weak_when": [ "a deterministic SimpleCADAPI standard factory covers the requested part", "operation-graph replay, typed semantic tags, units, or tolerance chains are primary requirements" ], "source_of_truth": "build123d Python generator" }, "simplecadapi": { "project": "SimpleCADAPI", "runner_skill": "simplecadapi", "minimum_version": "2.0.2", "source_formats": ["py", "json"], "primary_formats": ["step", "stp"], "strengths": [ "gears, ring gears, racks, bevel gears, and cycloidal discs", "bearings, bolts, nuts, roller-chain sprockets, reducers, and joint actuators", "replayable ModelResult operation graphs and scene packages", "typed semantic tags, topology lineage, and source mapping", "physical units and tolerance-chain validation", "STEP B-Rep inspection, strict comparison, and slice diagnostics", "FreeCAD, Fusion 360, and SolidWorks translation" ], "preferred_when": [ "a standard mechanical factory directly covers the requested family", "replayable model JSON, semantic edit anchors, units, tolerances, or CAD translation are required", "a reusable mechanical product family should become a deterministic library function" ], "weak_when": [ "the request depends on complex freeform surfaces outside the supported operation vocabulary", "an existing build123d generator or source-level build123d assembly must be preserved" ], "source_of_truth": "SimpleCADAPI Python generator and model JSON" } } }