How to install macros/it: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(65 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{TutorialInfo/it|Topic=Programmazione e Configurazione|Level=Medio|Time=15 minuti|FCVersion=Tutte|Author=[[User:Mario52|Mario52]]}}
{{TutorialInfo/it|Topic=Programmazione e Configurazione|Level=Medio|Time=15 minuti|FCVersion=Tutte|Author=[[User:Mario52|Mario52]]}}


<span id="Description"></span>
==Descrizione==
==Descrizione==

Questo pagina è una breve guida su come installare le [[macros/it|macro]] e utlizzarle in FreeCAD.
Dalla v0.17 è facile aggiungere le macro usando [[Std_AddonMgr/it|Addon Manager]]. Un utente normale non deve fare altro che utilizzare questo strumento. Continuare a leggere per ulteriori informazioni sull'installazione delle [[macros/it|macro]].


Le macro sono sequenze di comandi che vengono utilizzati per eseguire un'operazione complessa. Le macro sono degli script [[Python/it|Python]], il che significa che sono file di testo che possono essere scritti e modificati con un editor di testo.
Le macro sono sequenze di comandi che vengono utilizzati per eseguire un'operazione complessa. Le macro sono degli script [[Python/it|Python]], il che significa che sono file di testo che possono essere scritti e modificati con un editor di testo.
Line 13: Line 16:
Questo è un video su come [https://wiki.opensourceecology.org/wiki/Installing_Macros_in_FreeCAD installare le macro in FreeCAD in Ubuntu].
Questo è un video su come [https://wiki.opensourceecology.org/wiki/Installing_Macros_in_FreeCAD installare le macro in FreeCAD in Ubuntu].


<span id="The_Macro_menu_and_toolbar"></span>
==Il menu Macro e i suoi strumenti==
==Il menu Macro e i suoi strumenti==


<span id="Toolbar"></span>
===Barra degli strumenti===
===Barra degli strumenti===

* [[Image:Macro-record.svg|32px|record]] [[Std_DlgMacroRecord/it|Registra]]
* [[Image:Macro-stop.svg|32px|stop]] [[Std_DlgMacroStop/it|Stop]]
* [[Image:Std_DlgMacroRecord.svg|32px]] [[Std_DlgMacroRecord/it|Registra una macro...]]
* [[Image:Std_DlgMacroExecuteDirect.svg|32px|open editor]] Finestra di dialogo [[Std_DlgMacroExecuteDirect/it|Esegui la macro]]
* [[Image:Std_MacroStopRecord.svg|32px]] [[Std_MacroStopRecord/it|Interrompi la registrazione]]
* [[Image:Macro-execute.svg|32px|execute]] [[Std_DlgMacroExecute/it|Esegui]]
* [[Image:Std_DlgMacroExecute.svg|32px]] [[Std_DlgMacroExecute/it|Macro...]]
* [[Image:Std_DlgMacroExecuteDirect.svg|32px]] [[Std_DlgMacroExecuteDirect/it|Esegui la macro]]


===Menu===
===Menu===

Oltre agli strumenti nella barra degli strumenti, nel menu {{MenuCommand|Macro}} sono disponibili anche le seguenti funzioni.
Oltre agli strumenti nella barra degli strumenti, nel menu {{MenuCommand|Macro}} sono disponibili anche le seguenti funzioni.
* [[Std_MacroAttachDebugger/it|Collega al debugger remoto]]
* [[Image:Debug-start.svg|32px|start]] [[Std_DebugMacro/it|Avvia il debug]]
* [[Image:Debug-stop.svg|32px|stop]] [[Std_DebugStop/it|Interrompi il debug]]
* [[Image:Std_MacroStartDebug.svg|32px]] [[Std_MacroStartDebug/it|Avvia il debug]]
* [[Image:Std_MacroStopDebug.svg|32px]] [[Std_MacroStopDebug/it|Interrompi il debug]]
* Passo succesivo
* [[Std_MacroStepOver/it|Passo succesivo]]
* Un passo
* [[Std_MacroStepInto/it|Un passo]]
* Attiva/Disattiva punto di interruzione
* [[Std_ToggleBreakpoint/it|Attiva/Disattiva punto di interruzione]]


<span id="Macros_directory"></span>
==Directory delle macro==
==Directory delle macro==


<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}}.
Le macro vengono create in una cartella specifica nella directory di FreeCAD dell'utente. Questa directory può essere configurata nel dialogo [[Std_DlgMacroExecute/it|Esegui macro]], o nel [[Preferences Editor/it|Editor delle preferenze]], attraverso il menu {{MenuCommand|Modifica → Preferenze → Python → Macro → Impostazioni di registrazione delle macro}}.


