Skip to content

Cluster J: CAM-Qualität und Toolpath-Infrastruktur (Arc-Fitting, Bohr-Zyklen, Spanausdünnung, Linking) #46

Description

@MadGapun

Hintergrund

GAP-Analyse „was fehlt noch fürs CAM" (2026-05-21). Die CAM-Strategien sind
breit (24 Module). Die Lücken liegen bei Toolpath-Qualität + Infrastruktur,
nicht bei Strategien.

Sub-Punkte (J1–J8)

  • J1 — Arc-Fitting (G2/G3) ✅ alpha.8 — gcode/arc_fitting.py. Greedy
    Bogen-Erkennung (Umkreis durch 3 Punkte, Toleranz + konsistente
    Drehrichtung), nur bei konstantem Z+Feed, endpunkt-treu, Vollkreis-Schutz.
    Optional im postprocess-Endpoint (arc_fitting:true, arc_toleranz_mm)
    + MCP gcode_erzeugen(arc_fitting=True). 10 Tests. Wiki: Arc-Fitting.md.
  • J2 — Bohr-Zyklen erweitern ✅ alpha.8 — BohrStrategie + BohrParameter
    + cam/bohren.py: ANBOHREN (Zentrier-Spot, anbohr_tiefe), SENKEN
    (zylindrisch=Counterbore / konisch=Countersink aus senk_winkel_grad +
    senk_durchmesser), GEWINDEBOHREN (synchron-Vorschub = RPM × Steigung,
    rein+raus mit Spindel-Reverse-Hinweis). Via operation_bohren-MCP
    automatisch (neue Enum-Werte). 8 Tests.
  • J3 — Spanausdünnung (Chip Thinning) ✅ alpha.8 — chip_thinning_faktor()
    + korrigiere_vorschub_spanausduennung() in feeds/rechner.py
    (f_korr = f / sqrt(1-(1-2·ae/d)²), geklemmt ≤4). API
    /api/feeds/chip-thinning + MCP spanausduennung_faktor. 12 Tests.
  • J4 — Linking / Stay-Down-Optimierung — Werkzeug unten lassen wo der
    direkte Weg frei + kurz ist. Weniger Luftbewegungen.
  • J5 — Lead-in/out + Rampe für 3D-Strategien — sanftes Eintauchen
    statt senkrechtem Plunge.
  • J6 — Flat-Area-Detection — flache 3D-Bereiche separat plan-schlichten
    (nutzt berechne_steigungswinkel()).
  • J7 — Pencil / Kehlnaht-Cleanup — Tal-Linien mit kleinem Werkzeug.
  • J8 — Trochoidales Nutenfräsen — Slot mit kreisender Bahn.

Stand alpha.8

J1 + J2 + J3 fertig (30 neue Tests, 746 grün gesamt). Backend + REST + MCP-
Parität. J4–J8 dokumentiert für Folge-Sessions.

Verwandt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions