# Backend capabilities ## build123d through CAD Skill Use as the default STEP-first backend. Best fit: - Brackets, connecting rods, cranks, levers, shafts, bushings, flanges, plates, housings, covers, enclosures, fixtures, and machined features. - Parametric Python sources with holes, pockets, slots, bosses, ribs, shells, fillets, chamfers, lofts, sweeps, and revolves. - Source-level assemblies, named datums, joints, imported components, measurements, alignment checks, and existing STEP inspection. - STEP output compiled from executable DesignIR 2.0. Weak signals: a specialized mechanical family already implemented by SimpleCADAPI or a browser-only execution requirement. ## SimpleCADAPI Use for its standard mechanical factories and replayable modeling graph. Best fit: - Spur, helical, and herringbone gears; internal ring gears; racks; cycloidal discs; ball bearings. - Planetary and cycloidal reducers, joint actuators, and mechanism-heavy assemblies. - Parameter expressions, operation-graph JSON, replay, semantic tags, and topology queries. - Reusable mechanical product families whose formulas should become deterministic library functions. Before invocation, inspect the installed package and Skill versions together. Do not mix the current single-`Solid` boolean API with older `*rsolidlist` documentation. If the installed runtime and docs disagree, stop that route and use build123d or repair the installation. ## Router refinement and repair Use text-to-cad's own requirement expansion and visual repair when requirements are vague, reference images carry important intent, or visual complexity makes one-pass generation unreliable: 1. Refine the request into a measurable brief. 2. Confirm important fit- or safety-critical unknowns. 3. Generate and execute backend source. 4. Validate deterministic geometry facts. 5. Inspect a multi-view render against the brief. 6. Repair visual mismatches, capped at three automatic visual rounds. CAD Viewer reviews the generated or reconstructed STEP.