Difference between revisions of "How to install macros/it"

From FreeCAD Documentation
Jump to: navigation, search
Line 358: Line 358:
 
==== Codice valido ====
 
==== Codice valido ====
  
<div class="mw-translate-fuzzy">
+
[[Image:Macro Install HowTo 13.png|center]]
[[Image:Macro Install HowTo 13.png|center|Perfect code]]
+
{{Caption|align=center|Codice Python con l'indentazione corretta}}
</div>
 
  
 
</div>
 
</div>

Revision as of 18:55, 22 November 2019

Other languages:
čeština • ‎Deutsch • ‎English • ‎español • ‎français • ‎hrvatski • ‎italiano • ‎română • ‎русский • ‎svenska

Base ExampleCommandModel.png Tutorial

Argomento
Programmazione e Configurazione
Livello di difficoltà
Medio
Tempo di esecuzione
15 minuti
Autore
Mario52
Versione di FreeCAD
Tutte
File di esempio
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.

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 → Generali → 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/.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 → Std DlgMacroExecuteDirect.svg Macro... per aprire la finestra di dialogo Esegui la macro.

Dxf Importer Install 01.png

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/
Dxf Importer Install 02.png

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.
Dxf Importer Install 03.png

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.
Dxf Importer Install 04.png

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 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.

Noi useremo come esempio la macro Part Prism Apothem.svg 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 è Text-x-python.png.

Macro Install HowTo 28.png

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 → Std DlgMacroExecuteDirect.svg Macro... per aprire la finestra di dialogo Esegui la macro.

Dxf Importer Install 01.png

Apertura della finestra di dialogo Esegui la macro


4. Cliccare Crea.

Macro Install HowTo 17.png

Creare una nuova macro


5. Inserire il nome della macro, in questo caso Macro_Apothem_Based_Prism_GUI, e premere OK.

Macro Install HowTo 18.png

Inserimento del nome della macro


6. L'editor delle macro si apre e mostra il percorso completo della nuova macro.

Macro Install HowTo 19.png

L'editor delle macro


7. Incollare il codice nella finestra dell'editor delle macro e fare clic sulla croce per chiudere la finestra.

Macro Install HowTo 20.png

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

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

Macro Install HowTo 21.png

Selezionare la macro da eseguire


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

Macro Install HowTo 22.png

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 → Document-new.svg Nuovo, e quindi ripetere i passaggi precedenti per eseguire la macro.

Macro Install HowTo 23.png

La macro restituisce un errore se nessun documento è attivo


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

Macro Install HowTo 24.png

Oggetto creato dalla macro


13. È possibile aprire nuovamente la macro nell'editor per eseguirla o modificarla. Andare in Macro → Std DlgMacroExecuteDirect.svg Macros, selezionar la macro e premi ere Modifica.

Macro Install HowTo 25.png

Apertura della macro nell'editor


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

Macro Install HowTo 26.png

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 Text-x-python.png 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.

Macro Install HowTo 01.png

Download dell'archivio compresso in una directory locale


3. Decomprimere il file all'interno della cartella.

Macro Install HowTo 02.png

Decomprimere il file nella cartella


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

Macro Install HowTo 03.png

Nuova directory creata dopo aver decompresso l'archivio


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

Macro Install HowTo 04.png

Immettere la directory appena creata con il file macro decompresso


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

Macro Install HowTo 05.png

Posizionamento del file macro nella directory macro


7. In FreeCAD, aprire il menu Macro → Std DlgMacroExecuteDirect.svg Macros per aprire il dialogo Esegui macro.

Macro Install HowTo 06.png

Apertura della finestra di dialogo Esegui macro


8. Selezionare la nuova macro e premere Esegui.

Macro Install HowTo 07.png

Selezione della macro per eseguirla


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

Macro Install HowTo 08.png

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


Macro Install HowTo 30.png

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.

Macro Install HowTo 09.png

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


Problema di indentazione risolto.

Macro Install HowTo 10.png

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.

Macro Install HowTo 11.png

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.

Macro Install HowTo 12.png

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.

Macro Install HowTo 14.png

Codice Python copiato dal forum


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

Macro Install HowTo 15.png

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.

Macro Install HowTo 16.png

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.

Macro Install HowTo 29.png

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


Codice valido

Macro Install HowTo 13.png

Codice Python con l'indentazione corretta


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

Open FreeCAD
Click the View menu and Views

3 : Attivare Report e Console Python

Check Report View and Python Console

4 : ora le finestre sono abilitate e i comandi disponibili, come "App.Console.PrintMessage", sono configurati per la vista "Report"

Hello World!

2 : il comando "print" che è un comando Python.

1 : Cliccare sul menu Modifica e poi su Preferenze

Edit menu

2 : Nella nuova finestra cliccare su Generali, e selezionare la scheda Finestra di Output

General

3. Attivare entrambe le caselle:

Case a cocher O.png Reindirizzare l'output interno di Python nella vista report

Case a cocher O.png Reindirizzare gli errori interni di Python alla finestra di report

e poi cliccare sul pulsante OK

Redirect internal
the setup is complete