L'exemple suivant montre comment créer une macro qui utilise une valeur de garde définie par l'utilisateur pour la vérification des collisions sur les parcours d'outils. La macro :
Function Main(
STRING $Selected_Toolpath
)
{
// Create new project parameter to store the holder clearance
BOOL $chk = 0
$chk = ERROR $project.clearance
if $chk {
// Project variable does not exist. Create it and set it to 5 degrees
EDIT PAR CREATE REAL "clearance"
}
// Before checking the first toolpath, PowerMILL should ask the user to enter the holder clearance
IF($powermill.Status.MultipleSelection.First) OR $powermill.Status.MultipleSelection.Total == 0 {
$project.clearance = INPUT ${"Enter the holder clearance PowerMILL uses when checking the " + $powermill.Status.MultipleSelection.Total + " selected toolpaths for collisions "}
}
// Now collision check toolpath with entered clearance
// Set the clearance:
EDIT COLLISION HOLDER_CLEARANCE $project.clearance
// Now check the toolpath for collisions
EDIT COLLISION TYPE COLLISION
PRINT = "Processing toolpath " + $powermill.Status.MultipleSelection.Count
EDIT COLLISION APPLY
// Tell user all selected toolpaths have been checked
IF ($powermill.Status.MultipleSelection.Last) {
MESSAGE INFO "All toolpaths have been checked "
}
}
Remplissez toutes les lignes sans sauts de ligne. Certaines de ces lignes peuvent comprendre des sauts de ligne en raison d'une largeur limitée de la page.