How to install macros/it

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, le macro di FreeCAD dovrebbero avere l'estensione. 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

 * [[Image:Macro-record.svg|32px|record]] Registra
 * [[Image:Macro-stop.svg|32px|stop]] Stop
 * [[Image:Std_DlgMacroExecuteDirect.svg|32px|open editor]] Finestra di dialogo Esegui la macro
 * [[Image:Macro-execute.svg|32px|execute]] Esegui

Menu
Oltre agli strumenti nella barra degli strumenti, nel menu sono disponibili anche le seguenti funzioni.
 * [[Image:Debug-start.svg|32px|start]] Avvia il debug
 * [[Image:Debug-stop.svg|32px|stop]] Interrompi il debug
 * Passo succesivo
 * Un passo
 * Attiva/Disattiva punto di interruzione

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.

Anche le macro scaricate dovrebbero essere collocate in questa directory.

Directory di default
Le macro possono essere semplicemente copiate in

dove è una directory di primo livello ricercata da FreeCAD all'avvio.

La può essere una directory di sistema, nel qual caso la macro viene installata per tutti gli utenti.
 * Di solito in Linux è
 * Di solito in Windows è
 * Di solito in Mac OSX è

La può essere la directory di un utente particolare.
 * Su Linux di solito è
 * Su Windows di solito è
 * Su Mac OSX di solito è

Configurazione della directory utente
1. Aprire il menu per aprire la finestra di dialogo Esegui la macro.



2. Impostare l'appropriata.
 * Linux: generalmente
 * Windows: generalmente
 * MacOS: generalmente



3. Passare a quella directory sul proprio computer.
 * Linux: incollare l'indirizzo nel file manager, "Nautilus" o altro. Potrebbe essere necessario premere +  per rendere visibile la directory nascosta.
 * 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 nel "File explorer" per un file su disco.



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.



Metodo automatico
A partire da FreeCAD 0.17, utilizzare Addon Manager in 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 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. 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 è.



2. Nella pagina delle macro, selezionare il codice all'interno della sezione o, e copiarlo.

3. In FreeCAD, aprire il menu per aprire la finestra di dialogo Esegui la macro.



4. Cliccare.



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



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



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



8. Viene visualizzata una finestra che richiede una conferma per salvare il codice; cliccare su. Si può anche usare + per salvare il file.

Riavviare FreeCAD per registrare correttamente la nuova macro.



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



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



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



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



13. È possibile aprire nuovamente la macro nell'editor per eseguirla o modificarla. Andare in, selezionar la macro e premi ere.



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



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, tarball 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

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



3. Decomprimere il file all'interno della cartella.



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



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



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



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



8. Selezionare la nuova macro e premere.



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





Eseguire una macro nella riga di comando
Riga di comando per eseguire una macro (.FCMacro or .py)

in Windows

in Linux

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.

 : ('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 and function definitions, as well as control structures  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 e la selezione sembra buona,

Here the code has been copied from a forum thread by using the 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 + Trascinamento del Mouse oppure con Menu> Modifica> Indentazione> Diminuisci indentazione.

In Windows, Notepad++ can perform selection with + Mouse dragging, and then use.



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

oppure

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:

Reindirizzare l'output interno di Python nella vista report

Reindirizzare gli errori interni di Python alla finestra di report

e poi cliccare sul pulsante