Manual:Using spreadsheets/it: Difference between revisions

From FreeCAD Documentation
No edit summary
(Created page with "{{Docnav/it|Modellazione BIM|Creare analisi FEM|Pagina iniziale del manuale|IconC=Cry...")
(32 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
{{Docnav/it|[[Manual:BIM modeling/it|Modellazione BIM]]|[[Manual:Creating FEM analyses/it|Creare analisi FEM]]|[[Manual:Introduction/it|Pagina iniziale del manuale]]|IconC=Crystal Clear manual.png}}

{{Manual:TOC/it}}
{{Manual:TOC/it}}


FreeCAD dispone di un altro ambiente di lavoro interessante da esplorare: l'ambiente [[Spreadsheet_Module/it|Spreadsheet]]. Questo ambiente permette di creare direttamente in FreeCAD un [https://en.wikipedia.org/wiki/Spreadsheet foglio di calcolo] come quelli fatti con [https://en.wikipedia.org/wiki/Microsoft_Excel Excel] o con [https://en.wikipedia.org/wiki/OpenOffice.org_Calc LibreOffice]. Questi fogli di calcolo possono essere popolati con dei dati estratti dal modello, e possono anche eseguire una serie di calcoli tra i valori. I fogli di calcolo possono essere esportati come file CSV, che possono essere importati in qualsiasi altra applicazione che gestisca i foglio di calcolo.
FreeCAD dispone di un altro ambiente di lavoro interessante da esplorare: l'ambiente [[Spreadsheet_Module/it|Spreadsheet]]. Questo ambiente permette di creare direttamente in FreeCAD un [https://en.wikipedia.org/wiki/Spreadsheet foglio di calcolo] come quelli fatti con [https://en.wikipedia.org/wiki/Microsoft_Excel Excel] o con [https://en.wikipedia.org/wiki/OpenOffice.org_Calc LibreOffice]. Questi fogli di calcolo possono essere popolati con dei dati estratti dal modello, e possono anche eseguire una serie di calcoli tra i valori. I fogli di calcolo possono essere esportati come file CSV, che possono essere importati in qualsiasi altra applicazione che gestisca i foglio di calcolo.


In FreeCAD, però, fogli di calcolo hanno un'utilità aggiuntiva: le loro celle possono ricevere un nome, e possono quindi essere referenziate da qualsiasi campo supportato dal [[Expressions/it|motore delle espressioni]]. Questo trasforma fogli di calcolo in potenti strutture di controllo, in cui i valori inseriti nelle specifiche celle possono guidare le dimensioni del modello. C'è solo una cosa da tenere a mente, dato che FreeCAD vieta le dipendenze circolari tra oggetti, uno stesso foglio non può essere utilizzato per impostare una proprietà di un oggetto e allo stesso tempo recuperare il valore della proprietà dallo stesso oggetto. Ciò renderebbe il foglio di calcolo e l'oggetto dipendenti l'uno dall'altro.
In FreeCAD, però, fogli di calcolo hanno un'utilità aggiuntiva: le loro celle possono ricevere un nome, e possono quindi essere referenziate da qualsiasi campo supportato dal [[Expressions/it|motore delle espressioni]]. Questo trasforma fogli di calcolo in potenti strutture di controllo, in cui i valori inseriti nelle specifiche celle possono guidare le dimensioni del modello. C'è solo una cosa da tenere a mente, dato che FreeCAD vieta le dipendenze circolari tra oggetti, lo stesso foglio non può essere utilizzato per impostare una proprietà di un oggetto e allo stesso tempo recuperare il valore della proprietà dallo stesso oggetto. Ciò renderebbe il foglio di calcolo e l'oggetto dipendenti l'uno dall'altro.


Nel seguente esempio, creeremo un paio di oggetti, recupereremo alcune delle loro proprietà in un foglio di calcolo, e quindi utilizzeremo il foglio di calcolo per guidare direttamente le proprietà di altri oggetti.
Nel seguente esempio, creeremo un paio di oggetti, recupereremo alcune delle loro proprietà in un foglio di calcolo, e quindi utilizzeremo il foglio di calcolo per guidare direttamente le proprietà di altri oggetti.
Line 9: Line 12:
=== Leggere le proprietà ===
=== Leggere le proprietà ===


* Iniziare passando all'ambiente [[Part Workbench/it|Part]], e creare alcuni oggetti: un [[Image:Part_Box.png|16px]] [[Part_Box/it|box]], a [[Image:Part_Cylinder.png|16px]] [[Part_Cylinder/it|cilindro]] e una [[Image:Part_Sphere.png|16px]] [[Part_Sphere/it|sfera]].
* Iniziare passando all'ambiente [[Part Workbench/it|Part]], e creare alcuni oggetti: un [[Image:Part_Box.png|16px]] [[Part_Box/it|box]], un [[Image:Part_Cylinder.png|16px]] [[Part_Cylinder/it|cilindro]] e una [[Image:Part_Sphere.png|16px]] [[Part_Sphere/it|sfera]].
* Modificare le loro proprietà '''Placement''' (o usare lo strumento [[Image:Draft_Move.png|16px]] [[Draft Move/it|Muovi]]) per separarli, in modo che si possa vedere meglio gli effetti di quello che faremo:
* Modificare le loro proprietà '''Placement''' (o usare lo strumento [[Image:Draft_Move.png|16px]] [[Draft Move/it|Muovi]]) per separarli, in modo che si possa vedere meglio gli effetti di quello che faremo:


Line 22: Line 25:
L'editor di FreeCAD, anche se non è così completo e potente come quello dei fogli di calcolo elencati sopra, posside comunque la maggior parte degli strumenti di base e le funzioni che vengono utilizzate comunemente, come ad esempio la possibilità di cambiare l'aspetto delle celle ( dimensione, colore, allineamento), unire e dividere le celle, l'uso di formule come '''= 2 + 2''', o di riferirsi ad altre celle con '''= B1'''.
L'editor di FreeCAD, anche se non è così completo e potente come quello dei fogli di calcolo elencati sopra, posside comunque la maggior parte degli strumenti di base e le funzioni che vengono utilizzate comunemente, come ad esempio la possibilità di cambiare l'aspetto delle celle ( dimensione, colore, allineamento), unire e dividere le celle, l'uso di formule come '''= 2 + 2''', o di riferirsi ad altre celle con '''= B1'''.


In FreeCAD, a questi comportamenti comuni, è stata aggiunta una cosa molto interessante: la possibilità di fare riferimento non solo ad altre celle, ma anche ad altri oggetti del documento, e di recuperare i valori dalle loro proprietà. Come esempio, proviamo a recuperare alcune proprietà dai 3 oggetti creati in precedenza. Le proprietà sono quello che possiamo vedere nella finestra dell'editor delle proprietà, nella scheda '''Dati''', quando si seleziona un oggetto.
In FreeCAD, oltre a queste funzionalità comuni, ce n'è una nuova interessante: la possibilità di fare riferimento non solo ad altre celle, ma anche ad altri oggetti del documento, e di recuperare i valori dalle loro proprietà. Come esempio, proviamo a recuperare alcune proprietà dai 3 oggetti creati in precedenza. Le proprietà sono quello che possiamo vedere nella finestra dell'editor delle proprietà, nella scheda '''Dati''', quando si seleziona un oggetto.


* Iniziamo inserendo un paio di testi nelle celle A1, A2 e A3, in modo che più avanti si possa ricordare a cosa si riferiscono, per esempio '''Cube Length''', '''Cylinder Radius''' e '''Sphere Radius'''. Per immettere il testo, basta scrivere nel campo "Contents" sopra il foglio di calcolo, o fare doppio clic su una cella.
* Iniziamo inserendo un paio di testi nelle celle A1, A2 e A3, in modo che più avanti si possa ricordare a cosa si riferiscono, per esempio '''Cube Length''', '''Cylinder Radius''' e '''Sphere Radius'''. Per immettere il testo, basta scrivere nel campo "Contents" sopra il foglio di calcolo, o fare doppio clic su una cella.
Line 35: Line 38:
[[Image:Exercise_spreadsheet_04.jpg]]
[[Image:Exercise_spreadsheet_04.jpg]]


The [[Spreadsheet_Module|Spreadsheet Workbench]] page will describe more in detail all the possible operations and functions that you can use in spreadsheets.
Nella pagina [[Spreadsheet_Module/it|L'ambiente foglio di calcolo]] sono descritte più in dettaglio tutte le possibili operazioni e le funzioni disponibili nei fogli di calcolo.


=== Writing properties ===
=== Scrivere le proprietà ===


Un altro uso molto interessante del foglio di calcolo in FreeCAD è quello di fare il contrario di quello che abbiamo fatto fino ad ora: invece di leggere i valori delle proprietà degli oggetti 3D, possiamo anche assegnare i valori a questi oggetti. Ricordate, però, una delle regole fondamentali di FreeCAD: le dipendenze circolari sono vietate. Pertanto, non possiamo usare lo stesso foglio per leggere '''e''' scrivere i valori di un oggetto 3D. Ciò renderebbe l'oggetto dipendente dal foglio di calcolo, che a sua volta sarebbe dipendente dall'oggetto. Creiamo invece un altro foglio di calcolo.
Another very interesting use of the Spreadsheet Workbench in FreeCAD is to do the contrary of what we have been doing until now: Instead of reading the values of properties of 3D objects, we can also assign values to these objects. Remember, however, one of the fundamental rules of FreeCAD: Circular dependencies are forbidden. We can therefore not use the same spreadsheet to read '''and''' write values to a 3D object. That would make the object depend on the spreadsheet, which would also depend on the object. Instead, we will create another spreadsheet.


* Ora possiamo chiudere la scheda foglio di calcolo (nella vista 3D). Questo non è obbligatorio, non c'è nessun problema nel mantenere diverse finestre di fogli di calcolo aperte.
* We can now close the spreadsheet tab (under the 3D view). This is not mandatory, there is no problem in keeping several spreadsheet windows open.
* Press the [[Image:Spreadsheet_Create.png|16px]] '''New Spreadsheet''' button again
* Premere nuovamente il pulsante [[Image:Spreadsheet_Create.png|16px]] '''Nuovo foglio di calcolo'''
* Cambiare il nome del nuovo foglio di calcolo con qualcosa di più significativo, come ad esempio '''Input''' (cliccare col tasto destro sul nuovo oggetto foglio di calcolo, e scegliere '''Rinomina''').
* Change the name of the new spreadsheet to something more meaningful, suchas '''Input''' (do this by right-clicking the new spreadsheet object, and choosing '''Rename''').
* Fare doppio clic sul foglio Input per aprire l'editor dei fogli.
* Double-click the Input spreadsheet to open the spreadsheet editor.
* In cell A1, let's put a descriptive text, for example: "Cube dimensions"
* Nella cella A1, inserire un testo descrittivo, per esempio: "Cube dimensions"
* In cell B1, write '''=5mm''' (using the = sign makes sure the value is interpreted as a unit value, not a text).
* Nella cella B1, scrivere '''=5mm''' (utilizzando il segno = si è certi che il valore viene interpretato come un valore unitario, non come un testo).
* Now to be able to use this value outside the spreadsheet, we need to give a name, or alias, to the B1 cell. Right-click the cells, click '''Properties''' and select the '''Alias''' tab. Give it a name, such as '''cubedims''':
* Ora, per poter utilizzare questo valore al di fuori del foglio di calcolo, bisogna dare un nome, o un alias, alla cella B1. Fare clic con il tasto destro del mouse sulla cella, poi fare clic su '''Proprietà''' e selezionare la scheda '''Alias'''. Dargli un nome, ad esempio '''cubedims''':


[[Image:Exercise_spreadsheet_05.jpg]]
[[Image:Exercise_spreadsheet_05.jpg]]


* Press '''OK''', then close the spreadsheet tab
* Premere '''OK''', quindi chiudere la scheda foglio di calcolo
* Selezionare l'oggetto cubo
* Select the cube object
* In the properties editor, click the little [[Image:Bound-expression-unset.png|16px]] '''expression''' icon at the right side of the '''Length''' field. This will open the [[Expressions|expressions editor]], where you can write '''Spreadsheet001.cubedims'''. Repeat this for Height and Width:
* Nel editor di proprietà, fare clic sulla piccola icona [[Image:Bound-expression-unset.png|16px]] '''espressioni''' sul lato destro del campo '''Length'''. Si apre l'[[Expressions|editor delle espressioni]], dove si può scrivere '''Spreadsheet001.cubedims'''. Ripetere questa operazione per Height e Width:


[[Image:Exercise_spreadsheet_06.jpg]]
[[Image:Exercise_spreadsheet_06.jpg]]


Si potrebbe chiedere perché nell'espressione sopra abbiamo dovuto usare "Spreadsheet001" invece di "Input". Questo perché, in un documento FreeCAD, ogni oggetto ha un '''nome interno''', che è unico nel documento, e una '''etichetta''', che è quello che appare nella vista ad albero. Deseleziondo l'opzione appropriata nelle impostazioni delle preferenze, FreeCAD permette di dare la stessa etichetta a più di un oggetto. Questo è il motivo per cui tutte le operazioni che devono identificare con certezza un oggetto utilizzano il nome interno ivece dell'etichetta, che potrebbe designare più di un oggetto. Il modo più semplice per conoscere il nome interno di un oggetto è quello di mantenere aperto il '''pannello selezione''' (menù Visualizza -> Pannelli -> Selezione), esso indica sempre il nome interno di un oggetto selezionato:
You might wonder why we had to use "Spreadsheet001" instead of "Input" in the expression above. This is beacause each object, in a FreeCAD document, has an '''internal name''', which is unique in the document, and a '''label''', which is what appears in the tree view. If you uncheck the appropriate option in the preferences settings, FreeCAD will allow you to give the same label to more than one object. This is why all operations that must identify an object with absolutely no doubt, will use the internal name instead of the label, which could designate more than one object. The easiest way to know the internal name of an object is by keeping the '''selection panel''' (menu Edit->Panels) open, it will always indicate the internal name of a selected object:


[[Image:Exercise_spreadsheet_07.jpg]]
[[Image:Exercise_spreadsheet_07.jpg]]


Usando gli alias delle celle nei fogli di calcolo, è possibile utilizzare un foglio di calcolo per memorizzare i "valori master" in un documento FreeCAD. Questo può essere utilizzato, ad esempio, per avere un modello di un pezzo con certe dimensioni, e per memorizzare tali dimensioni in un foglio di calcolo. Diventa quindi molto facile produrre un altro modello con dimensioni diverse, basta aprire il file e modificare un paio di quote nel foglio di calcolo.
By using cell aliases in spreadsheets, we are able to use a spreadsheet to store "master values" in a FreeCAD document. This can be used, for example, to have a model of a piece of certain dimensions, and to store these dimensions in a spreadsheet. It becomes then very easy to produce another model with different dimensions, it is just a matter of opening the file and changing a couple of dimensions in the spreadsheet.


Infine, notare che anche i vincoli all'interno uno schizzo possono ricevere il valore da una cella del foglio:
Finally, note that the constraints inside a sketch can also receive the value of a spreadsheet cell:


[[Image:Exercise_spreadsheet_08.jpg]]
[[Image:Exercise_spreadsheet_08.jpg]]


Si può anche dare un alias a vincoli dimensionali (orizzontale, verticale o distanza) in uno schizzo (quindi è anche possibile utilizzare tale valore al di fuori dello schizzo):
You can also give aliases to dimensional constraints (horizontal, vertical or distance) in a sketch (you can then use that value from outside the sketch as well):


[[Image:Exercise_spreadsheet_09.jpg]]
[[Image:Exercise_spreadsheet_09.jpg]]
Line 73: Line 76:
'''Download'''
'''Download'''


* The file produced in this exercise: https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/spreadsheet.FCStd
* Il file prodotto in questo esercizio: https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/spreadsheet.FCStd


'''Read more'''
'''Approfondimenti'''


* [[Spreadsheet_Module|The Spreadsheet Workbench]]
* [[Spreadsheet_Module/it|L'ambiente Foglio di calcolo]]
* [[Expressions|The Expressions engine]]
* [[Expressions/it|Le espressioni]]


[[Category:Tutorials]]
[[Category:Tutorials/it]]

<languages/>
{{Docnav/it|[[Manual:BIM modeling/it|Modellazione BIM]]|[[Manual:Creating FEM analyses/it|Creare analisi FEM]]|[[Manual:Introduction/it|Pagina iniziale del manuale]]|IconC=Crystal Clear manual.png}}

Revision as of 21:47, 20 May 2019

FreeCAD dispone di un altro ambiente di lavoro interessante da esplorare: l'ambiente Spreadsheet. Questo ambiente permette di creare direttamente in FreeCAD un foglio di calcolo come quelli fatti con Excel o con LibreOffice. Questi fogli di calcolo possono essere popolati con dei dati estratti dal modello, e possono anche eseguire una serie di calcoli tra i valori. I fogli di calcolo possono essere esportati come file CSV, che possono essere importati in qualsiasi altra applicazione che gestisca i foglio di calcolo.

In FreeCAD, però, fogli di calcolo hanno un'utilità aggiuntiva: le loro celle possono ricevere un nome, e possono quindi essere referenziate da qualsiasi campo supportato dal motore delle espressioni. Questo trasforma fogli di calcolo in potenti strutture di controllo, in cui i valori inseriti nelle specifiche celle possono guidare le dimensioni del modello. C'è solo una cosa da tenere a mente, dato che FreeCAD vieta le dipendenze circolari tra oggetti, lo stesso foglio non può essere utilizzato per impostare una proprietà di un oggetto e allo stesso tempo recuperare il valore della proprietà dallo stesso oggetto. Ciò renderebbe il foglio di calcolo e l'oggetto dipendenti l'uno dall'altro.

Nel seguente esempio, creeremo un paio di oggetti, recupereremo alcune delle loro proprietà in un foglio di calcolo, e quindi utilizzeremo il foglio di calcolo per guidare direttamente le proprietà di altri oggetti.

Leggere le proprietà

  • Iniziare passando all'ambiente Part, e creare alcuni oggetti: un box, un cilindro e una sfera.
  • Modificare le loro proprietà Placement (o usare lo strumento Muovi) per separarli, in modo che si possa vedere meglio gli effetti di quello che faremo:

  • Ora, si tratta di estrarre alcune informazioni su questi oggetti. Passare all'ambiente Spreadsheet
  • Premere il pulsante Nuovo foglio di calcolo
  • Fare doppio clic sul nuovo oggetto Spreadsheet nella vista ad albero. Si apre l'editor dei fogli di calcolo:

L'editor di FreeCAD, anche se non è così completo e potente come quello dei fogli di calcolo elencati sopra, posside comunque la maggior parte degli strumenti di base e le funzioni che vengono utilizzate comunemente, come ad esempio la possibilità di cambiare l'aspetto delle celle ( dimensione, colore, allineamento), unire e dividere le celle, l'uso di formule come = 2 + 2, o di riferirsi ad altre celle con = B1.

In FreeCAD, oltre a queste funzionalità comuni, ce n'è una nuova interessante: la possibilità di fare riferimento non solo ad altre celle, ma anche ad altri oggetti del documento, e di recuperare i valori dalle loro proprietà. Come esempio, proviamo a recuperare alcune proprietà dai 3 oggetti creati in precedenza. Le proprietà sono quello che possiamo vedere nella finestra dell'editor delle proprietà, nella scheda Dati, quando si seleziona un oggetto.

  • Iniziamo inserendo un paio di testi nelle celle A1, A2 e A3, in modo che più avanti si possa ricordare a cosa si riferiscono, per esempio Cube Length, Cylinder Radius e Sphere Radius. Per immettere il testo, basta scrivere nel campo "Contents" sopra il foglio di calcolo, o fare doppio clic su una cella.
  • Ora recuperiamo la lunghezza attuale del cubo. Nella cella B1, digitare =Cube.Length. Notare che il foglio di calcolo ha un meccanismo di completamento automatico, che in realtà è lo stesso dell'editor delle espressioni che abbiamo usato nel capitolo precedente.
  • Fare lo stesso per le celle B2 (=Cylinder.Radius) e B3 (=Sphere.Radius).

  • Anche se questi risultati sono espressi con le loro unità, i valori possono essere manipolati come qualsiasi numero, provare ad esempio ad inserire nella cella C1: =B1*2.
  • Ora si può cambiare uno di questi valori nel editor delle proprietà, e il cambiamento si rifletterà immediatamente nel foglio di calcolo. Per esempio, cambiamo la lunghezza del cubo a 20 mm:

Nella pagina L'ambiente foglio di calcolo sono descritte più in dettaglio tutte le possibili operazioni e le funzioni disponibili nei fogli di calcolo.

Scrivere le proprietà

Un altro uso molto interessante del foglio di calcolo in FreeCAD è quello di fare il contrario di quello che abbiamo fatto fino ad ora: invece di leggere i valori delle proprietà degli oggetti 3D, possiamo anche assegnare i valori a questi oggetti. Ricordate, però, una delle regole fondamentali di FreeCAD: le dipendenze circolari sono vietate. Pertanto, non possiamo usare lo stesso foglio per leggere e scrivere i valori di un oggetto 3D. Ciò renderebbe l'oggetto dipendente dal foglio di calcolo, che a sua volta sarebbe dipendente dall'oggetto. Creiamo invece un altro foglio di calcolo.

  • Ora possiamo chiudere la scheda foglio di calcolo (nella vista 3D). Questo non è obbligatorio, non c'è nessun problema nel mantenere diverse finestre di fogli di calcolo aperte.
  • Premere nuovamente il pulsante Nuovo foglio di calcolo
  • Cambiare il nome del nuovo foglio di calcolo con qualcosa di più significativo, come ad esempio Input (cliccare col tasto destro sul nuovo oggetto foglio di calcolo, e scegliere Rinomina).
  • Fare doppio clic sul foglio Input per aprire l'editor dei fogli.
  • Nella cella A1, inserire un testo descrittivo, per esempio: "Cube dimensions"
  • Nella cella B1, scrivere =5mm (utilizzando il segno = si è certi che il valore viene interpretato come un valore unitario, non come un testo).
  • Ora, per poter utilizzare questo valore al di fuori del foglio di calcolo, bisogna dare un nome, o un alias, alla cella B1. Fare clic con il tasto destro del mouse sulla cella, poi fare clic su Proprietà e selezionare la scheda Alias. Dargli un nome, ad esempio cubedims:

  • Premere OK, quindi chiudere la scheda foglio di calcolo
  • Selezionare l'oggetto cubo
  • Nel editor di proprietà, fare clic sulla piccola icona espressioni sul lato destro del campo Length. Si apre l'editor delle espressioni, dove si può scrivere Spreadsheet001.cubedims. Ripetere questa operazione per Height e Width:

Si potrebbe chiedere perché nell'espressione sopra abbiamo dovuto usare "Spreadsheet001" invece di "Input". Questo perché, in un documento FreeCAD, ogni oggetto ha un nome interno, che è unico nel documento, e una etichetta, che è quello che appare nella vista ad albero. Deseleziondo l'opzione appropriata nelle impostazioni delle preferenze, FreeCAD permette di dare la stessa etichetta a più di un oggetto. Questo è il motivo per cui tutte le operazioni che devono identificare con certezza un oggetto utilizzano il nome interno ivece dell'etichetta, che potrebbe designare più di un oggetto. Il modo più semplice per conoscere il nome interno di un oggetto è quello di mantenere aperto il pannello selezione (menù Visualizza -> Pannelli -> Selezione), esso indica sempre il nome interno di un oggetto selezionato:

Usando gli alias delle celle nei fogli di calcolo, è possibile utilizzare un foglio di calcolo per memorizzare i "valori master" in un documento FreeCAD. Questo può essere utilizzato, ad esempio, per avere un modello di un pezzo con certe dimensioni, e per memorizzare tali dimensioni in un foglio di calcolo. Diventa quindi molto facile produrre un altro modello con dimensioni diverse, basta aprire il file e modificare un paio di quote nel foglio di calcolo.

Infine, notare che anche i vincoli all'interno uno schizzo possono ricevere il valore da una cella del foglio:

Si può anche dare un alias a vincoli dimensionali (orizzontale, verticale o distanza) in uno schizzo (quindi è anche possibile utilizzare tale valore al di fuori dello schizzo):

Download

Approfondimenti