Migration des Postprozessors POST_BASE
Vor Version 11.0 hatten wir die globale Variable POST_BASE als Möglichkeit, einige der Wiederholungen zu reduzieren, die Postprozessoren innewohnen, um deren Verwaltung und Organisation zu vereinfachen. Dies schien im Laufe der Jahre zu Problemen zu führen, weshalb wir die Unterstützung eingestellt haben.
Dieser Leitfaden hilft bei der Migration von einigen der alten Postprozessoren.
Standard-Postprozessoren
Wenn Sie keine Änderungen an Ihrem Postprozessor vorgenommen haben, können Sie ihn in der von Vectric gelieferten Datenbank im Postprozessor-Verwaltungsdialog wiederfinden und einfach auf „Anpassen“ klicken, um ihn erneut zu Ihrem My_PostP-Ordner hinzuzufügen.
In diesem Leitfaden demonstrieren wir dies am Next Wave-Postprozessor, die hier aufgeführten Richtlinien können jedoch auf alle Postprozessoren angewendet werden.
Die Basis muss nicht geändert werden
In dieser Anleitung erfahren Sie, wie Sie die POST_BASE-Anweisung ersetzen. Wir müssen niemals den Basis-Postprozessor (auf den in dieser Anweisung verwiesen wird) ändern, sondern nur den Postprozessor, der diese Anweisung enthält. Bitte sichern Sie immer zuerst Ihre Datei.
Überprüfen Sie Ihre Ausgabe
Speichern Sie mit diesem neuen Beitrag einige Werkzeugwege und überprüfen Sie die Ausgabe!
Was ist ein Basispfosten?
In früheren Versionen der Software war es dann möglich, dass ein Postprozessor einen Basis-Postprozessor hatte. Der Basis-Postprozessor enthielt gemeinsame Abschnitte. Dann könnte jeder andere Postprozessor diesen Postprozessor als Ausgangspunkt nehmen und die benötigten Bits überschreiben. In diesem Fall würden wir sagen, dass dieser neue Postprozessor den Basis-Postprozessor geerbt hat.
Zusammenfassung der Migration
Angenommen, ein Postprozessor Next_Wave_CNC_mm.pp
erbt die Postprozessoren Next_Wave_CNC.pp
:
Die Syntax einer typischen POST_BASE
-Anweisung lautet POST_BASE = "Next_Wave_CNC.pp"
Da dies nicht mehr unterstützt wird, müssten wir diese Anweisung durch den Inhalt von Next_Wave_CNC.pp
ersetzen und dabei jegliche Duplikate aus dem kopierten Inhalt entfernen.
Schritt-für-Schritt-Beispiel
Auch hier unter der Annahme, dass es sich um Next Wave-Postprozessoren handelt
Next_Wave_CNC.pp
Wir haben Next_Wave_CNC.pp
(Zoll-Postprozessor) mit folgendem Inhalt:
POST_NAME = "Next Wave CNC (inch)(*.tap)"
FILE_EXTENSION = "tap"
UNITS = "INCHES"
DIRECT_OUTPUT = ""
SUBSTITUTE = "({)}"
LASER_SUPPORT = "YES"
+------------------------------------------------
+ Line terminating characters
+------------------------------------------------
LINE_ENDING = "[13][10]"
+------------------------------------------------
+ Block numbering
+------------------------------------------------
LINE_NUMBER_START = 0
LINE_NUMBER_INCREMENT = 10
LINE_NUMBER_MAXIMUM = 999999
+================================================
+
+ Formating for variables
+
+================================================
VAR LINE_NUMBER = [N|A|N|1.0]
VAR POWER = [P|A| S|1.0|10]
VAR SPINDLE_SPEED = [S|A|S|1.0]
VAR CUT_RATE = [FC|A|F|1.1]
VAR PLUNGE_RATE = [FP|A|F|1.1]
VAR X_POSITION = [X|A| X|1.4]
VAR Y_POSITION = [Y|A| Y|1.4]
VAR Z_POSITION = [Z|A| Z|1.4]
VAR ARC_CENTRE_I_INC_POSITION = [I|A| I|1.4]
VAR ARC_CENTRE_J_INC_POSITION = [J|A| J|1.4]
VAR X_HOME_POSITION = [XH|A| X|1.4]
VAR Y_HOME_POSITION = [YH|A| Y|1.4]
VAR Z_HOME_POSITION = [ZH|A| Z|1.4]
VAR DWELL_TIME = [DWELL|A|P|1.2]
+================================================
+
+ Block definitions for toolpath output
+
+================================================
+---------------------------------------------------
+ Commands output at the start of the file
+---------------------------------------------------
begin HEADER
"( [TP_FILENAME] )"
"( File created: [DATE] - [TIME])"
"( for Next Wave Automation from Vectric )"
"( Material Size)"
"( X= [XLENGTH], Y= [YLENGTH], Z= [ZLENGTH])"
"( Z Origin for Material = [Z_ORIGIN])"
"( XY Origin for Material = [XY_ORIGIN])"
"( XY Origin Position = X:[X_ORIGIN_POS], Y:[Y_ORIGIN_POS])"
"( Home Position)"
"( X = [XH] Y = [YH] Z = [ZH])"
"( Safe Z = [SAFEZ])"
"([FILE_NOTES])"
"(Toolpaths used in this file:)"
"([TOOLPATHS_OUTPUT])"
"(Tool used in this file: )"
"([TOOLS_USED])"
"([TOOLNAME])"
"(|---------------------------------------)"
"(| Toolpath:- '[TOOLPATH_NAME]' )"
"(|---------------------------------------)"
"G90"
"G20"
"[FC]"
Next_Wave_CNC_mm.pp
Wir haben auch Next_Wave_CNC_mm.pp
was es erbt als
POST_NAME = "Next Wave CNC (mm)(*.tap)"
POST_BASE = "Next_Wave_CNC.pp"
UNITS = "MM"
LASER_SUPPORT = "YES"
+================================================
+
+ Formating for variables
+
+================================================
VAR LINE_NUMBER = [N|A|N|1.0]
VAR POWER = [P|A| S|1.0|10]
VAR SPINDLE_SPEED = [S|A|S|1.0]
VAR CUT_RATE = [FC|A|F|1.1]
VAR PLUNGE_RATE = [FP|A|F|1.1]
VAR X_POSITION = [X|A| X|1.3]
VAR Y_POSITION = [Y|A| Y|1.3]
VAR Z_POSITION = [Z|A| Z|1.3]
VAR ARC_CENTRE_I_INC_POSITION = [I|A| I|1.3]
VAR ARC_CENTRE_J_INC_POSITION = [J|A| J|1.3]
VAR X_HOME_POSITION = [XH|A| X|1.3]
VAR Y_HOME_POSITION = [YH|A| Y|1.3]
VAR Z_HOME_POSITION = [ZH|A| Z|1.3]
VAR DWELL_TIME = [DWELL|A|P|1.2]
+================================================
+
+ Block definitions for toolpath output
+
+================================================
+---------------------------------------------------
+ Commands output at the start of the file
+---------------------------------------------------
begin HEADER
"( [TP_FILENAME] )"
"( File created: [DATE] - [TIME])"
"( for Next Wave Automation from Vectric )"
"( Material Size)"
"( X= [XLENGTH], Y= [YLENGTH], Z= [ZLENGTH])"
"( Z Origin for Material = [Z_ORIGIN])"
"( XY Origin for Material = [XY_ORIGIN])"
"( XY Origin Position = X:[X_ORIGIN_POS], Y:[Y_ORIGIN_POS])"
"( Home Position)"
"( X = [XH] Y = [YH] Z = [ZH])"
"( Safe Z = [SAFEZ])"
"([FILE_NOTES])"
"(Toolpaths used in this file:)"
"([TOOLPATHS_OUTPUT])"
"(Tool used in this file: )"
"([TOOLS_USED])"
"([TOOLNAME])"
"(|---------------------------------------)"
"(| Toolpath:- '[TOOLPATH_NAME]' )"
"(|---------------------------------------)"
"G90"
"G21"
"[FC]"
Zusammenfassung der Änderungen
Wir möchten den Inhalt von Next_Wave_CNC_mm.pp
so ändern, dass er nicht POST_BASE
hat und nicht vom Inhalt von Next_Wave_CNC.pp
abhängt.
Sie werden feststellen, dass Next_Wave_CNC_mm.pp
Folgendes geändert hat:
POST_NAME
UNITS
LASER_SUPPORT
- Verschiedene Variablen
- Der Abschnitt
HEADER
Wir müssen sicherstellen, dass diese Dinge im neuen Next_Wave_CNC_mm.pp
beibehalten werden.
Schritte
Dies dient als grober Überblick über die Vorgehensweise.
- Erstellen Sie eine neue leere Datei (z. B. mit dem Namen Next_Wave_CNC_mm_2.pp) und kopieren Sie den Inhalt von Next_Wave_CNC.pp hinein.
- Gehen Sie den alten erbenden Postprozessor (Next_Wave_CNC_mm.pp) durch und kopieren/ersetzen Sie die Variablen und Abschnitte.
- Ersetzen Sie beispielsweise POST_NAME, UNITS und LASER_SUPPORT
Die Anfänge des neuen Postprozessors sollten in etwa so aussehen
POST_NAME = "Next Wave CNC (mm)(*.tap)"
FILE_EXTENSION = "tap"
UNITS = "MM"
DIRECT_OUTPUT = ""
SUBSTITUTE = "({)}"
LASER_SUPPORT = "YES"
Machen Sie weiter und ersetzen/fügen Sie die Variablen hinzu (beginnend mit VAR
).
Ersetzen Sie den Abschnitt begin HEADER.
Überprüfen Sie das Ergebnis
Vergleichen Sie den Inhalt von Next_Wave_CNC.pp
und Next_Wave_CNC_mm_2.pp
und Sie sollten sehen, dass die Unterschiede im Wesentlichen auf den Inhalt von Next_Wave_CNC_mm.pp
zurückzuführen sind.
Entfernen Sie Next_Wave_CNC_mm.pp
und benennen Sie Next_Wave_CNC_mm_2.pp
in Next_Wave_CNC_mm.pp
um.
Überprüfen Sie Ihre Ausgabe
Speichern Sie mit diesem neuen Beitrag einige Werkzeugwege und überprüfen Sie die Ausgabe!