新增cdsl

This commit is contained in:
2026-08-24 14:52:08 +08:00
parent fd8c0c37ad
commit 9f8a55ff07
3892 changed files with 2872721 additions and 9169 deletions
@@ -0,0 +1,5 @@
# CDSL Bridge: Coaxial Bore
- Share one explicit axis or workplane origin across bore, seat, hub, sleeve, and clearance features.
- Keep each diameter role distinct. Use sequential cuts for a through clearance plus a deeper/larger seat.
- Prefer `reference_axis`, explicit frames, `revolve_cut`, or circular cut profiles; do not infer a new axis from arbitrary topology.
@@ -0,0 +1,6 @@
# CDSL Bridge: Counterbored Hole
- A counterbore is a smaller functional hole plus a larger, shallow coaxial recess.
- Use `hole_counterbore` or `hole_wizard` with `counterbore` fields when host placement is resolvable.
- Preserve main diameter, depth, counterbore diameter, and counterbore depth separately.
- Do not use a plain blind hole when the screw-head seat is part of the request.
@@ -0,0 +1,5 @@
# CDSL Bridge: Extrude Base
- Start with a closed named profile and a workplane. Use `extrude_add_blind` for a plate, block, annulus, hex body, or constant cylinder.
- Keep the base simple; add holes, slots, bosses, and finishing as dependent features.
- Use one coherent body unless separate solids are explicitly requested.
@@ -0,0 +1,5 @@
# CDSL Bridge: Fillet And Chamfer Last
- Apply `fillet` and `chamfer` only after primary adds, bores, holes, pockets, and patterns.
- Both operations require selectors that resolve uniquely on the active body.
- If no stable selector is available, omit the finishing operation and record `omitted: selector_unavailable`; never apply it to every edge.
@@ -0,0 +1,5 @@
# CDSL Bridge: Pattern Holes From Datum
- Build a valid seed hole first and preserve its host frame and functional subtype.
- Use `pattern_linear` for one/two-dimensional rows and `pattern_mirror` for symmetry.
- For circular layouts, use an explicit `circles` profile expansion and record the audit status; do not invent a circular-pattern atomic.
@@ -0,0 +1,5 @@
# CDSL Bridge: Revolve Profile
- Use a closed side profile and explicit axis with `revolve_add` or `revolve_cut`.
- Use 360 degrees unless a partial sector is requested. Keep the profile from crossing the axis invalidly.
- Add flats, slots, keyways, and bolt holes only after the rotational body is valid.
@@ -0,0 +1,5 @@
# CDSL Bridge: Threaded Hole
- Preserve thread size/depth as user intent and use the supported hole contract for the bore.
- Current CDSL runtime does not generate helical thread topology. Do not claim that it does.
- Record `approximated: thread_geometry_omitted` in the revision audit and include the bore dimensions used.
@@ -0,0 +1,5 @@
# CDSL Bridge: Through Hole
- Use a host face/frame and an explicit diameter. Prefer `hole_wizard` with a through end condition when its selector contract is complete.
- Otherwise use a circular sketch and a cut depth that is explicitly sufficient for the body, preserving the through-hole intent in the feature name/assumptions.
- Keep central bores on the main axis and repeated holes in a pattern or explicit circle group.
@@ -0,0 +1,6 @@
# CDSL Bridge: Axisymmetric Revolve
- Choose a closed half-profile and an explicit `axis` for `revolve_add` or `revolve_cut`.
- Use 360 degrees for a complete body. Keep the profile on one valid side of the axis.
- Prefer revolve for steps, shoulders, tapers, grooves, sleeves, and turned parts; use circle extrusion for a constant cylinder.
- Validate one coherent solid and shared axis before adding non-axisymmetric cuts.
@@ -0,0 +1,6 @@
# CDSL Bridge: Bearing Bore Seat
- Build enough support material first, then cut the smaller shaft clearance and larger bearing seat on the same frame.
- Use a defined seat depth and shoulder; never collapse both diameters into one hole.
- Express coaxial cuts with explicit frames or a stable reference axis/plane. Mounting holes follow the seat relationship.
- If a selector cannot identify the seat face uniquely, stop the dependent feature and report the blocker.
@@ -0,0 +1,6 @@
# CDSL Bridge: Flange Bolt Circle
- Keep bolt-circle diameter, count, start angle, and hole diameter explicit.
- Since the runtime has no circular-pattern atomic, expand the layout into explicit circle centers in a `circles` profile and cut them together.
- This is a semantic expansion, not an arbitrary approximation; report `expanded: circular_pattern_to_explicit_circles`.
- Do not use a rectangular grid for a circular flange.
@@ -0,0 +1,6 @@
# CDSL Bridge: Mounting Plate Hole Layout
- Establish plate edge/center datums before hole placement.
- Use one seed hole or explicit hole group, then `pattern_linear` or `pattern_mirror` for rows and symmetry.
- Select clearance, threaded, counterbored, or countersunk intent from the request; do not reduce every hole to a generic cylinder.
- Preserve margins and pitch. Finish after all functional holes and slots.
@@ -0,0 +1,6 @@
# CDSL Bridge: Slotted Adjustment
- A slot is an obround cut with equal end radii, dimensioned by width, length, and a datum frame.
- Use an `obround` sketch and `extrude_cut_blind`/through-depth after the base exists.
- A slot is not a shaft keyway or revolved groove. Pattern or mirror only after the seed cut is valid.
- Leave material at slot ends and finish slot edges last when selectors are available.
@@ -0,0 +1,6 @@
# CDSL Bridge: Standard Hole Wizard
- Choose the hole subtype from function: clearance, blind, through, counterbore, countersink, or threaded intent.
- Use `hole_wizard` only with its exact schema fields and a resolvable host face, or use a self-contained circular cut when the frame is explicit.
- Positions are objects such as `{"mm": [u, v, w]}`; never emit bare coordinate arrays.
- Thread metadata is retained as intent but current geometry is cylindrical; report the approximation.
@@ -0,0 +1,6 @@
# CDSL Bridge: Symmetric Feature Layout
- Define a centerline, plane, or datum before placing symmetric features.
- Use `pattern_mirror` for a mirrored source feature and `pattern_linear` for regular rows.
- The source feature must execute first and its transformed selectors/frames must remain uniquely resolvable.
- Never create symmetry by independently guessed coordinates when a pattern contract is available.
@@ -0,0 +1,7 @@
# CDSL Bridge: Bearing Housing
- Use for a bearing seat, bearing support, pillow-block-like body, or bushing seat, not a rolling-bearing assembly.
- Invariants: one bearing axis, distinct bearing seat and shaft-clearance diameters, a locating shoulder/depth, and a mounting base or flange.
- Plan: base/support add -> coaxial shaft bore -> larger bearing pocket/counterbore -> mounting holes -> ribs/bosses -> late finishing.
- Keep bearing outer diameter, seat depth, shaft clearance, center height, wall thickness, and mounting pattern separate.
- Ribs must connect base and support; never add floating decorative ribs.
@@ -0,0 +1,7 @@
# CDSL Bridge: Flange
- Use for a circular flange, flanged sleeve, or coupling flange with a shared central axis.
- Invariants: coaxial outside diameter, bore/hub, sealing land, and fastener holes on a pitch circle.
- Plan: `revolve_add` for stepped axisymmetric bodies or circular `extrude_add_blind` -> coaxial bore -> one bolt-hole definition -> explicit circle set or supported repetition -> late finishing.
- No circular-pattern atomic exists. Expand a bolt circle into explicit circles in one cut profile and record `expanded` in the audit.
- Keep bolt-circle diameter, count, start angle, bore, and hub dimensions distinct.
@@ -0,0 +1,7 @@
# CDSL Bridge: Hexagonal Nut
- Use for a hex body with a centered internal threaded-bore intent.
- Invariants: across-flats, thickness, centered bore, and functional lead-in chamfers.
- Plan: polygon/hex `extrude_add_blind` -> centered bore or `hole_wizard` -> thread audit -> finishing when selectors are valid.
- Preserve across-flats separately from thread/bore diameter. Do not create a mating bolt.
- Current runtime does not create helical threads; represent the bore and record `approximated: thread_geometry_omitted`.
@@ -0,0 +1,7 @@
# CDSL Bridge: Mounting Bracket
- Use for an L/U/T bracket or a support with a base plus web, lug, tab, or boss.
- Invariants: one coherent body, a load path from base to web/boss, datum-driven holes, and no invented fastener assembly.
- Plan: base `extrude_add_blind` -> web/tab/boss add features -> clearance/slot cuts -> holes -> mirror/linear repetition -> late edge treatment.
- Use named planar profiles and explicit workplanes. Keep holes after the support geometry so they do not float.
- Do not flatten a 3D bracket into a plate or add fillets without a valid selector.
@@ -0,0 +1,7 @@
# CDSL Bridge: Mounting Plate
- Use for a mostly uniform plate, base, adapter, fixture, or panel.
- Invariants: a named rectangular/rounded profile, thickness, datum-based holes, and functional cutouts.
- Plan: `extrude_add_blind` base -> `hole_wizard` or cut-hole features -> `pattern_linear`/`pattern_mirror` -> slots and pockets -> late `fillet`/`chamfer` only with selectors.
- Prefer `rectangle`, `rectangle_with_fillets`, or `obround` profiles. Keep edge margins and pitch as named numeric parameters.
- Rectangular hole groups use linear/mirror patterns; never use circular-pattern semantics for a plate.
@@ -0,0 +1,7 @@
# CDSL Bridge: Simple Shaft
- Use for a single cylindrical rod, pin, spacer, or stepped shaft, not an assembly.
- Invariants: one main axis, one coherent solid, axial segment lengths/diameters, and secondary features referenced to the axis.
- Use a circle plus `extrude_add_blind` for a uniform rod; use a closed side profile plus `revolve_add` for steps, shoulders, tapers, or grooves.
- Add end holes, flats, slots, or keyway-like cuts only after the primary body. Finish last.
- Do not invent bearings, gears, couplings, or real thread geometry when not requested.