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.ppersetzen 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.ppabhängt.

Sie werden feststellen, dass Next_Wave_CNC_mm.pp Folgendes geändert hat:

  1. POST_NAME
  2. UNITS
  3. LASER_SUPPORT
  4. Verschiedene Variablen
  5. Der Abschnitt HEADER

Wir müssen sicherstellen, dass diese Dinge im neuen Next_Wave_CNC_mm.ppbeibehalten werden.

Schritte

Dies dient als grober Überblick über die Vorgehensweise.

  1. 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.
  2. Gehen Sie den alten erbenden Postprozessor (Next_Wave_CNC_mm.pp) durch und kopieren/ersetzen Sie die Variablen und Abschnitte.
  3. 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.ppzurückzuführen sind.

Entfernen Sie Next_Wave_CNC_mm.pp und benennen Sie Next_Wave_CNC_mm_2.pp in Next_Wave_CNC_mm.ppum.

Überprüfen Sie Ihre Ausgabe

Speichern Sie mit diesem neuen Beitrag einige Werkzeugwege und überprüfen Sie die Ausgabe!