Welt der Fertigung
Sie sind hier: Startseite » Suchen » Lernen » CAD_CAM

Via DXF-Code zum CNC-Programm

Dem Geheimnis der CAM-Technik auf der Spur

CNC-Programme werden häufig direkt an der Steuerung erstellt, wenn sich die Komplexität des zu erstellenden Teils in Grenzen hält. Für umfangreiche Teile ist dieser Weg jedoch zu kosten- und fehlerintensiv, weshalb in diesem Fall die per CAD gewonnenen Zeichnungsdaten von einem leistungsstarken CAM-System zum Erzeugen von CNC-Programmen verwendet werden. Wie das geschieht, ist vielfach wenig bekannt, da solche Software leider nur spärliche Einblicke in ihre Arbeitsweise gestattet. Eine wesentliche Rolle spielen in jedem Fall die Eigenschaften der einzelnen Elemente, wie etwa ihre Farbe oder die Linienart, mit der sie gezeichnet wurden. Zeit, einmal Licht ins Dunkel der CAM-Welt zu bringen und aufzuzeigen, wie etwa das DXF-Format zum Erzeugen von CNC-Code genutzt wird.


Immer mehr Bauteile werden derart komplex konstruiert, dass es sich alleine schon aus ökonomischen Gründen verbietet, die dazu nötigen CNC-Programme „zu Fuß“ zu erstellen. Ganz abgesehen davon, dass eine unabhängig vorgenommene Programmierung immer auch die Gefahr der falschen Datenübername beinhaltet, die im schlimmsten Fall zur massiven Beschädigung der Werkzeugmaschine führen kann.

Aus diesem Grund ist stets anzuraten, einmal erstellte CAD-Daten für die CNC-Programmerstellung weiterzuverwenden. DXF, IGES, STEP und Konsorten sind die Bindeglieder, die in der Regel nötig sind, um Daten vom CAD-System ins CAM-System zu übertragen. Jedes dieser Datenformate hat seinen eigenen, speziellen Datenformat-Aufbau, der das Teil beschreibt. Dazu werden Informationen, wie Abmessung, Farbe und Lage der einzelnen Elemente codiert oder im Klartext gespeichert.

Eine Übergabe der Daten vom CAD- zum CAM-System ist oft nur mit Verlusten möglich, da bisher keine Norm einen umfassenden Rahmen festlegt, um die reibungslose Datenübernahme zu gewährleisten. Selbst Industrie-Standards, wie etwa das DXF-Format, können nicht immer verlustlos gelesen werden, da neuere Versionen nicht selten eine leicht veränderte Datenstruktur aufweisen, was der neuen, leistungsstärkeren CAD-Version geschuldet ist. Darüber hinaus werden Inhalte, wie Schraffuren oder Bemaßungstexte von vielen Importfiltern nur dann übernommen, wenn diese in eigenständige geometrische Elemente umgewandelt werden.

Um aus DXF-Daten saubere CNC-Programme zu zaubern, ist es lediglich nötig, die Koordinaten von Geraden und Kreisen aus dem DXF-File auszulesen und in entsprechende CNC-Befehle umzuwandeln. Wer keinen passenden Konverter zur Hand hat, jedoch mit einer Programmiersprache, wie etwa Pascal, C oder Visual Basic umgehen kann, ist in der Lage, sich selbst einen Konverter zu schreiben. Dazu bedarf es jedoch tiefergehendes Wissen, wie ein DXF-File aufgebaut ist.

Viel Text mit wenig Inhalt

Das DXF-Format ist alles andere als leicht zu verstehen. Zu allem Überfluss wird das Format von Autodesk immer wieder überarbeitet, um moderner Autocad-Software gerecht zu werden. Dennoch gibt es mit ein wenig Ausdauer kein Problem, dem Aufbau dieses CAD-Datenaustauschformats auf die Spur zu kommen. Wichtig ist, sich nicht von den oft monströsen Größen einer DXF-Datei entmutigen zu lassen. Es gilt, einige wichtige Schlüsselwörter zu kennen, nach denen man suchen muss, um das Geheimnis des Formataufbaus zu enträtseln.

