El ejemplo muestra cómo crear una macro que utiliza un valor de la distancia de seguridad definido por el usuario para detección de colisiones en las trayectorias de seleccionadas. 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 "
}
}
Introduzca todas las líneas sin saltos de línea. Aquí, algunas líneas pueden parecer que incluyen saltos de línea debido a un ancho de página limitado.