Anche le macro scaricate dovrebbero essere collocate in questa directory.
Anche le macro scaricate dovrebbero essere collocate in questa directory.
Line 39: Line 48:
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


<span id="Default_directory"></span>
=== Directory di default ===
=== Directory di default ===

Le macro possono essere semplicemente copiate in
Le macro possono essere semplicemente copiate in


Line 54: Line 65:


La {{incode|$ROOT_DIR}} può essere la directory di un utente particolare.
La {{incode|$ROOT_DIR}} può essere la directory di un utente particolare.
* Su Linux di solito è {{incode|/home/username/.FreeCAD/}}
* Su Linux di solito è {{incode|/home/username/.local/share/FreeCAD/}} ({{VersionPlus|0.20}}) or {{incode|/home/username/.FreeCAD/}} ({{VersionMinus|0.19}}).
* Su Windows di solito è {{incode|C:\Users\username\Application Data\FreeCAD\}}
* Su Windows di solito è {{incode|C:\Users\username\AppData\FreeCAD\}}
* Su Mac OSX di solito è {{incode|/Users/username/Library/Preferences/FreeCAD/}}
* Su Mac OSX di solito è {{incode|/Users/username/Library/Preferences/FreeCAD/}}


<span id="Configuring_the_user_directory"></span>
=== Configurazione della directory utente ===
=== Configurazione della directory utente ===

1. Aprire il menu {{MenuCommand|Macro → [[Image:Std DlgMacroExecuteDirect.svg|16px]] [[Std_DlgMacroExecuteDirect/it|Macro...]]}} per aprire la finestra di dialogo [[Std_DlgMacroExecuteDirect/it|Esegui la macro]].
1. Aprire il menu {{MenuCommand|Macro → [[Image:Std_DlgMacroExecute.svg|16px]] [[Std_DlgMacroExecute/it|Macro...]]}} per aprire la finestra di dialogo [[Std_DlgMacroExecute/it|Esegui la macro]].


[[Image:Dxf_Importer_Install_01.png|center]]
[[Image:Dxf_Importer_Install_01.png|center]]
{{Caption|align=center|Apertura della finestra di dialogo della macro}}
{{Caption|align=center|Apertura della finestra di dialogo Esegui la macro}}


2. Impostare l'appropriata {{incode|Posizione delle macro utente}}.
2. Impostare l'appropriata {{incode|Posizione delle macro utente}}.
* Linux: generalmente {{incode|/home/username/.FreeCAD/}}
* Linux: generalmente {{incode|/home/username/.local/share/FreeCAD/}} ({{VersionPlus|0.20}}) or {{incode|/home/username/.FreeCAD/}} ({{VersionMinus|0.19}})
* Windows: generalmente {{incode|C:\Users\username\AppData\Roaming\FreeCAD\}}
* Windows: generalmente {{incode|C:\Users\username\AppData\Roaming\FreeCAD\}}
* MacOS: generalmente {{incode|/Users/username/Library/Preferences/FreeCAD/}}
* MacOS: generalmente {{incode|/Users/username/Library/Preferences/FreeCAD/}}
Line 92: Line 105:
</div>
</div>


<span id="Installing_macros"></span>
== Installare le macro ==
== Installare le macro ==


<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">