Ist das Geheimnis gelüftet, ist es notwendig, sich Gedanken zu machen, wie die nun vorliegenden Geometriedaten am besten in CNC-Code umzuwandeln sind, denn ein direktes Umwandeln eines DXF-Files in ein CNC-Programm würde dazu führen, dass entweder das Werkstück, der Fräser oder im schlimmsten Fall sogar die Maschine zerstört werden. Der Grund ist, dass bei einer 1:1-Übersetzung des DXF-Files in ein CNC-Programm alle Element-Punkte direkt, also ohne Werkzeugrückzug angefahren werden, weshalb ein Fräser beim Anfahren des nächsten Elemente-Startpunktes mitten durch das Werkstück fahren würde.

Es ist daher nötig, Abhebe- und Eintauchbewegungen am Elementende beziehungsweise Elementstartpunkt einzufügen. Darüber hinaus ist es sinnvoll, jeweils getrennt die Werte der Vorschübe und Eilgänge festzulegen.

Zusätzlich gilt es, steuerungsspezifische Startroutinen, Verfahrbefehle et cetera festzulegen. Auch an die Achsbezeichnungen ist zu denken, da diese nicht bei allen Maschinen identisch sind. Der Grund: Während ein Hersteller seine Maschine als Waagrechtfräsmaschine versteht, die per Anbau eines Senkrechtfräskopfes zur Senkrechtfräsmaschine wird, vermeldet ein anderer Hersteller, dass seine Maschine eine Senkrechtfräsmaschine sei, die nach Abbau des Senkrechtfräskopfes zur Waagrechtfräsmaschine mutiert.

Das Geheimnis einer DXF-Datei

Im Grunde arbeiten alles CAM-Programme über die Auswertung von Geometrieelementen. Es werden lediglich die Dateien in einem Austauschformat nach den Koordinaten der Elemente durchsucht und entsprechend umgewandelt. In einer DXF-Datei sind die gesuchten Koordinaten unter einem Daten-Heuhaufen versteckt. Dieses Format ist, wie erwähnt, recht unübersichtlich. Hat jedoch den großen Vorteil, dass es ein von Menschen lesbares Format ist, da es nicht codiert wird. Wer will, kann einmal eine DXF-Datei mit dem Windows-Editor öffnen und diese untersuchen.

Abhängig von welchem CAD-Programm die DXF-Datei erzeugt wurde, ergibt sich stets ein leicht abweichendes Bild, selbst wenn das gleiche Bauteil als Quelle dient. Der Grund ist, dass wichtige Schlüsselwörter nicht unbedingt identisch bezeichnet werden. Dies ist auch der fortschreitenden Weiterentwicklung des DXF-Formats durch Autocad geschuldet. Hieß das Schlüsselwort für eine Linie in einer früheren DXF-Version schlicht ›LINE‹, so ist das heutige Schlüsselwort für eine Linie ›AcDbLine‹. Der Wandel hat jedoch seine Vorteile, da alle Elemente mit ›AcDb‹ beginnen, was die Suche nach ihnen sehr erleichtert.

Es sollte keine moderne Software geben, die sich nicht an den neuen Standard hält. Das erlaubt, preiswerte Software, wie etwa Corel Draw X4 oder TurboCAD für Experimente in Sachen ›DXF-Umwandlung in CNC-Befehle‹ zu nutzen. Doch schon sehr bald zeigt sich bei den ersten Untersuchungen, dass jeder Hersteller unter einer Linie etwas anderes versteht. Während TurboCAD eine Linie mit dem Schlüsselwort ›AcDbLine‹ kennzeichnet, verwendet Corel Draw X4 dafür das Schlüsselwort ›AcDbSpline‹. Wobei schnell klar wird, warum das so ist. Corel Draw ist eher ein Programm für Designer und Künstler und weniger für Konstrukteure. Daher werden Gerade eben als Polynomzug, denn das ist ein Spline, verwendet. Dadurch sind vielfältige Manipulationen durch sogenannte Knoten möglich. Aus einer Geraden wird dann sehr schnell eine Kurve, die sich bestens für das Erstellen fließender Formen eignet.

Schlüssel zum Ziel

Geometriedaten verbergen sich im DXF-File an ganz gezielt festgelegten Stellen. Eine Linie beispielsweise wird, wie bereits angesprochen, über das Schlüsselwort ›AcDbLine‹ eingeleitet. Die dazugehörenden Koordinaten der Linie folgen ihren jeweiligen Codezahlen. Für den ersten Punkt sind dies die Zahlen 10, 20 und 30. Die diesen Zahlen nachfolgenden Zahlenwerte sind die Koordinaten des Linienstartpunkts in X, Y und Z. Die X-, Y- und Z-Koordinaten des Endpunkts werden über die Codezahlen 11, 21 und 31 eingeleitet.

