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 nicht schneiden.
- Der Endpunkt jedes Elements in beiden Achsen muss immer größer oder gleich dem Startpunkt sein (Vermeidung von Hinterschneidungen).
- Einige Parameter stehen im Widerspruch zueinander. Zum Beispiel kann eine schräge Linie nicht eine feste Länge und gleichzeitig eine absolute Zielkoordinate haben.
Skriptablauf
Ein Werkzeugskript funktioniert nach folgendem Prinzip: Das Skript wird von der obersten Zeile bis zur letzten Zeile abgearbeitet.
Für jedes zu erzeugende Segment werden zunächst alle Parameter mit unterschiedlichen Funktionen gesetzt. Anschließend wird der Befehl zur Erzeugung des Segments gegeben.
Das Werkzeug wird von der Werkzeugspitze aus konstruiert. Das erste Element beginnt immer bei X0 und Z0. Die Geometrie endet immer am maximalen Radius des Werkzeugendes, also am Schaftende.
Geometrieparameter
Alle Längenangaben werden als Benutzereinheiten interpretiert.
Alle Gradangaben beginnen bei 0° (parallel der Werkzeugachse, in der Vorschau senkrecht) und reichen bis 90° (senkrecht zur Werkzeugachse, in der Vorschau horizontal).
Absolute Koordinatenangaben beziehen sich auf den Werkzeugradius (nicht auf den Durchmesser).
Beispiel
tl = s2.tlgeo.new() -- Create a new tool geometry definition
tl:depthOfCut(5) -- Height of the cutting edge (always needed)
tl:toX(2) -- next line should reach global tool radius of 2
tl:emitLine() -- emit line
tl:arcRad(2) -- next arc should have a radius of 2
tl:slopeOut(10) -- next arc should end with angle 10
tl:emitArcA() -- emit arc
tl:tangent() -- next arc should be tangent to the last arc
tl:length(20) -- next line should have length 20
tl:emitLine() -- emit line
tl:slopeIn(45) -- next line should have a slope of 45
tl:toX(12) -- next line should have a global tool radius of 12
tl:emitLine() -- emit line
tl:toZ(80) -- next line should have a global tool length of 80
tl:emitLine() -- emit line
return tl -- return the generated tool geometry to the system

Bemerkung
Dieses Beispiel zeigt, wie mit nur wenigen Zeilen eine komplexe Werkzeuggeometrie erzeugt werden kann.