Migrazione del post-processore POST_BASE

Prima della versione V11.0, avevamo la variabile globale POST_BASE per alleviare alcune delle ripetizioni inerenti ai post-processori per semplificarne la gestione e l'organizzazione. Ciò sembrava creare problemi nel corso degli anni, quindi abbiamo smesso di supportarlo.

Questa guida aiuterà a migrare da alcuni dei vecchi post-processori.

Post-processori predefiniti

Se non hai apportato alcuna modifica al tuo post-processore, puoi ritrovarlo nel database spedito da Vectric nella finestra di dialogo Gestione post-processore e fare semplicemente clic su "Personalizza" per aggiungerlo nuovamente alla cartella My_PostP.

Ai fini di questa guida, lo dimostreremo sul post-processore Next Wave, ma le linee guida qui possono essere applicate a qualsiasi post-processore.

La base non ha bisogno di cambiare

In questa guida vedremo come sostituire l'istruzione POST_BASE. Non dovremo mai alterare il post-processore di base (a cui si fa riferimento in quella dichiarazione), ma solo il post-processore che contiene quella dichiarazione. Effettua sempre prima il backup del file.

Controlla il tuo risultato

Salva alcuni percorsi utensile utilizzando questo nuovo post e controlla l'output!

Cos'è un post base

Nelle versioni precedenti del software era possibile per un post-processore avere un post-processore di base. Il post-processore di base conteneva sezioni comuni. Quindi qualsiasi altro post-processore potrebbe prendere questo post-processore come punto di partenza, sovrascrivendo i bit necessari. In questo caso diremmo che questo nuovo post-processore ha ereditato il post-processore di base.

Riepilogo della migrazione

Supponendo un post-processore Next_Wave_CNC_mm.pp che eredita i post-processori Next_Wave_CNC.pp :

La sintassi di una tipica istruzione POST_BASE è POST_BASE = "Next_Wave_CNC.pp"

Poiché questo non è più supportato, dovremmo sostituire questa istruzione con il contenuto di Next_Wave_CNC.pp, rimuovendo qualsiasi duplicazione dal contenuto copiato.

Esempio passo dopo passo

Ancora una volta, presupponendo i post-processori Next Wave

Next_Wave_CNC.pp

Abbiamo Next_Wave_CNC.pp (post-processore pollici) con il contenuto contenente quanto segue,


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

Abbiamo anche Next_Wave_CNC_mm.pp che lo eredita come


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]"

Riepilogo delle modifiche

Vorremmo modificare il contenuto di Next_Wave_CNC_mm.pp in modo tale che non abbia POST_BASE e non dipenda dal contenuto di Next_Wave_CNC.pp.

Noterai che Next_Wave_CNC_mm.pp ha modificato quanto segue,

  1. POST_NAME
  2. UNITS
  3. LASER_SUPPORT
  4. Varie variabili
  5. La sezione HEADER

Dobbiamo garantire che queste cose rimangano le stesse nel nuovo Next_Wave_CNC_mm.pp.

Passi

Questo servirà come una serie di passaggi approssimativi su come affrontare questo problema.

  1. Creare un nuovo file vuoto (chiamato Next_Wave_CNC_mm_2.pp, ad esempio) e copiare al suo interno il contenuto di Next_Wave_CNC.pp.
  2. Passare attraverso il vecchio post-processore ereditario (Next_Wave_CNC_mm.pp) e copiare/sostituire le variabili e le sezioni.
  3. Ad esempio, sostituisci POST_NAME, UNITS e LASER_SUPPORT

L'inizio del nuovo post-processore dovrebbe assomigliare a questo

POST_NAME = "Next Wave CNC (mm)(*.tap)"
FILE_EXTENSION = "tap"
UNITS = "MM"
DIRECT_OUTPUT = ""
SUBSTITUTE = "({)}"
LASER_SUPPORT = "YES"

Continua e sostituisci/aggiungi le variabili (iniziando con VAR).

Sostituisci la sezione HEADER iniziale.

Controlla il risultato

Confronta i contenuti di Next_Wave_CNC.pp e Next_Wave_CNC_mm_2.pp e dovresti vedere che le differenze sono essenzialmente i contenuti di Next_Wave_CNC_mm.pp.

Rimuovi Next_Wave_CNC_mm.pp e rinomina Next_Wave_CNC_mm_2.pp in Next_Wave_CNC_mm.pp.

Controlla il tuo risultato

Salva alcuni percorsi utensile utilizzando questo nuovo post e controlla l'output!