Migration du post-processeur POST_BASE
Avant la V11.0, nous disposions de la variable globale POST_BASE pour alléger certaines répétitions inhérentes aux post-processeurs afin de faciliter leur gestion et leur organisation. Cela a semblé créer des problèmes au fil des années, c'est pourquoi nous avons cessé de le soutenir.
Ce guide vous aidera à migrer à partir de certains des anciens post-processeurs.
Post-processeurs par défaut
Si vous n'avez apporté aucune modification à votre post-processeur, vous pouvez le retrouver dans la base de données fournie par Vectric dans la boîte de dialogue Gestion du post-processeur et simplement cliquer sur « Personnaliser » pour l'ajouter à nouveau à votre dossier My_PostP.
Pour les besoins de ce guide, nous démontrerons cela sur le post-processeur Next Wave, mais les directives présentées ici peuvent être appliquées à n'importe quel post-processeur.
La base n'a pas besoin de changer
Dans ce guide, nous verrons comment remplacer l'instruction POST_BASE. Nous n'aurons jamais à modifier le post-processeur de base (référencé dans cette instruction), mais uniquement le post-processeur contenant cette instruction. Veuillez toujours sauvegarder votre fichier en premier.
Vérifiez votre sortie
Enregistrez quelques parcours d'outils en utilisant ce nouveau message et vérifiez le résultat !
Qu'est-ce qu'un poteau de base
Dans les versions précédentes du logiciel, il était alors possible pour un post-processeur d'avoir un post-processeur de base. Le post-processeur de base contenait des sections communes. Ensuite, n'importe quel autre post-processeur pourrait prendre ce post-processeur comme point de départ, écrasant les bits dont il avait besoin. Dans ce cas on dirait que ce nouveau post-processeur a hérité du post-processeur de base.
Résumé de la migration
En supposant un post-processeur Next_Wave_CNC_mm.pp
qui hérite des post-processeurs Next_Wave_CNC.pp
:
La syntaxe d'une instruction POST_BASE
typique est POST_BASE = "Next_Wave_CNC.pp"
Puisque cela n'est plus pris en charge, nous devrons remplacer cette instruction par le contenu de Next_Wave_CNC.pp
, supprimant toute duplication du contenu copié.
Exemple étape par étape
Encore une fois, en supposant que les post-processeurs Next Wave
Suivant_Wave_CNC.pp
Nous avons Next_Wave_CNC.pp
(post-processeur en pouces) avec le contenu contenant les éléments suivants,
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]"
Suivant_Wave_CNC_mm.pp
Nous avons aussi Next_Wave_CNC_mm.pp
qui en hérite comme
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]"
Résumé des modifications
Nous aimerions changer le contenu de Next_Wave_CNC_mm.pp
de telle sorte qu'il n'ait pas POST_BASE
et ne dépende pas du contenu de Next_Wave_CNC.pp
.
Vous remarquerez que Next_Wave_CNC_mm.pp
a modifié les éléments suivants :
POST_NAME
UNITS
LASER_SUPPORT
- Diverses variables
- La rubrique
HEADER
Nous devons nous assurer que ces choses restent les mêmes dans le nouveau Next_Wave_CNC_mm.pp
.
Pas
Cela servira d’ensemble d’étapes approximatives sur la façon d’aborder ce problème.
- Créez un nouveau fichier vide (appelé Next_Wave_CNC_mm_2.pp, par exemple) et copiez-y le contenu de Next_Wave_CNC.pp.
- Parcourez l'ancien post-processeur héritant (Next_Wave_CNC_mm.pp) et copiez/remplacez les variables et les sections.
- Par exemple, remplacez POST_NAME, UNITS et LASER_SUPPORT
Les débuts du nouveau post-processeur devraient ressembler à ceci
POST_NAME = "Next Wave CNC (mm)(*.tap)"
FILE_EXTENSION = "tap"
UNITS = "MM"
DIRECT_OUTPUT = ""
SUBSTITUTE = "({)}"
LASER_SUPPORT = "YES"
Continuez et remplacez/ajoutez les variables (en commençant par VAR
).
Remplacez la section de début HEADER.
Vérifiez le résultat
Différez le contenu de Next_Wave_CNC.pp
et Next_Wave_CNC_mm_2.pp
et vous devriez voir que les différences sont essentiellement le contenu de Next_Wave_CNC_mm.pp
.
Supprimez Next_Wave_CNC_mm.pp
et renommez Next_Wave_CNC_mm_2.pp
en Next_Wave_CNC_mm.pp
.
Vérifiez votre sortie
Enregistrez quelques parcours d'outils en utilisant ce nouveau message et vérifiez le résultat !