How to install macros/it: Difference between revisions
Renatorivo (talk | contribs) No edit summary |
(Updating to match new version of source page) |
||
Line 32: | Line 32: | ||
<div class="toccolours mw-collapsible mw-collapsed"> |
<div class="toccolours mw-collapsible mw-collapsed"> |
||
Le macro vengono create in una cartella specifica nella directory di FreeCAD dell'utente. Questa directory può essere configurata nel dialogo [[Std_DlgMacroExecuteDirect/it|Esegui macro]], o nel [[Preferences Editor/it|Editor delle preferenze]], attraverso il menu {{MenuCommand|Modifica → Preferenze → Generali → Macro → Impostazioni di registrazione delle macro}}. |
|||
Macros are created in a specific folder under the user's FreeCAD directory. This directory can be configured in the [[Std_DlgMacroExecuteDirect|execute macro dialog]], or in the [[Preferences Editor|Preferences Editor]], through the menu {{MenuCommand|Edit → Preferences → General → Macro → Macro recording settings}}. |
|||
Anche le macro scaricate dovrebbero essere collocate in questa directory. |
Anche le macro scaricate dovrebbero essere collocate in questa directory. |
||
<div class="mw-collapsible-content"> |
|||
<div class="mw-translate-fuzzy"> |
|||
<div class="mw-collapsible-content"> |
<div class="mw-collapsible-content"> |
||
=== Directory di default === |
=== Directory di default === |
||
Le macro possono essere semplicemente copiate in |
Le macro possono essere semplicemente copiate in |
||
{{Code|code= |
|||
$ROOT_DIR/ |
|||
}} |
|||
⚫ | |||
{{Code|code= |
{{Code|code= |
||
$ROOT_DIR/ |
$ROOT_DIR/ |
||
Line 91: | Line 100: | ||
== Installare le macro == |
== Installare le macro == |
||
<div class="toccolours mw-collapsible mw-collapsed"> |
|||
<div class="mw-translate-fuzzy"> |
|||
<div class="toccolours mw-collapsible mw-collapsed"> |
<div class="toccolours mw-collapsible mw-collapsed"> |
||
=== Metodo automatico === |
=== Metodo automatico === |
||
</div> |
|||
A partire da FreeCAD 0.17, utilizzare [[Addon Manager/it|Addon Manager]] in {{MenuCommand|Strumenti → Addon manager}} per installare una macro che è stata inclusa nel repository [https://github.com/FreeCAD/FreeCAD-macros FreeCAD-macros]. |
A partire da FreeCAD 0.17, utilizzare [[Addon Manager/it|Addon Manager]] in {{MenuCommand|Strumenti → Addon manager}} per installare una macro che è stata inclusa nel repository [https://github.com/FreeCAD/FreeCAD-macros FreeCAD-macros]. |
||
<div class="mw-collapsible-content"> |
<div class="mw-collapsible-content"> |
||
Nelle versioni precedenti di FreeCAD è possibile utilizzare due metodi automatici per installare macro e altri componenti aggiuntivi: |
|||
⚫ | |||
⚫ | |||
In past versions of FreeCAD you could use two automated ways to install macros and other addons: |
|||
⚫ | |||
⚫ | |||
<div class="mw-translate-fuzzy"> |
|||
Il metodo consigliato per installare i componenti aggiuntivi, ovvero gli [[external workbenches/it|ambienti esterni]] e le macro, è [[Addon Manager/it|Addon Manager]]. Tuttavia, è ancora possibile aggiungere delle macro al prorpio sistema con i metodi manuali descritti nelle seguenti sezioni; questo è utile per sviluppare e testare il proprio codice. |
Il metodo consigliato per installare i componenti aggiuntivi, ovvero gli [[external workbenches/it|ambienti esterni]] e le macro, è [[Addon Manager/it|Addon Manager]]. Tuttavia, è ancora possibile aggiungere delle macro al prorpio sistema con i metodi manuali descritti nelle seguenti sezioni; questo è utile per sviluppare e testare il proprio codice. |
||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
</div> |
||
</div> |
</div> |
||
Line 112: | Line 131: | ||
<div class="mw-collapsible-content"> |
<div class="mw-collapsible-content"> |
||
We will use [[Image:Part_Prism_Apothem.svg|24px]] [[Macro_Apothem_Based_Prism_GUI|Macro Apothem Based Prism GUI]] as an example. |
|||
1. Andare alla pagina wiki della macro, che dovrebbe essere elencata in [[Macros recipes/it|Raccolta di macro]]. |
1. Andare alla pagina wiki della macro, che dovrebbe essere elencata in [[Macros recipes/it|Raccolta di macro]]. |
||
Line 200: | Line 220: | ||
<div class="mw-translate-fuzzy"> |
<div class="mw-translate-fuzzy"> |
||
[[File:Macro Install HowTo 26.png|640px|center|The macro is now in the FreeCAD editor]] |
[[File:Macro Install HowTo 26.png|640px|center|The macro is now in the FreeCAD editor]] |
||
</div> |
|||
</div> |
|||
</div> |
</div> |
||
Line 215: | Line 238: | ||
<div class="mw-collapsible-content"> |
<div class="mw-collapsible-content"> |
||
We will use [[Image:Text-x-python.png|24px]] [[Macro_screw_maker1_2|Macro screw maker]] as an example. |
We will use [[Image:Text-x-python.png|24px]] [[Macro_screw_maker1_2|Macro screw maker]] as an example. |
||
Line 222: | Line 246: | ||
Per decomprime i file in Windows si può usare una delle seguenti applicazioni free: [http://www.7-zip.org/ 7-zip] o [http://www.kanmandet.dk/?p=37 L-Zarc] o [http://www.quickzip.org/quickzip51.html quickzip] |
Per decomprime i file in Windows si può usare una delle seguenti applicazioni free: [http://www.7-zip.org/ 7-zip] o [http://www.kanmandet.dk/?p=37 L-Zarc] o [http://www.quickzip.org/quickzip51.html quickzip] |
||
</div> |
</div> |
||
{{Code|code= |
|||
unzip your_file.zip -d your_directory |
|||
}} |
|||
<div class="mw-translate-fuzzy"> |
<div class="mw-translate-fuzzy"> |
||
Line 290: | Line 318: | ||
<div class="mw-translate-fuzzy"> |
<div class="mw-translate-fuzzy"> |
||
[[Image:Macro Install HowTo 30.png|center|640px|Whaouu]] |
[[Image:Macro Install HowTo 30.png|center|640px|Whaouu]] |
||
</div> |
|||
</div> |
|||
</div> |
|||
== Execute a macro in command line == |
|||
<div class="toccolours mw-collapsible mw-collapsed"> |
|||
Command line execute a macro (.FCMacro or .py) |
|||
<div class="mw-collapsible-content"> |
|||
on Windows |
|||
{{Code|code= |
|||
"C:\Program Files\FreeCAD\bin\FreeCAD.exe" "C:\Users\userName\AppData\Roaming\FreeCAD\Mod\WorkFeature\start_WF.FCMacro" |
|||
}} |
|||
on Linux |
|||
{{Code|code= |
|||
todo |
|||
}} |
|||
</div> |
|||
</div> |
</div> |
||
Line 402: | Line 456: | ||
[[Image:Macro Install HowTo 13.png|center|Perfect code]] |
[[Image:Macro Install HowTo 13.png|center|Perfect code]] |
||
</div> |
</div> |
||
</div> |
|||
</div> |
|||
<div class="toccolours mw-collapsible mw-collapsed"> |
|||
<div class="mw-translate-fuzzy"> |
<div class="mw-translate-fuzzy"> |
||
Line 414: | Line 473: | ||
If no information is displayed, make sure the report view and [[Python|Python]] console are visible, and that the output is directed tot he report view. |
If no information is displayed, make sure the report view and [[Python|Python]] console are visible, and that the output is directed tot he report view. |
||
<div class="mw- |
<div class="mw-collapsible-content"> |
||
FreeCAD usa due metodi per visualizzare le informazioni nella finestra della vista report. |
|||
⚫ | |||
==== Printing information ==== |
==== Printing information ==== |
||
Line 424: | Line 481: | ||
'''1 : Comandi''' |
'''1 : Comandi''' |
||
</div> |
</div> |
||
{{Code|code= |
{{Code|code= |
||
FreeCAD.Console.PrintMessage("Hello World! \n") |
FreeCAD.Console.PrintMessage("Hello World! \n") |
||
Line 433: | Line 491: | ||
oppure |
oppure |
||
</div> |
</div> |
||
{{Code|code= |
{{Code|code= |
||
print("Hello World!") |
print("Hello World!") |
||
Line 511: | Line 570: | ||
<div class="mw-translate-fuzzy"> |
<div class="mw-translate-fuzzy"> |
||
[[Image:Macro Install HowTo 38.png|center|640px|the setup is complete]] |
[[Image:Macro Install HowTo 38.png|center|640px|the setup is complete]] |
||
</div> |
|||
</div> |
|||
</div> |
</div> |
Revision as of 18:20, 4 September 2019
Tutorial |
Argomento |
---|
Programmazione e Configurazione |
Livello di difficoltà |
Medio |
Tempo di esecuzione |
15 minuti |
Autori |
Mario52 |
Versione di FreeCAD |
Tutte |
Files di esempio |
Nessuno |
Vedere anche |
Nessuno |
Descrizione
Questo pagina è una breve guida su come installare le macro e utlizzarle in FreeCAD.
Le macro sono sequenze di comandi che vengono utilizzati per eseguire un'operazione complessa. Le macro sono degli script Python, il che significa che sono file di testo che possono essere scritti e modificati con un editor di testo.
Sebbene gli script Python abbiano normalmente l'estensione .py
, le macro di FreeCAD dovrebbero avere l'estensione .FCMacro
. Una raccolta di macro scritte da utenti esperti si trova nella pagina Raccolta di macro.
Vedere la pagina Introduzione a Python per conoscere il linguaggio di programmazione Python e poi le pagine Guida agli script Python e Script di base per FreeCAD per imparare a scrivere delle macro.
Questo è un video su come installare le macro in FreeCAD in Ubuntu.
Barra degli strumenti
Menu
Oltre agli strumenti nella barra degli strumenti, nel menu Macro sono disponibili anche le seguenti funzioni.
- Avvia il debug
- Interrompi il debug
- Passo succesivo
- Un passo
- Attiva/Disattiva punto di interruzione
Directory delle macro
Macros are created in a specific folder under the user's FreeCAD directory. This directory can be configured in the execute macro dialog, or in the Preferences Editor, through the menu Edit → Preferences → General → Macro → Macro recording settings.
Anche le macro scaricate dovrebbero essere collocate in questa directory.
Directory di default
Le macro possono essere semplicemente copiate in
$ROOT_DIR/
$ROOT_DIR/
dove $ROOT_DIR
è una directory di primo livello ricercata da FreeCAD all'avvio.
La $ROOT_DIR
può essere una directory di sistema, nel qual caso la macro viene installata per tutti gli utenti.
- Di solito in Linux è
/usr/share/freecad/
- Di solito in Windows è
C:\Program Files\FreeCAD\
- Di solito in Mac OSX è
/Applications/FreeCAD/
La $ROOT_DIR
può essere la directory di un utente particolare.
- Su Linux di solito è
/home/username/.FreeCAD/
- Su Windows di solito è
C:\Users\username\Application Data\FreeCAD\
- Su Mac OSX di solito è
/Users/username/Library/Preferences/FreeCAD/
Configurazione della directory utente
1. Aprire il menu Macro → Macro... per aprire la finestra di dialogo Esegui la macro.
Apertura della finestra di dialogo della macro
2. Impostare l'appropriata Posizione delle macro utente
.
- Linux: generalmente
/home/username/.FreeCAD/
- Windows: generalmente
C:\Users\username\AppData\Roaming\FreeCAD\
- MacOS: generalmente
/Users/username/Library/Preferences/FreeCAD/
Impostazione della directory delle macro
3. Passare a quella directory sul proprio computer.
- Linux: incollare l'indirizzo nel file manager, "Nautilus" o altro. Potrebbe essere necessario premere Ctrl + H per rendere visibile la directory nascosta
.FreeCAD/
. - Windows: incollare l'indirizzo nel "File explorer" e confermare.
- MacOS: individuare la cartella in "Finder" o incollare l'indirizzo in un "File explorer"; ricordare il prefisso
file:///
nel "File explorer" per un file su disco.
Accesso alla directory delle macro nel sistema operativo
4. Aggiungere il file macro a questa directory.
- Linux: lasciare aperto il file manager e aggiungere il segnalibro alla posizione per un accesso più rapido.
- Windows: lasciare aperto il file explorer.
- MacOS: lasciare una finestra "Finder" aperta, o aggiungere un segnalibro alla posizione nel "File explorer", oppure impostare un "Alias" per puntare ad esso, o trascinare la cartella nella "SideBar" del "Finder" così è disponibile per altri programmi di editor di testo.
Directory delle Macro
Installare le macro
Metodo automatico
A partire da FreeCAD 0.17, utilizzare Addon Manager in Strumenti → Addon manager per installare una macro che è stata inclusa nel repository FreeCAD-macros.
In past versions of FreeCAD you could use two automated ways to install macros and other addons:
- addons_installer.FCMacro: itself a macro, this was the precursor to the Addon Manager, and is hosted in the FreeCAD-addons repository. You don't need to use this tool in new installations of FreeCAD.
- freecad-pluginloader: also a macro, it could be used to install new components to FreeCAD. It is no longer developed.
Il metodo consigliato per installare i componenti aggiuntivi, ovvero gli ambienti esterni e le macro, è Addon Manager. Tuttavia, è ancora possibile aggiungere delle macro al prorpio sistema con i metodi manuali descritti nelle seguenti sezioni; questo è utile per sviluppare e testare il proprio codice.
Metodo manuale 1. Copiare il codice nell'editor delle macro
Per delle macro che sono relativamente piccole, 300 righe o meno, il codice può essere copiato e incollato direttamente nell'editor macro di FreeCAD.
We will use Macro Apothem Based Prism GUI as an example.
1. Andare alla pagina wiki della macro, che dovrebbe essere elencata in Raccolta di macro.
Se ci sono delle icone, per scaricarle, posizionare il mouse sopra l'icona, fare clic sul pulsante destro del mouse e cliccare su Salva immagine con nome ...
. Le icone devono essere inserite nella directory delle macro e una di esse può essere usata come icona scorciatoia nella barra degli strumenti personalizzata. L'icona di deafault è .
Download dell'icona dalla pagina delle macro
2. Nella pagina delle macro, selezionare il codice all'interno della sezione Script o Macro, e copiarlo.
3. In FreeCAD, aprire il menu Macro → Macro... per aprire la finestra di dialogo Esegui la macro.
Apertura della finestra di dialogo Esegui la macro
4. Cliccare Crea.
Creare una nuova macro
5. Inserire il nome della macro, in questo caso Macro_Apothem_Based_Prism_GUI
, e premere OK.
Inserimento del nome della macro
6. L'editor delle macro si apre e mostra il percorso completo della nuova macro.
L'editor delle macro
7. Incollare il codice nella finestra dell'editor delle macro e fare clic sulla croce per chiudere la finestra.
Chiusura dell'editor di macro
8. Viene visualizzata una finestra che richiede una conferma per salvare il codice; cliccare su Yes. Si può anche usare Ctrl+S per salvare il file.
Riavviare FreeCAD per registrare correttamente la nuova macro.
9. Aprire di nuovo il menu, Macro → Macro..., selezionare la nuova macro e premere Esegui.
8 : La macro si avvia, Compila i campi dei valori e fare clic sul pulsante OK
9 : La macro restituisce un errore! Non ha trovato nessun documento aperto, aprire un documento e ripetere le operazioni 7 e 8. Solo alcune macro aprono un nuovo documento quando non ne trovano uno già aperto.
Create a new document with File → New, and then repeat the previous steps to execute the macro.
10 : Ecco il prisma!
11 : È anche possibile aprire la macro nell'editor per eseguirla o modificarla, facendo clic sul pulsante Modifica
12 : Ora che la macro è nell'editor di FreeCAD è possibile eseguirla tramite il menù "Macro Esegui macro" o cliccando sul triangolo verde File:Macro-execute.svg nella barra degli strumenti delle macro
Metodo per le macro compresse in un file .ZIP
Come esempio, scaricare il file Macro_screw_maker 1.7 descritto nella pagina Macro_screw_maker
We will use Macro screw maker as an example.
1. Download the compressed code from the forum, Screw Maker.
Per decomprime i file in Windows si può usare una delle seguenti applicazioni free: 7-zip o L-Zarc o quickzip
unzip your_file.zip -d your_directory
1 : Scaricare il file in una cartella locale, in questo esempio la cartella usata è Temp
2 : Decomprimere il file all'interno della cartella.
3 : Il decompressore ha finito il suo lavoro e ha creato una nuova cartella contenente il file scompattato
4 : Entrare nella directory, selezionare il file .py poi fare clic con il pulsante destro del mouse e fare cliccare su Taglia.
5 : Ritornare a l'esploratore che è rimasto aperto alla cartella delle macro (in questo esempio C:\Users\your_user_name\AppData\Roaming\FreeCAD\) , Incollare il file e poi chiudere l'esploratore.
6 : Aprire FreeCAD poi cliccare su Menu > Macro > Macros oppure cliccare sul pulsante "Apri una finestra di dialogo che consente di eseguire una macro registrata"
7 : Si apre la finestra delle macro , selezionare la macro e cliccare sul pulsante Esegui
8 : La macro viene eseguita, inserire i dati e fare clic su Crea
Execute a macro in command line
Command line execute a macro (.FCMacro or .py)
on Windows
"C:\Program Files\FreeCAD\bin\FreeCAD.exe" "C:\Users\userName\AppData\Roaming\FreeCAD\Mod\WorkFeature\start_WF.FCMacro"
on Linux
todo
Errors in macros
Gli errori di indentazione: esempi di codice sbagliato
Nella programmazione python la rientranza è molto importante ed è parte integrante del codice, uno spazio o uno spostamento non appropriato causano un errore di indentazione di questo tipo:
This section describes some errors that may be encountered when copying and pasting, and writing macro code.
<unknown exception traceback><type 'exceptions.IndentationError'>: ('expected an indented block', ('C:/Users/d/AppData/Roaming/FreeCAD/Macro_Apothem_Based_Prism_GUI.FCMacro', 21, 3, 'def priSm(self):\n'))
<unknown exception traceback><type 'exceptions.IndentationError'>: ('expected an indented block', ('C:/Users/d/AppData/Roaming/FreeCAD/Macro_Apothem_Based_Prism_GUI.FCMacro', 21, 3, 'def priSm(self):\n'))
1 : In questo esempio, il codice viene incollato senza indentazione e naturalmente non funziona! Questo è probabilmente un errore fatto dal programmatore quando ha incollato il suo codice nella pagina.
If the code lacks any indentation, the code won't work. Class (class
) and function definitions (def()
), as well as control structures (if
, while
, for
) should be followed by a block of indented code.
This error is possible if the user doesn't copy the code correctly, and all spaces are accidentally removed.
2 : ecco come deve essere il codice corretto, con le giuste indentazioni.
3 : quando, selezionando il codice, si vede che la selezione avviene sul bordo del codice la macro deve funzionare
4 : Qui viene selezionato uno spazio di troppo, allora si deve copiare il codice in un elaboratore di testi e rimuovere uno spazio all'inizio di ogni riga
If an additional space is introduced at the beginning of all lines, the Python interpreter will fail and complain about unnecessary indentation. In this case, all lines need the initial space removed.
5 : In questo caso il codice è stato copiato da una finestra del forum con il pulsante Select all e la selezione sembra buona,
Here the code has been copied from a forum thread by using the Select all button. Apparently the selection is good.
6 : ma quando la selezione viene incollata nell'editor di FreeCAD si ha una sorpresa: il sistema aggiunge un rientro di quattro spazi! Il codice non è valido,
7 : è necessario eliminare tutto lo spazio in più che è di quattro spazi per ogni riga. In Windows l'elaboratore notepad-plus-plus consente la selezione verticale usando la combinazione di tasti Alt + Trascinamento del Mouse oppure con Menu> Modifica> Indentazione> Diminuisci indentazione.
In Windows, Notepad++ can perform selection with Alt + Mouse dragging, and then use Edit → Indent → Decrease the indentation.
8 : Qui la selezione cattura anche la colonna dei numeri di riga, e anche questo darà errore.
Here the selection also selects the line numbers in the code example. If this selection is pasted into the macro editor, it won't work. All line numbers need to be removed, and the spaces adjusted so that the Python code has the proper indentation.
9 : Il codice perfetto.
Quando non viene visualizzata nessuna informazione.
In genere le informazioni sono visualizzate nella vista Report, ma alcune macro visualizzano le informazioni sullo schermo.
Macros may output information to the report view to detail what the code is doing when it is running.
If no information is displayed, make sure the report view and Python console are visible, and that the output is directed tot he report view.
Printing information
FreeCAD macros have two methods to print information to the report view.
1 : Comandi
FreeCAD.Console.PrintMessage("Hello World! \n")
FreeCAD.Console.PrintError("Hello World! \n")
FreeCAD.Console.PrintWarning("Hello World! \n")
oppure
print("Hello World!")
Per vedere le informazioni visualizzate nella console è necessario:
1 : Aprire FreeCAD
3 : Attivare Report e Console Python
4 : ora le finestre sono abilitate e i comandi disponibili, come "App.Console.PrintMessage", sono configurati per la vista "Report"
2 : il comando "print" che è un comando Python.
1 : Cliccare sul menu Modifica e poi su Preferenze
2 : Nella nuova finestra cliccare su Generali, e selezionare la scheda Finestra di Output
3 : attivare entrambe le caselle:
e poi cliccare sul pulsante OK