DXF-Schlüsselwörter für Koordinaten

DXF-Schlüsselwörter für eine Linie

DXF-Schlüsselwörter für einen Kreis

DXF-Schlüsselwörter für Polyline

Eine Polylinie hat alle Punkte der Linie in sich vereint. Es können daher sehr viele Koordinatenpunkte zusammenkommen! Praktisch: Die Anzahl der Elemente wird vorab ausgewiesen.

Manchmal gibt es bei der Verarbeitung sehr großer Polylinien Probleme beim Umwandeln, da womöglich eine Speichergrenze überschritten wird. In diesem Fall kann es helfen, die Polylinie durch die Funktion ›Explodieren‹ (z.B. in TurboCAD vorhanden) in einzelne Linien zu zerlegen, da Linien problemlos auch in großer Menge verarbeitet werden können. Dieses Auflösen in Einzelelemente ist immer dann anzuraten, wenn Elemente aus „Bausteinen“ entstanden sind.

Zum Beispiel wird ein Rechteck in der Regel nicht aus Linien aufgebaut, sondern über die Funktion ›Rechteck‹ durch Angabe von Start- und Endpunkt bestimmt. Wird dieses Rechteck danach noch abgerundet, so kann es passieren, dass im CNC-Programm die Radien fehlen, weil sich diese im Polygon-Teil der DXF-Datei befinden. In solchen Fällen unbedingt das Teil in Einzelelemente zerlegen, damit die Polygone zu Linien und Radien umgewandelt werden.

DXF-Schlüsselwörter für Spline

Hinweis: Die doppelte Anzahl „gleicher“ Koordinaten ist dem Element ›Spline‹ geschuldet. Beim Umwandeln in ein CNC-Programm darf bei Koordinaten-Gleichheit jeder Start- und Endpunkt nur einmal berücksichtigt werden, da sonst der Fräser eventuell "Luftschnitte" ausführt.

Der Bogen

Beim Bogen gibt es zu beachten, dass dieser vom Kreis abgeleitet ist, jedoch nur einen bestimmten Anfangs- und Endwinkel besitzt. Ein Konverter muss also beim Bogen eine Routine besitzen, um einen Bogen in ein korrektes CNC-Programm umzusetzen.

DXF-Schlüsselwörter für Kreis und Bogen

Farbwerte und Linienart ermitteln

Farben und Linienarten ermöglichen eine Steuerung bei der automatischen Erstellung eines CNC-Programms. Damit wird es zum Beispiel möglich, bestimmte Bereiche mit unterschiedlichen Schnittgeschwindigkeiten abzuarbeiten oder zwischen Eilgang und Vorschub umzuschalten. Dadurch, dass das DXF-Format ständig weiterentwickelt wird, kann an dieser Stelle nur auf neuere Versionen bezüglich der Codierung der Farbwerte beziehungsweise der Linienarten eingegangen werden.

War in früheren DXF-Versionen der Farbwert und die Linienart direkt dem jeweiligen Geometrieelement zugeordnet, so hat sich mit neueren DXF-Versionen diese Information, die als Attribute bezeichnet werden, vor das jeweilige Geometrieelement verschoben.

Das Schlüsselwort ›AcDbEntity‹ bezeichnet den Start desjenigen Abschnitts, in dem die Attribute für das nachfolgende Element aufgeführt werden. Der in dieser Liste stehende Schlüsselcode ›62‹ identifiziert die nachfolgende Zahl als Farbcode, während Schlüsselwörter, wie ›Mitte‹ oder ›Durchgehend‹ die Linienart direkt angeben.

DXF-Schlüsselwörter für Farbe und Element

Farbwerte:

Wie erwähnt, ist das Schlüsselwort für die Farbe die Zahl ›62‹. Der dieser Zahl nachfolgende Zahlenwert ist der Code, der einer bestimmten Farbe zugeordnet ist. Dieser lautet:

