Features Preis Downloads Galerie Handbuch
en

Modul - Werkzeugskript <PRO>

Dieses Lua-Modul wird im Werkzeugeditor eingesetzt und stellt Funktionen zur Verfügung, um die Werkzeuggeometrie zu erstellen. Mit diesem Modul können Konstruktionselemente wie Linien und Bögen erzeugt werden, aus denen das Rotationsprofil für das Werkzeug erzeugt wird. Die Ausrichtung und Abmessungen der Konstruktionselemente unterliegen gewissen Einschränkungen:

  • Die Elemente dürfen nicht die Werkzeugachse kreuzen
  • Die Elemente dürfen keinen Hinterschnitt in beiden Richtungen in der Geometrie erzeugen

Mit anderen Worten, der Endpunkt eines Elements hat immer einen größeren oder in eine Richtung gleichen Wert als der Startpunkt.

Skriptablauf

Ein Werkzeugskript funktioniert nach folgendem Prinzip: Das Skript wird von der obersten Zeile bis zur letzten Zeile abgearbeitet. Bevor der Befehl für die Erzeugung eines Elements gegeben wird, werden durch Funktionen die Parameter für dieses Element festgelegt. Nach Erzeugung eines Elements, werden alle Parameter zurückgesetzt und müssen für das folgende Element neu gesetzt werden.

Das Werkzeug wird ausgehend von der Werkzeugspitze konstruiert. Das erste Element beginnt stets bei X0 und Z0. Die Geometrie endet immer am maximalen Radius des Werkzeugendes, in der Regel am Schaftende.

Das folgende Beispielskript für die Erzeugung eines Torusfräsers soll dies verdeutlichen:

Torus © vxcraft.com
Torusfräser

to_x(3)      -- Das nächste Element
             -- endet an Position X3
to_z(0)      -- Das nächste Element
             -- endet an Position Z0
line()       -- Erzeuge eine Linie mit 
             -- den gesetzten Parametern

tangent()    -- Das Nächste schließt sich dem 
             -- letzten Element tangential an
arc_rad(3)   -- Der Bogenradius beträgt 3
slope_out(0) -- Der Austrittswinkel verläuft 
             -- parallel zur Werkzeugachse
arc_a()      -- Erzeuge einen Bogen im
             -- Uhrzeigersinn

tangent()    -- Das Nächste schließt sich dem
             -- letzten Element tangential an
length(30)   -- und die Linie hat eine 
             -- Länge von 30
line()       -- erzeuge die Linie mit den 
             -- gesetzten Parametern

cutedge(5)	 -- Die Werkzeugschneide 
             -- reicht bis zu Z5

Parameterfunktionen

Alle Längenangaben werden als Nutzereinheiten interpretiert.

Nicht alle Funktionen sind miteinander kompatibel, da einige Kombinationen Widersprüche erzeugen können. Zum Beispiel ist es nicht möglich, einen Winkel mit slope_in() anzugeben, wenn der Zielpunkt einer Linie bereits durch to_x() und to_z() bestimmt wurde und sich daraus der Winkel ableitet.

Ein weiteres Beispiel betrifft einen Bogen, der mithilfe der Funktion tangent() tangential an eine Linie anschließt. In diesem Fall ist der Eintrittswinkel bereits festgelegt und kann nicht zusätzlich mit slope_in() angegeben werden.

