Mas5ACAM – 5-Achsen-CAM für X, Y, Z, A, C

Windows-Anwendung, die aus einem 3D-Modell einen simultanen 5-Achs-Werkzeugweg berechnet und daraus ein GCode-Programm schreibt

In Arbeit
Mas5ACAM – 5-Achsen-CAM für X, Y, Z, A, C

Mas5ACAM berechnet für eine Tisch-Tisch-Maschine (Achsen X, Y, Z linear, A und C rotatorisch) den Werkzeugweg für eine simultane 5-Achs-Bearbeitung und schreibt ihn als fertiges GCode-Programm. Aus einem STL-Modell wird per Strg+Klick die zu bearbeitende Fläche gewählt – ein eigenes Wachstumsverfahren über die Kantennachbarschaft erkennt dabei automatisch, wo eine Fläche aufhört, ohne dass Hilfskonstruktionen nötig sind.

Wie MasViewer läuft auch Mas5ACAM mit einem selbstgeschriebenen Software-Renderer auf GDI+ – ohne NuGet-Pakete, ohne externe Abhängigkeiten. Werkstück- und Maschinenansicht lassen sich umschalten, und dieselbe Bahnliste, die den GCode erzeugt, treibt auch die Animation an – Programm und Vorschau können also nicht auseinanderlaufen.

Das Projekt ist aktuell in Arbeit und noch nicht an einer realen Maschine eingefahren. Quellcode und Fortschritt stehen offen auf GitHub.

Mas5ACAM wird gezielt für meinen AC-Tisch entwickelt, mit dessen Kinematik (A rotatorisch um X, C rotatorisch um Z) es abgestimmt ist.

Technische Daten

PlattformWindows 10/11
TechnologieC# / .NET 10, WinForms
3D-Darstellungeigener Software-Renderer auf GDI+, keine NuGet-Pakete
MaschineTisch-Tisch-Kinematik: X/Y/Z linear, A rotatorisch um X (−90°…+90°), C rotatorisch um Z (endlos)
WerkzeugKugelfräser
GCode-Ausgabefertige Maschinenkoordinaten. Ich verwende UCCNC, andere Steuerungen mit 5-Achsen-Simultanbearbeitung sollten aber auch funktionieren.
LizenzMIT

Die Maschine und ihre Kinematik

Programm-Nullpunkt ist der Werkstück-Nullpunkt: Mitte C-Tisch auf der Tischoberfläche, in Ausgangsstellung A = C = 0. Die A-Achse wird im 3D-Fenster eingeblendet, damit beim Schwenken sofort sichtbar ist, dass sich das Werkstück um sie dreht und nicht um eine Achse durch den Nullpunkt. Drehrichtung von A und C sowie die Höhe der Tischoberfläche über der A-Achse lassen sich der eigenen Maschine anpassen und werden lokal gespeichert.

Fläche wählen, Bahn berechnen

Ein STL kennt nur Dreiecke, keine Flächen. Mas5ACAM erkennt zusammenhängende Flächen selbst: vom angeklickten Dreieck aus wird über gemeinsame Kanten weitergelaufen, solange der Winkel zwischen den Facettennormalen unter dem Knickwinkel bleibt – an einer echten Kante hört die Auswahl auf. Nur die gewählte Fläche wird bearbeitet, der Rest bleibt Aufspannung.

Je nach Geometrie stehen drei Bahnformen zur Wahl: Spirale und Breitenkreise für kugel- und kuppelartige Flächen, Parallelbahnen mit Z-Zustellung für Freiformflächen auf einem Block. Der seitliche Bahnabstand wird aus der gewünschten Restmaterialhöhe (Scallop) errechnet statt fest eingestellt.

Werkstück- und Maschinenansicht

Die Werkstückansicht ist die CAM-Sicht: Das Teil steht still, das Werkzeug kippt. Die Maschinenansicht zeigt dagegen, was die Steuerung wirklich macht – das Werkzeug bleibt senkrecht, Werkstück und Tisch drehen mit A und C. Start/Pause und der Schieber fahren das komplette Programm Satz für Satz ab, inklusive Eilgängen, An- und Abfahren sowie der beiden Rückzüge in Maschinenkoordinaten am Anfang und Ende.

Der erzeugte GCode

Ausgegeben werden fertige Maschinenkoordinaten – die Kinematik ist bereits im CAM gerechnet, die Steuerung braucht dafür kein RTCP/TCPM/M128. Das Programm beginnt und endet mit einem satzweisen Rückzug in Maschinenkoordinaten (G53 G0 Z-1), damit Start und Ende unabhängig vom zuletzt gesetzten Werkstücknullpunkt sind. Weil sich das Teil rotationssymmetrisch auf der C-Achse dreht und die Linearachsen sich dabei kaum bewegen, ist G93 Inverszeit die Voreinstellung für den Vorschub; alternativ steht kompensiertes G94 zur Verfügung.

Grenzen

  • Nur Kugelfräser – kein Torus-, Schaft- oder Scheibenfräser
  • Schruppen nur in Z-Ebenen bei Parallelbahnen, ohne Restmaterial-Verfolgung
  • Kein Rohteilmodell – seitlich wird immer das Rechteck über der gewählten Fläche abgefahren
  • Eine Strategie: Kugelkoordinaten-Projektion aus einem Zentrumspunkt – passend für Kugeln, Kuppeln und ähnliche Formen, nicht für Prismen
  • Kollisionsprüfung nur Werkzeug gegen Werkstück, nicht gegen Tisch, Spanner oder Maschinenraum
  • Noch nicht an einer realen Maschine eingefahren – vor dem ersten Lauf Drehrichtungen und Rückzugsebene prüfen

Quellcode und Selbsttest

Der Quellcode steht unter MIT-Lizenz auf GitHub. Gebaut wird mit dotnet build bzw. Visual Studio, vorausgesetzt ist die .NET-10-Desktop-Runtime. Der Rechenkern – Kinematik, Flächenauswahl, Bahnberechnung, Kollisionsprüfung, Postprozessor – lässt sich zusätzlich ohne Oberfläche über ein eigenes Selbsttest-Projekt prüfen.