'1' = Rot
'2' = Gelb
'3' = Grün
'4' = Cyan
'5' = Blau
'6' = Magenta
'7' = Weiss
'8' = Schwarz
'9' = Dunkelrot
'10' = Limonengrün
'11' = Olivgrün
'12' = Hellblau
'13' = Dunkelblau
'14' = Pink
'15' = Silber
'16' = Grau

Mit der Zahl 16 ist das Spektrum jedoch noch nicht abgedeckt. Es sind noch viel mehr Farben denkbar, wodurch der Farbwert durchaus auch dreistellig sein kann. Zudem ist es möglich, dass das selbst eingesetzte CAD-Programm abweichende Codierungen zur eben genannten Tabelle nutzt. Bei der Entwicklung von CNC-Konvertern ist daher abzuklären, welcher Code für welche Farbe vom jeweiligen CAD-Programm erzeugt wird.

Linienarten:

Linienarten werden im DXF-Code direkt ausgeschrieben, was ein Vorteil ist, da dadurch dem Leser der Datei sofort klar ist, mit welcher Linie das Element gezeichnet wird. Dies ist eventuell bei einer Fehlersuche im Rahmen der CNC-Programmerstellung von Vorteil.

DXF-Schlüsselwörter für Linienarten

Beispiele mit TurboCAD 18 Pro

TurboCAD ist in der Pro beziehungsweise Platinum-Version sehr leistungsfähig. Mit diesem 3D-CAD-Programm sind auch anspruchsvolle Zeichnungen problemlos zu realisieren. Um zu demonstrieren, wie TurboCAD Zeichnungen ins DXF-Format exportiert, soll dazu ein einfaches Rechteck mit unterschiedlichen Radien erstellt werden.

Beim Export der obigen Zeichnung in das DXF-Format wird eine Datei erzeugt, die sagenhafte 186 Seiten umfasst. Dies kommt daher, dass bereits nach einem einzigen Befehl beziehungsweise Koordinatenwert ein Return-Befehl erzwungen wird. Zudem sind sehr viele Befehle darunter zu finden, die mit der eigentlichen Werkstückgeometrie nichts zu tun haben. Beispielsweise die Maßangaben, das Papierformat oder Plotterinformationen. Ein mit einem Konverter aus der Geometrie erzeugtes CNC-Programm wird daher sehr viel kürzer sein, als die DXF-Datei.

Hinweis: Wurde mit der Funktion ›Rechteck‹ die CAD-Zeichnung erstellt, so muss diese in einzelne Elemente zerlegt werden, damit Konverter eine korrekte Umsetzung der DXF-Datei in ein CNC-Programm bewerkstelligen können.

Nachdem die DXF-Datei erstellt wurde, kann Sie beispielsweise mit Word geöffnet werden. Über die Suche können dann die für eine Umsetzung in ein CNC-Programm relevanten Abschnitte gesucht und analysiert werden.

Mit Word eine DXF-Datei untersuchen

Wie erwähnt, zeigt das Beispiel, dass die Linien von Rechtecken, die über die Funktion ›Rechteck‹ gezeichnet wurden, als Polyline behandelt werden. Auf der sicheren Seite bezüglich CNC-Programmerstellung ist, wer diese Elemente in Einzelelemente zerlegt. Nichtsdestotrotz können Konverter natürlich Polyline verarbeiten, doch soll man das Hintergrundwissen haben, was zu tun ist, wenn Probleme auftauchen.

Beispiele mit Corel Draw

Corel Draw ist ideal für Graveure. Mit diesem Programm sind schönste Muster, Tiere, Pflanzen und Buchstaben in kurzer Zeit in ein Werkstück eingebracht. Viele Graviermaschinen können DXF- oder HPGL-Dateien direkt einlesen und verarbeiten. Dies ist mittlerweile auch modernen Fräsmaschinensteuerungen möglich. Jedoch längst nicht älteren CNC-Steuerungen. Diese müssen oft zwingend mit CNC-Code gefüttert werden, um Gleiches zu erreichen. Also müssen Konverter herangezogen werden, DXF-Dateien in Code für diese Maschinen zu übersetzen.

Gilt es beispielsweise, von Corel Draw erzeugte DXF-Dateien zu verarbeiten, so muss der entsprechende Konverter auf jeden Fall den Befehl ›AcDbSpline‹ erkennen und die dort eingebundene Daten korrekt handhaben. Ist dies der Fall, so können wunderbare Grafiken auch auf herkömmlichen CNC-Maschinen erstellt werden, wie eben den im Bild dargestellten Vogel, dessen einzelne Linien graviert werden können.

