macro

Anonymous

macro

Anonymous
Not applicable

Salve, volevo sapere se all'interno di una macro esiste un modo per far scrivere nel programma nc in automatico soltanto i percorsi calcolati in modo corretto

0 Likes
Reply
Accepted solutions (2)
696 Views
6 Replies
Replies (6)

TK.421
Advisor
Advisor
Accepted solution

la prima macro inserirà tutti i percorsi utensile calcolati. la seconda macro inserirà tutti i percorsi utensile che hai selezionato in explorer. Questo ti aiuta?

 

STRING name = INPUT "Inserire il nome del programma NC"
CREATE NCPROGRAM $name
FOREACH tp IN Folder ('Toolpath') {
	IF $tp.computed {
		EDIT NCPROGRAM $name APPEND TOOLPATH $tp.name
	}
}
STRING name = INPUT "Inserire il nome del programma NC"
CREATE NCPROGRAM $name
FOREACH tp IN explorer_selected_entities() {
     EDIT NCPROGRAM $name APPEND TOOLPATH $tp.name
}

the numbers never lie
0 Likes

v.campo
Explorer
Explorer
Purtroppo usando questa seconda macro, selezionando n-percorsi utensile, mi viene chiesto n-volte in input di inserire il nome del programma NC, mi aspettavo che avendo acquisito il nome nella variabile $name prima del ciclo FOREACH, non lo chiedesse più.
Vi ringrazio in anticipo per qualunque chiarimento in merito.

Unfortunately using this second macro, selecting n-toolpaths, it asks me n-times to enter the name of the NC program, I expected that having acquired the name in the $ name variable before the FOREACH loop start, it would not ask for it anymore.
Thank you in advance for any clarification.

Antonio A.
0 Likes

TK.421
Advisor
Advisor

Puoi pubblicare il codice specifico di ciò che stai utilizzando? Mentre viene scritta la seconda macro sopra, ti chiederà il nome solo una volta, prima del ciclo. Sospetto che tu abbia accidentalmente bloccato la riga "STRING name" all'interno del tuo loop.


the numbers never lie
0 Likes

v.campo
Explorer
Explorer

Ho semplicemente fatto copia incolla del codice sopra

 

 

STRING name = INPUT "Inserire il nome del programma NC"
CREATE NCPROGRAM $name
FOREACH tp IN explorer_selected_entities() {
     EDIT NCPROGRAM $name APPEND TOOLPATH $tp.name
}

 

 

ed ho aggiunto nel menu toolpath.xml questa riga

 

 

<button label="Test selezionati" command='MACRO "C:\pmill4\macro\Test.mac" "%s"' multiple_selection="allowed"/>

 

 

fatto ciò, seleziono i percorsi utensile da inserire nel programma NC e con il menu utente  (entità specifica), tasto destro, lancio la macro sopra.

Inserisco il nome del programma NC da creare, confermo e riappare la finestra che mi chiede nuovamente il nome, metto un altro nome se no ottengo un errore "ProgrammaNC 1234 esiste già

Errore ProgrammaNC esiste già.png

 

Mettendo nomi diversi (3 nomi per 3 percorsi ad esempio) ottengo 3 programmi NC ma con dentro ovviamente i mie 3 percorsi utensile

ProgrammiNC.png

 

Spero tu riesca a capire dove sbaglio, grazie mille in anticipo.

Antonio A.

0 Likes

TK.421
Advisor
Advisor
Accepted solution

Rimuovere le "%s" dalla riga del file xml. dovrebbe essere letto così:

 

 

<button label="Test selezionati" command='MACRO "C:\pmill4\macro\Test.mac"' multiple_selection="allowed"/>

 

 

La "%s" indica a PowerMill di eseguire tale macro per ogni percorso utensile selezionato


the numbers never lie

v.campo
Explorer
Explorer

Grazie mille, in effetti il problema era proprio quello e così ho risolto.

A questo punto ho fatto altre due prove che sono andate a buon fine, come ulteriore conferma che il problema non era la macro ma il parametro "%s" di cui non conoscevo la funzione fino ad oggi:

1) associando alla macro una scorciatoia da tastiera

2) associando la macro ad un pulsante sul ribbon

 

Grazie ancora per la tua disponibiltà,

Antonio A.

0 Likes