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 esempi di macro.

Vedere Introduzione a Python per conoscere il linguaggio di programmazione Python e poi 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 macro
 * [[Image:Macro-execute.svg|32px|execute]] Esegui

Menu
Besides the tools in the toolbar, the following functions are also available in the menu.
 * [[Image:Debug-start.svg|32px|start]] Debug Start
 * [[Image:Debug-stop.svg|32px|stop]] Debug Stop
 * Step over
 * Step into
 * Toggle breakpoint

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.

Downloaded macros should also be placed in this directory.

Default directory
Macros can be simply copied into

where is a top level directory searched by FreeCAD on startup.

The could be a system wide directory, in which case the macro is installed for all users.
 * On Linux it is usually
 * On Windows it is usually
 * On Mac OSX it is usually

The could be a particular user's directory.
 * On Linux it is usually
 * On Windows it is usually
 * On Mac OSX it is usually

Configurazione della directory utente
1. Aprire il menu per aprire la finestra di dialogo Esegui 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.



Automatic method
Starting with FreeCAD 0.17, use the Addon Manager in to install a macro that has been included in the FreeCAD-macros repository.

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.

The recommended way to install addons, that is, external workbenches and macros, is the Addon Manager. However, you can still add macros to your system with the manual methods described in the following sections; this is useful if you are developing and testing your own code.

Metodo per copiare il codice da una finestra e incollarlo nell'editor di FreeCAD
For macros that are relatively small, 300 lines or less, the code can be copied and pasted directly into the FreeCAD macro editor.

In questo esempio viene copiata la macro Macro Apothem Based Prism GUI

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 vengono inserite nella directory delle macro e una di esse serve come icona scorciatoia da usare nella barra degli strumenti.

If there is a custom icon download it; click on it with the right mouse button and select ; place the icon in the macros directory. This icon can be used as a shortcut for the macro in a custom toolbar. The default icon is.



Dopo averlo copiato il codice verrà incollato nell'editor FreeCAD.

1 : Avviare FreeCAD e aprire l'editor



2 : Si apre la finestra dei file delle macro, fare clic sul pulsante



3 : Si apre una nuova finestra, immettere il nome della macro (in questo caso: "Macro_Apothem_Based_Prism_GUI") poi cliccare su



4 : Ora la finestra di modifica macro di FreeCAD è disponibile e ha il nome della nostra futura macro.



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



6 : Viene visualizzata una finestra di avviso che chiede di confermare, fare clic su

Restart FreeCAD to correctly register the new macro.



7 : Ripetere il numero 1 :, cliccare sulla nuova macro e poi su



8 : La macro si avvia, Compila i campi dei valori e fare clic sul pulsante



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



12 : Ora che la macro è nell'editor di FreeCAD è possibile eseguirla tramite il menù "Macro Esegui macro" o cliccando sul triangolo verde 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

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



8 : La macro viene eseguita, inserire i dati e fare clic su





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.

FreeCAD usa due metodi per visualizzare le informazioni nella finestra della vista report.

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