Wie der mit Microsoft Word geöffnete DXF-Code zeigt, werden von Corel Draw in erster Linie Splines erzeugt, um die Konturen von Elementen darzustellen. Da diese zusammenhängend eingelesen werden müssen, ist es wichtig, dass die zum Programmieren eines Konverters verwendete Programmiersprache es problemlos zulässt, große Variablen zu definieren und die einzelnen Werte über einen Index ansprechbar sind. Dies ist nicht bei jeder Programmiersprache der Fall!

Übrigens: Wer reinen Text aus Corel Draw exportiert, wird erfreut feststellen, dass dieser, wie fast alle mit Corel Draw erzeugten Objekt, in Spline-Elemente umgewandelt wird. Dadurch können Schilder einfach in ein CNC-Programm umgewandelt und auf CNC-Fräsmaschinen graviert werden.

Corel Draw legt Objekte immer als kompakte Einheit ab. In der DXF-Datei finden sich daher etwa bei Kreisen und Ellipsen stets nur die Angaben der Lage und der Größe. Sollen solche Objekte graviert werden, so müssen diese vor dem Export in einzelne Elemente umgewandelt werden. Dies geschieht in Corel Draw durch den Befehl ›In Kurven konvertieren‹. Die einzelnen Bestanteile des Objekts liegen danach in der DXF-Datei als Spline vor und können problemlos genutzt werden, um ein Gravier-CNC-Programm zu erstellen.

Bei Objekten, die aus Geraden bestehen, wie etwa Sterne ist keine Umwandlung nötig. Auch für Spiralen ist keine Umwandlung nötig, da diese von Haus aus als Spline in eine DXF-Datei exportiert werden.

Erzeugen eines CNC-Programms:

DXF-Dateien lassen sich dank ihrer lesbaren Struktur relativ einfach von entsprechenden Programmen analysieren und in CNC-Programme umwandeln. Von Nachteil ist ihre beträchtliche Größe, die durchaus hunderte Word-Seiten umfassen kann. Nach einer Übersetzung ist jedoch festzustellen, dass das erzeugte CNC-Programm nurmehr einen Bruchteil der ursprünglichen DXF-Dateigröße umfasst.

Es ist relativ einfach, aus einer DXF-Datei ein CNC-Programm zu erzeugen. Koordinaten können direkt übernommen werden, wenn Sie im metrischen System vorliegen. Nach jedem Endpunkt einer Kontur ist der Fräser beziehungsweise Stichel vom Werkstück abzuheben, dieser im Eilgang an den neuen Eintauchpunkt zu verfahren und im Vorschub auf Frästiefe zu positionieren. Dieser Ablauf muss vom Übersetzungsprogramm erzeugt werden, da in einer DXF-Datei keine Abhebebewegungen vorhanden sind. Sinnvollerweise wird dieser Prozess nach dem Erkennen des Konturendes generiert und in das CNC-Programm eingefügt.

Nachdem das CNC-Programm erzeugt wurde, kann es mit einem frei verfügbaren Simulator sofort getestet werden.

Direkte Übernahme einer DXF-Datei:

Wenn eine hochwertige Steuerung, wie etwa die Heidenhain iTNC530, zur Verfügung steht, kann man sich das Umwandeln mit einem externen Übersetzungsprogramm sparen, da die Steuerung selbst in der Lage ist, aus einer DXF-Datei ein lauffähiges CNC-Programm zu generieren. Dies ist allerdings in der Regel eine Option, die man bei Kauf derartiger Steuerungen gegen einen Aufpreis freischalten lassen kann.

Allerdings sind nicht alle Steuerungen in der Lage, jede DXF-Komponente korrekt zu erkennen. So werden etwa Rechtecke von einer Heidenhain-Steuerung überlesen. Erst wenn diese in ihre Bestanteile zerlegt werden, kann die Steuerung diese erkennen und einlesen. Sobald die DXF-Datei eingelesen ist, kann daraus sehr einfach ein CNC-Programm erzeugt werden.

 

War dieser Artikel für Sie hilfreich?

Bitte bewerten Sie diese Seite durch Klick auf die Symbole.

Zugriffe heute: 2 - gesamt: 24666.