<span id="Automatic_method"></span>
=== Metodo automatico ===
=== Metodo automatico ===


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 [[Std_AddonMgr/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">
Line 106: Line 121:
* [https://github.com/microelly2/freecad-pluginloader freecad-pluginloader]: è anche una macro, potrebbe essere usata per installare nuovi componenti in FreeCAD. Non è più sviluppato.
* [https://github.com/microelly2/freecad-pluginloader freecad-pluginloader]: è anche una macro, potrebbe essere usata per installare nuovi componenti in FreeCAD. Non è più sviluppato.


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, è [[Std_AddonMgr/it|Addon Manager]]. Tuttavia, è ancora possibile aggiungere delle macro al proprio sistema con i metodi manuali descritti nelle seguenti sezioni; questo è utile per sviluppare e testare il proprio codice.


</div>
</div>
Line 113: Line 128:
<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">


<span id="Manual_method_1._Copy_the_code_to_the_macro_editor"></span>
===Metodo manuale 1. Copiare il codice nell'editor delle macro===
===Metodo manuale 1. Copiare il codice nell'editor delle macro===


Line 130: Line 146:
2. Nella pagina delle macro, selezionare il codice all'interno della sezione {{Emphasis|Script}} o {{Emphasis|Macro}}, e copiarlo.
2. Nella pagina delle macro, selezionare il codice all'interno della sezione {{Emphasis|Script}} o {{Emphasis|Macro}}, e copiarlo.


3. In FreeCAD, aprire il menu {{MenuCommand|Macro → [[Image:Std DlgMacroExecuteDirect.svg|16px]] [[Std_DlgMacroExecuteDirect/it|Macro...]]}} per aprire la finestra di dialogo [[Std_DlgMacroExecuteDirect/it|Esegui la macro]].
3. In FreeCAD, aprire il menu {{MenuCommand|Macro → [[Image:Std_DlgMacroExecute.svg|16px]] [[Std_DlgMacroExecute/it|Macro...]]}} per aprire la finestra di dialogo [[Std_DlgMacroExecute/it|Esegui la macro]].


[[Image:Dxf_Importer_Install_01.png|center]]
[[Image:Dxf_Importer_Install_01.png|center]]
Line 161: Line 177:
[[File:Macro Install HowTo 27.png|300px|center|Finestra di avviso che richiede la conferma di salvataggio del codice]]
[[File:Macro Install HowTo 27.png|300px|center|Finestra di avviso che richiede la conferma di salvataggio del codice]]


9. Aprire di nuovo il menu, {{MenuCommand|Macro → [[Image:Std DlgMacroExecuteDirect.svg|16px]] [[Std_DlgMacroExecuteDirect/it|Macro...]]}}, selezionare la nuova macro e premere {{Button|Esegui}}.
9. Aprire di nuovo il menu, {{MenuCommand|Macro → [[Image:Std_DlgMacroExecute.svg|16px]] [[Std_DlgMacroExecute/it|Macro...]]}}, selezionare la nuova macro e premere {{Button|Esegui}}.


[[Image:Macro Install HowTo 21.png|center]]
[[Image:Macro Install HowTo 21.png|center]]
Line 173: Line 189:
11. Questa macro dovrebbe restituire un errore se non è attivo nessun documento; altre macro aprono un nuovo documento se non ne esiste nessuno.
11. Questa macro dovrebbe restituire un errore se non è attivo nessun documento; altre macro aprono un nuovo documento se non ne esiste nessuno.


Creare un nuovo documento con {{MenuCommand|File → [[Image:Document-new.svg|16px]] [[Std_New/it|Nuovo]]}}, e quindi ripetere i passaggi precedenti per eseguire la macro.
Creare un nuovo documento con {{MenuCommand|File → [[Image:Std_New.svg|16px]] [[Std_New/it|Nuovo]]}}, e quindi ripetere i passaggi precedenti per eseguire la macro.


[[Image:Macro Install HowTo 23.png|center|]]
[[Image:Macro Install HowTo 23.png|center|]]
Line 183: Line 199:
{{Caption|align=center|Oggetto creato dalla macro}}
{{Caption|align=center|Oggetto creato dalla macro}}


13. È possibile aprire nuovamente la macro nell'editor per eseguirla o modificarla. Andare in {{MenuCommand|Macro → [[Image:Std DlgMacroExecuteDirect.svg|16px]] [[Std_DlgMacroExecuteDirect|Macros]]}}, selezionar la macro e premi
13. È possibile aprire nuovamente la macro nell'editor per eseguirla o modificarla. Andare in {{MenuCommand|Macro → [[Image:Std_DlgMacroExecute.svg|16px]] [[Std_DlgMacroExecute|Macro...]]}}, selezionare la macro e premere {{Button|Modifica}}.
ere {{Button|Modifica}}.


[[Image:Macro Install HowTo 25.png|center]]
[[Image:Macro Install HowTo 25.png|center]]
{{Caption|align=center|Apertura della macro nell'editor}}
{{Caption|align=center|Apertura della macro nell'editor}}


14. Ora è possibile eseguire la macro con {{MenuCommand|Macro → [[Image:Macro-execute.svg|16px]] [[Std_DlgMacroExecute/it|Esegui macro]]}}, o facendo clic sul pulsante {{Button|[[Image:Macro-execute.svg|16px]] [[Std_DlgMacroExecute/it|Esegui]]}} della barra degli strumenti.
14. Ora è possibile eseguire la macro con {{MenuCommand|Macro → [[Image:Std_DlgMacroExecuteDirect.svg|16px]] [[Std_DlgMacroExecuteDirect/it|Esegui la macro]]}}, o facendo clic sul pulsante {{Button|[[Image:Std_DlgMacroExecuteDirect.svg|16px]] [[Std_DlgMacroExecuteDirect/it|Esegui]]}} della barra degli strumenti.


[[Image:Macro Install HowTo 26.png|center]]
[[Image:Macro Install HowTo 26.png|center]]
Line 199: Line 214:
<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">


<span id="Manual_method_2._Add_a_macro_file_from_a_compressed_.zip_file"></span>
==Metodo manuale 2. Aggiungere una macro compressa in un file .zip==
===Metodo manuale 2. Aggiungere una macro compressa in un file .zip===


Alcune macro sono troppo grandi per cui è scomodo copiarle e incollarle nell'editor delle macro o non possono essere ospitate nel wiki. In questo caso, il codice può essere ospitato altrove, in un repository Github o nel[https://forum.freecadweb.org/ forum di FreeCAD]. Il codice può anche essere compresso in un file {{incode|.zip}}, tarball {{incode|.tar.xz}} o altro tipo di archivio se contiene più file. Se il codice viene distribuito in questo modo, l'archivio deve essere estratto e i file inseriti nella directory delle macro.
Alcune macro sono troppo grandi per cui è scomodo copiarle e incollarle nell'editor delle macro o non possono essere ospitate nel wiki. In questo caso, il codice può essere ospitato altrove, in un repository Github o nel[https://forum.freecadweb.org/ forum di FreeCAD]. Il codice può anche essere compresso in un file {{incode|.zip}}, tarball {{incode|.tar.xz}} o altro tipo di archivio se contiene più file. Se il codice viene distribuito in questo modo, l'archivio deve essere estratto e i file inseriti nella directory delle macro.
Line 242: Line 258:
{{Caption|align=center|Posizionamento del file macro nella directory macro}}
{{Caption|align=center|Posizionamento del file macro nella directory macro}}


7. In FreeCAD, aprire il menu {{MenuCommand|Macro → [[Image:Std DlgMacroExecuteDirect.svg|16px]] [[Std_DlgMacroExecuteDirect/it|Macros]]}} per aprire il dialogo [[Std_DlgMacroExecuteDirect/it|Esegui macro]].
7. In FreeCAD, aprire il menu {{MenuCommand|Macro → [[Image:Std_DlgMacroExecute.svg|16px]] [[Std_DlgMacroExecute/it|Macro...]]}} per aprire il dialogo [[Std_DlgMacroExecute/it|Esegui la macro]].


[[Image:Macro Install HowTo 06.png|center]]
[[Image:Macro Install HowTo 06.png|center]]
Line 263: Line 279:
</div>
</div>


<span id="Execute_a_macro_in_command_line"></span>
== Eseguire una macro nella riga di comando ==
== Eseguire una macro nella riga di comando ==


Line 286: Line 303:
</div>
</div>


<span id="Errors_in_macros"></span>
== Errori nelle macro ==
== Errori nelle macro ==


<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">


<span id="Indentation_errors"></span>
===Errori di indentazione===
===Errori di indentazione===


Line 304: Line 323:
}}
}}


<span id="Example_1"></span>
==== Esempio 1 ====
==== Esempio 1 ====


Line 323: Line 343:
{{Caption|align=center|Codice Python evidenziato, che mostra che tutte le linee iniziano dal bordo sinistro}}
{{Caption|align=center|Codice Python evidenziato, che mostra che tutte le linee iniziano dal bordo sinistro}}


<span id="Example_2"></span>
==== Esempio 2 ====
==== Esempio 2 ====


Line 330: Line 351:
{{Caption|align=center|Codice Python con spazio aggiuntivo su ogni riga}}
{{Caption|align=center|Codice Python con spazio aggiuntivo su ogni riga}}


<span id="Example_3"></span>
==== Esempio 3 ====
==== Esempio 3 ====


Line 349: Line 371:
{{Caption|align=center|Codice Python con l'indentazione corretta}}
{{Caption|align=center|Codice Python con l'indentazione corretta}}


<span id="Example_4"></span>
==== Esempio 4 ====
==== Esempio 4 ====


Line 356: Line 379:
{{Caption|align=center|Selezione che comprende anche i numeri di riga; se questo codice viene incollato nell'editor delle macro, non funzionerà}}
{{Caption|align=center|Selezione che comprende anche i numeri di riga; se questo codice viene incollato nell'editor delle macro, non funzionerà}}


<span id="Good_code"></span>
==== Codice valido ====
==== Codice valido ====


Line 366: Line 390:
<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">


<span id="No_text_output_from_macros"></span>
<div class="mw-translate-fuzzy">
===Nessun output di testo dalle macro===
<div class="toccolours mw-collapsible mw-collapsed">
==Quando non viene visualizzata nessuna informazione.==
<div class="mw-collapsible-content">
In genere le informazioni sono visualizzate nella vista Report, ma alcune macro visualizzano le informazioni sullo schermo.
</div>


Le macro possono generare informazioni nella vista report per descrivere cosa sta facendo il codice quando è in esecuzione.
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|Python]] console are visible, and that the output is directed tot he report view.
Se non viene visualizzata alcuna informazione, assicurarsi che la vista report e la console [[Python/it|Python]] siano visibili e che l'output sia diretto alla vista report.


<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


<span id="Printing_information"></span>
==== Printing information ====
==== Visualizzare le informazioni ====
FreeCAD macros have two methods to print information to the report view.


Le macro di FreeCAD hanno due metodi per stampare le informazioni nella vista report.
<div class="mw-translate-fuzzy">

'''1 : Comandi'''
Le funzioni di FreeCAD
</div>


{{Code|code=
{{Code|code=
Line 392: Line 412:
}}
}}


La semplice funzione Python
<div class="mw-translate-fuzzy">
oppure
</div>


{{Code|code=
{{Code|code=
Line 400: Line 418:
}}
}}


<span id="Enabling_the_report_view"></span>
<div class="mw-translate-fuzzy">
==== Abilitare la vista report ====

Per vedere le informazioni visualizzate nella console è necessario:
Per vedere le informazioni visualizzate nella console è necessario:
</div>


1. Andare nel menu {{MenuCommand|Visualizza → Pannelli}}.
<div class="mw-translate-fuzzy">
'''1 :''' Aprire FreeCAD
</div>


[[Image:Macro Install HowTo 31.png|center]]
<div class="mw-translate-fuzzy">
[[Image:Macro Install HowTo 31.png|center|640px|Open FreeCAD]]
</div>


[[Image:Macro Install HowTo 32.png|center]]
<div class="mw-translate-fuzzy">
{{Caption|align=center|Rendere visibili i pannelli nel menu Visualizza → Pannelli}}
[[Image:Macro Install HowTo 32.png|center|640px|Click the View menu and Views]]
</div>


2. Abilitare la {{incode|vista Report}} e la {{incode|console Python}}.
<div class="mw-translate-fuzzy">
'''3 :''' Attivare '''Report''' e '''Console Python'''
</div>


[[Image:Macro Install HowTo 33.png|center]]
<div class="mw-translate-fuzzy">
[[Image:Macro Install HowTo 33.png|center|640px|Check Report View and Python Console]]
{{Caption|align=center|Abilitazione della vista Report e della console Python}}
</div>


3. Ora i pannelli sono visibili e i comandi come {{incode|FreeCAD.Console.PrintMessage()}} ora stampano le informazioni che appaiono nella {{incode|vista Report}}.
<div class="mw-translate-fuzzy">
'''4 :''' ora le finestre sono abilitate e i comandi disponibili, come "'''App.Console.PrintMessage'''", sono configurati per la vista "Report"
</div>


[[Image:Macro Install HowTo 34.png|center]]
<div class="mw-translate-fuzzy">
{{Caption|align=center|Finestra principale di FreeCAD con la vista Report e la console Python}}
[[Image:Macro Install HowTo 34.png|center|640px|Hello World!]]
</div>


<span id="Enabling_the_print()_command"></span>
<div class="mw-translate-fuzzy">
'''2 : il comando "print" che è un comando Python.'''
==== Abilitare il comando <tt>print()</tt> ====
</div>


Potrebbe essere necessario configurare FreeCAD in modo che la funzione {{incode|print()}} di [[Python/it|Python]] reindirizzi correttamente il suo output alla vista Report.
<div class="mw-translate-fuzzy">
'''1 :''' Cliccare sul menu '''Modifica''' e poi su '''Preferenze'''
</div>


1. Andare nell'[[Preferences Editor/it|editor delle preferenze]] con il menu {{MenuCommand|Modifica → Preferenze}}.
<div class="mw-translate-fuzzy">
[[Image:Macro Install HowTo 35.png|center|640px|Edit menu]]
</div>


[[Image:Macro Install HowTo 35.png|center]]
<div class="mw-translate-fuzzy">
{{Caption|align=center|Andare nell'editor delle preferenze}}
'''2 :''' Nella nuova finestra cliccare su '''Generali''', e selezionare la scheda '''Finestra di Output'''
</div>


2. Andare nella sezione {{MenuCommand|Python}}, e poi {{MenuCommand|Finestra di output → Interprete Python}}.
<div class="mw-translate-fuzzy">

[[Image:Macro Install HowTo 36.png|center|640px|General]]
[[Image:Macro Install HowTo 36.png|center]]
</div>
{{Caption|align=center|Preferenze della finestra output}}


3. Attivare entrambe le caselle:
3. Attivare entrambe le caselle:
Line 460: Line 463:
e poi cliccare sul pulsante {{Button|OK}}
e poi cliccare sul pulsante {{Button|OK}}


[[Image:Macro Install HowTo 37.png|center]]
<div class="mw-translate-fuzzy">
{{Caption|align=center|Reindirizzamento dell'output di Python alla vista report}}
[[Image:Macro Install HowTo 37.png|center|640px|Redirect internal]]
</div>


[[Image:Macro Install HowTo 38.png|center]]
<div class="mw-translate-fuzzy">
{{Caption|align=center|I comandi Python stampano le informazioni nella vista report}}
[[Image:Macro Install HowTo 38.png|center|640px|the setup is complete]]
</div>
</div>
</div>
</div>
</div>

{{Powerdocnavi{{#translation:}}}}
[[Category:Developer Documentation{{#translation:}}]]
[[Category:Python Code{{#translation:}}]]

Latest revision as of 19:31, 14 August 2023

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

Dalla v0.17 è facile aggiungere le macro usando Addon Manager. Un utente normale non deve fare altro che utilizzare questo strumento. Continuare a leggere per ulteriori informazioni sull'installazione delle macro.

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.

Il menu Macro e i suoi strumenti

Barra degli strumenti

Menu

Oltre agli strumenti nella barra degli strumenti, nel menu Macro sono disponibili anche le seguenti funzioni.

Directory delle macro

Le macro vengono create in una cartella specifica nella directory di FreeCAD dell'utente. Questa directory può essere configurata nel dialogo Esegui macro, o nel Editor delle preferenze, attraverso il menu Modifica → Preferenze → Python → Macro → Impostazioni di registrazione delle macro.

Anche le macro scaricate dovrebbero essere collocate in questa directory.

Directory di default

Le macro possono essere semplicemente copiate in

$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/.local/share/FreeCAD/ (version 0.20 and above) or /home/username/.FreeCAD/ (version 0.19 and below).
  • Su Windows di solito è C:\Users\username\AppData\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 Esegui la macro

2. Impostare l'appropriata Posizione delle macro utente.

  • Linux: generalmente /home/username/.local/share/FreeCAD/ (version 0.20 and above) or /home/username/.FreeCAD/ (version 0.19 and below)
  • 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.

Nelle versioni precedenti di FreeCAD è possibile utilizzare due metodi automatici per installare macro e altri componenti aggiuntivi:

  • addons_installer.FCMacro: è essa stessa una macro, è il precursore del Gestore Addon ed è ospitato nel repository FreeCAD-addons. Non è necessario utilizzare questo strumento nelle recenti versioni di FreeCAD.
  • freecad-pluginloader: è anche una macro, potrebbe essere usata per installare nuovi componenti in FreeCAD. Non è più sviluppato.

Il metodo consigliato per installare i componenti aggiuntivi, ovvero gli ambienti esterni e le macro, è Addon Manager. Tuttavia, è ancora possibile aggiungere delle macro al proprio 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.

Noi useremo come esempio la macro Prisma da apotema.

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.

Finestra di avviso che richiede la conferma di salvataggio del codice
Finestra di avviso che richiede la conferma di salvataggio del codice

9. Aprire di nuovo il menu, Macro → Macro..., selezionare la nuova macro e premere Esegui.

Selezionare la macro da eseguire

10. La macro si avvia, compilare i campi dei valori e fare clic sul pulsante OK

La macro in azione; inserire le informazioni e alla fine premere OK

11. Questa macro dovrebbe restituire un errore se non è attivo nessun documento; altre macro aprono un nuovo documento se non ne esiste nessuno.

Creare un nuovo documento con File → Nuovo, e quindi ripetere i passaggi precedenti per eseguire la macro.

La macro restituisce un errore se nessun documento è attivo

12. Quando è disponibile un documento attivo, la macro viene eseguita e crea un oggetto.

Oggetto creato dalla macro

13. È possibile aprire nuovamente la macro nell'editor per eseguirla o modificarla. Andare in Macro → Macro..., selezionare la macro e premere Modifica.

Apertura della macro nell'editor

14. Ora è possibile eseguire la macro con Macro → Esegui la macro, o facendo clic sul pulsante Esegui della barra degli strumenti.

Esecuzione della macro caricata nell'editor

Metodo manuale 2. Aggiungere una macro compressa in un file .zip

Alcune macro sono troppo grandi per cui è scomodo copiarle e incollarle nell'editor delle macro o non possono essere ospitate nel wiki. In questo caso, il codice può essere ospitato altrove, in un repository Github o nelforum di FreeCAD. Il codice può anche essere compresso in un file .zip, tarball .tar.xz o altro tipo di archivio se contiene più file. Se il codice viene distribuito in questo modo, l'archivio deve essere estratto e i file inseriti nella directory delle macro.

Come esempio useremo la Macro screw maker.

1. Scaricare il codice compresso dal forum, Screw Maker.

È necessario utilizzare un decompressore per ottenere i file interni.

  • Per Windows si può usare un'applicazione come 7-zip o L-Zarc o quickzip.
  • Per Linux è possibile utilizzare un comando dal terminale
unzip your_file.zip -d your_directory

2. Scaricare l'archivio compresso con il codice della macro in una cartella locale.

Download dell'archivio compresso in una directory locale

3. Decomprimere il file all'interno della cartella.

Decomprimere il file nella cartella

4. Il decompressore ha finito il suo lavoro e ha creato una nuova cartella contenente il file scompattato

Nuova directory creata dopo aver decompresso l'archivio

5. Entrare nella nuova directory e copiare o tagliare il file della macro.

Immettere la directory appena creata con il file macro decompresso

6. Andare alla directory macro e incollare lì il file.

Posizionamento del file macro nella directory macro

7. In FreeCAD, aprire il menu Macro → Macro... per aprire il dialogo Esegui la macro.

Apertura della finestra di dialogo Esegui macro

8. Selezionare la nuova macro e premere Esegui.

Selezione della macro per eseguirla

9. La macro ora viene eseguita. Selezionare le opzioni desiderate e fare clic suCrea.

La macro in azione; selezionare le opzioni desiderate e premere Crea quando si è pronti

Oggetto creato dalla macro

Eseguire una macro nella riga di comando

Riga di comando per eseguire una macro (.FCMacro o .py)

in Windows

"C:\Program Files\FreeCAD\bin\FreeCAD.exe" "C:\Users\userName\AppData\Roaming\FreeCAD\Mod\WorkFeature\start_WF.FCMacro"

in Linux

todo

Errori nelle macro

Errori di indentazione

Lo spazio bianco all'inizio delle righe (indentazione) nel linguaggio di programmazione Python è molto importante e fa parte integrante del codice. Uno spazio inappropriato può causare la mancata esecuzione del codice o la presenza di errori.

Questa sezione descrive alcuni errori che possono verificarsi durante il copia e incolla o la scrittura di codice macro.

Un tipico errore di indentazione è simile al seguente:

<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'))

Esempio 1

Se il codice non presenta alcuna indentazione, il codice non funzionerà. Class (class) e definizioni delle funzioni (def ()), nonché le strutture di controllo (if, while, for) devono essere seguite da un blocco di codice rientrato.

Questo errore è possibile se l'utente non copia correttamente il codice e tutti gli spazi vengono rimossi accidentalmente.

Codice Python privo di indentazioni; causa un errore quando viene eseguito

Problema di indentazione risolto.

Codice Python con indentazioni corrette

Se il codice è selezionato, tutte le linee dovrebbero essere evidenziate fino al bordo sinistro, indicando che le linee sono allineate.

Codice Python evidenziato, che mostra che tutte le linee iniziano dal bordo sinistro

Esempio 2

Se viene introdotto uno spazio aggiuntivo all'inizio di tutte le righe, l'interprete Python fallisce e si lamenta delle indentazioni non necessarie. In questo caso, lo spazio iniziale deve essere rimosso da tutte le righe.

Codice Python con spazio aggiuntivo su ogni riga

Esempio 3

Qui il codice è stato copiato da un thread del forum utilizzando il pulsante Seleziona tutto. Apparentemente la selezione è buona.

Codice Python copiato dal forum

Tuttavia, quando la selezione viene incollata nell'editor delle macro, sembra apparire una indentazione indesiderata.

Codice Python copiato dal forum nell'editor macro; è stata aggiunta una indentazione non necessaria

In questo caso, è necessario rimuovere gli spazi iniziali. Questo può essere fatto con un editor di testo specializzato per ridurre rapidamente l'indentazione delle righe.

In Windows, con Notepad++ si può eseguire la selezione con Alt + trascinamento del mouse, quindi utilizzare Modifica → Indenta → Riduci il rientro.

Codice Python con l'indentazione corretta

Esempio 4

In questa selezione sono inclusi anche i numeri di riga. Se questa selezione viene incollata nell'editor delle macro, non funziona. Tutti i numeri di riga devono essere rimossi e gli spazi devono essere regolati in modo che il codice Python abbia l'indentazione corretta.

Selezione che comprende anche i numeri di riga; se questo codice viene incollato nell'editor delle macro, non funzionerà

Codice valido

Codice Python con l'indentazione corretta

Nessun output di testo dalle macro

Le macro possono generare informazioni nella vista report per descrivere cosa sta facendo il codice quando è in esecuzione.

Se non viene visualizzata alcuna informazione, assicurarsi che la vista report e la console Python siano visibili e che l'output sia diretto alla vista report.

Visualizzare le informazioni

Le macro di FreeCAD hanno due metodi per stampare le informazioni nella vista report.

Le funzioni di FreeCAD

FreeCAD.Console.PrintMessage("Hello World! \n")
FreeCAD.Console.PrintError("Hello World! \n")
FreeCAD.Console.PrintWarning("Hello World! \n")

La semplice funzione Python

print("Hello World!")

Abilitare la vista report

Per vedere le informazioni visualizzate nella console è necessario:

1. Andare nel menu Visualizza → Pannelli.

Rendere visibili i pannelli nel menu Visualizza → Pannelli

2. Abilitare la vista Report e la console Python.

Abilitazione della vista Report e della console Python

3. Ora i pannelli sono visibili e i comandi come FreeCAD.Console.PrintMessage() ora stampano le informazioni che appaiono nella vista Report.

Finestra principale di FreeCAD con la vista Report e la console Python

Abilitare il comando print()

Potrebbe essere necessario configurare FreeCAD in modo che la funzione print() di Python reindirizzi correttamente il suo output alla vista Report.

1. Andare nell'editor delle preferenze con il menu Modifica → Preferenze.

Andare nell'editor delle preferenze

2. Andare nella sezione Python, e poi Finestra di output → Interprete Python.

Preferenze della finestra output

3. Attivare entrambe le caselle:

Reindirizzare l'output interno di Python nella vista report

Reindirizzare gli errori interni di Python alla finestra di report

e poi cliccare sul pulsante OK

Reindirizzamento dell'output di Python alla vista report

I comandi Python stampano le informazioni nella vista report