Funktion slope_in(grad)
Element Bögen, Linien
Beschreibung Gibt den Eintrittswinkel für das nächste Element an.
Wertebereich 0°-90°
0°: Der Winkel steht parallel zur Werkzeugachse (vertikal)
90°: Der Winkel ist horizontal
Beispiel slope_in(45) -- zB. für Gravurwerkzeugspitze
Funktion slope_out(grad)
Element Bögen
Beschreibung Gibt den Austrittswinkel für den Bogen an.
Wertebereich 0°-90°
0°: Der Winkel steht parallel zur Werkzeugachse (vertikal)
90°: Der Winkel ist horizontal
Beispiel slope_out(0) -- Element endet in vertikaler Ausrichtung
Funktion tangent()
Element Bögen, Linien
Beschreibung Das nächste Element schließt sich tangential dem letzten Element an. Durch diese Funktion wird der Eintrittsradius des nächsten Elements bestimmt.
Beispiel tangent() -- Element schließt sich tangential an.
Funktion to_x(abs_position)
Element Linien
Beschreibung Gibt die absolute X-Zielposition der Linie vor. Die Linie muss dabei nicht zwingend horizontal verlaufen.
Wertebereich Die Zielposition muss größer oder gleich der Startposition sein.
Beispiel to_x(30) -- Linie endet an Position X30
Funktion to_z(abs_position)
Element Linien
Beschreibung Gibt die absolute Z-Zielposition der Linie vor. Die Linie muss dabei nicht zwingend vertikal verlaufen.
Wertebereich Die Zielposition muss größer oder gleich der Startposition sein.
Beispiel to_x(30) -- Linie endet an Position X30
Funktion length(wert)
Element Linien
Beschreibung Bestimmt die Länge der Linie, unabhängig der Ausrichtung
Wertebereich > 0
Beispiel length(5) -- Die Linie hat eine Länge von 5
Funktion arc_rad(radius)
Element Bögen
Beschreibung Bestimmt den Radius für einen Bogen.
Wertebereich > 0
Beispiel arc_rad(3) -- Der Bogen hat einen Radius von 3

Erzeugung

Die nachfolgenden Funktionen erstellen die Konstruktionselemente basierend auf den zuvor festgelegten Parametern.

Optional kann ein Fehlerbeschreibungs-String als Argument übergeben werden. Sollte die Erstellung des Elements fehlschlagen, wird diese Fehlerbeschreibung als Fehlermeldung angezeigt. Dies erleichtert die Lokalisierung von Fehlern bei komplexen Geometrien.

Funktion line(optional_error_string)
Element Linie
Beschreibung Erzeugt eine Linie mit den zuvor festgelegten Parametern. Es muss sichergestellt werden, dass der Wert für den Endpunkt in beiden Richtungen größer oder gleich dem Startpunkt ist.
Beispiel line("Schaftübergang konnte nicht erzeugt werden.")
Funktion arc_a(optional_error_string)
Element Bogen im Uhrzeigersinn
Beschreibung Erzeugt einen Bogen im Uhrzeigersinn mit den zuvor festgelegten Parametern. Unabhängig von der Berechnung der Ein- und Austrittswinkel muss gewährleistet sein, dass der Austrittswinkel kleiner als der Eintrittswinkel ist.
Beispiel arc_a("Bogen für Werkzeugspitze konnte nicht erzeugt werden")
Funktion arc_b(optional_error_string)
Element Bogen gegen den Uhrzeigersinn
Beschreibung Erzeugt einen Bogen gegen den Uhrzeigersinn mit den zuvor festgelegten Parametern. Unabhängig von der Berechnung der Ein- und Austrittswinkel muss gewährleistet sein, dass der Austrittswinkel größer als der Eintrittswinkel ist.
Beispiel arc_b("Bogen für Abrundfräser konnte nicht erzeugt werden")

Allgemeine Funktionen

Die folgenden Funktionen betreffen das Werkzeug im Allgemeinen.

Funktion cutedge(position_z)
Beschreibung Die Werkzeugschneide reicht bis zu dieser Höhe. Die Funktion ist für alle Werkzeuge notwendig. Sie ist unabhängig von anderen Funktionen und kann sich an einer beliebigen Stelle im Skript befinden.
Wertebereich > 0
Beispiel cutedge(12) -- Die Werkzeugschneidgeometrie reicht bis zu Z12
Funktion autocolltol()
Beschreibung Dieser Befehl aktiviert die automatische Berechnung der Kollisionstoleranz. Die Kollisionstoleranz wird im Kapitel über die vordefinierten Werkzeuge näher beschrieben.
Beispiel autocolltol() -- Aktiviert die automatische Berechnung der Kollisionstoleranz
< ZurücktopWeiter >