Spreadsheet Workbench/it: Difference between revisions

From FreeCAD Documentation
mNo edit summary
No edit summary
 
(325 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
{{Version/it|0.15}}L'ambiente Spreadsheet consente di creare e modificare un foglio di calcolo, inoltre permette di eseguire le operazioni, di recuperare i dati da un modello e di esportare i sui dati in altre applicazioni analoghe, come LibreOffice o Microsoft Excel.


{{Docnav/it
|[[Sketcher_Workbench/it|Ambiente Sketcher]]
|[[Surface_Workbench/it|Ambiente Surface]]
|IconL=Workbench_Sketcher.svg
|IconR=Workbench_Surface.svg
}}


[[Image:Workbench_Spreadsheet.svg|thumb|128px|L'icona dell'ambiente Spreadsheet]]
[[File:Spreadsheet_screenshot.jpg]]


<span id="Introduction"></span>
==Introduzione==


L'[[Spreadsheet_Workbench/it|AmbienteSpreadsheet]] [[Image:Workbench_Spreadsheet.svg|24px]] consente di creare e modificare fogli di calcolo, utilizzare i dati del foglio di calcolo come parametri in un modello, riempire il foglio di calcolo con i dati ricavati da un modello, eseguire calcoli ed esportare i dati in altre applicazioni di fogli di calcolo come LibreOffice o Microsoft Excel.
== Funzioni supportate ==


{{TOCright}}


[[File:Spreadsheet_screenshot.jpg|600px]]
Il foglio di calcolo fornisce le seguenti funzioni che accettano uno o due argomenti: abs, acos, asin, atan, atan2, cos, cosh, exp, log, log10, mod, pow, sin, sinh, sqrt, tan, tanh
{{Caption|Un foglio di calcolo con alcune celle compilate con testo e quantità}}


<span id="Tools"></span>
Le funzioni trigonometriche utilizzano i gradi come unità di default; fornire '''rad''' se si desidera che utilizzino i radianti.
==Strumenti==


* [[File:Spreadsheet_CreateSheet.svg|24px]] [[Spreadsheet_CreateSheet/it|Crea un foglio di calcolo]]: crea un nuovo foglio di calcolo.
In FreeCAD 0.16 sono disponibili le funzioni aggiuntive: ceil, floor, trunc, and round {{Version/it|0.16}}


* [[File:Spreadsheet_Import.svg|24px]] [[Spreadsheet_Import/it|Importa]]: importa un file CSV in un foglio di calcolo.
Sono supportate le seguenti funzioni di aggregazione: "average", "count", "max", "min", "stddev", "sum".


* [[File:Spreadsheet_Export.svg|24px]] [[Spreadsheet_Export|Esporta]]: esporta un file CSV da un foglio di calcolo.
Le funzioni di aggregazione possono prendere uno o più argomenti, separati da virgola o punto e virgola. Gli argomenti possono includere degli intervalli (due celle separate da due punti), ad es =average(B1:B8)


* [[File:Spreadsheet_MergeCells.svg|24px]] [[Spreadsheet_MergeCells/it|Unisci celle]]: unisce le celle selezionate.
Le costanti pi greco ed e sono predefinite


* [[File:Spreadsheet_SplitCell.svg|24px]] [[Spreadsheet_SplitCell/it|Dividi celle]]: divide le celle precedentemente unite.
L'istruzione condizionale funziona così: ''= condition ? resultTrue : resultFalse''


* [[File:Spreadsheet_AlignLeft.svg|24px]] [[Spreadsheet_AlignLeft/it|Allinea a sinistra]]: allinea il contenuto delle celle selezionate a sinistra.
La condizione è definita come un'espressione che restituisce 0 (per false) o non-zero per true. Sono definiti i seguenti operatori di confronto: ==, !=, >, <, >=, and <=.


* [[File:Spreadsheet_AlignCenter.svg|24px]] [[Spreadsheet_AlignCenter/it|Allinea al centro]]: allinea il contenuto delle celle selezionate al centro orizzontalmente.
L'istruzione condizionale ha in realtà un bug riguardante le dichiarazioni condizionali nidificate. Solo il risultato vero può avere un'altra affermazione condizionale. Le parentesi vengono rimosse dopo aver confermato l'espressione. Il tentativo di inserire un'istruzione condizionale nidificata nel risultato falso genera parentesi di parentesi errate con un risultato diverso dopo il salvataggio e la riapertura del documento.


* [[File:Spreadsheet_AlignRight.svg|24px]] [[Spreadsheet_AlignRight/it|Allinea a destra]]: allinea il contenuto delle celle selezionate a destra.
Le formule sono scritte in questo modo: ''=A2+A3''


* [[File:Spreadsheet_AlignTop.svg|24px]] [[Spreadsheet_AlignTop/it|Allinea in alto]]: allinea il contenuto delle celle selezionate in alto.
I riferimenti alle celle devono essere scritti con lettere maiuscole.


* [[File:Spreadsheet_AlignVCenter.svg|24px]] [[Spreadsheet_AlignVCenter/it|Allinea verticalmente in centro]]: allinea verticalmente il contenuto delle celle selezionate al centro.
== Riferimento ai dati CAD ==


* [[File:Spreadsheet_AlignBottom.svg|24px]] [[Spreadsheet_AlignBottom/it|Allinea in basso]]: allinea in basso il contenuto delle celle selezionate.
Nel foglio di calcolo è possibile utilizzare i dati dalla costruzione.

La tabella seguente mostra alcuni esempi supponendo che il modello abbia una funzionalità denominata "Cube" (si noti che questo è il nome interno della funzionalità, non l'etichetta assegnata dall'utente):
* [[File:Spreadsheet_StyleBold.svg|24px]] [[Spreadsheet_StyleBold/it|Stile grassetto]]: imposta il contenuto delle celle selezionate in grassetto.

* [[File:Spreadsheet_StyleItalic.svg|24px]] [[Spreadsheet_StyleItalic/it|Stile corsivo]]: imposta il contenuto delle celle selezionate in corsivo.

* [[File:Spreadsheet_StyleUnderline.svg|24px]] [[Spreadsheet_StyleUnderline/it|Stile sottolineato]]: imposta il contenuto delle celle selezionate su sottolineato.

* [[File:Spreadsheet_SetAlias.svg|24px]] [[Spreadsheet_SetAlias/it|Alias]]: imposta l'alias per la cella selezionata.

* {{Button|Nero}} e {{Button|Bianco}} impostano i colori di primo piano e di sfondo delle celle selezionate.

<span id="Preferences"></span>
== Preferenze ==

* [[Image:Preferences-spreadsheet.svg|32px]] [[Spreadsheet_Preferences/it|Preferenze]]: le preferenze per l'Ambiente Spreadsheet. {{Version/it|0.20}}

<span id="Removing_cells_can_be_dangerous"></span>
== Rimuovere le celle può essere pericoloso ==

Tieni presente che la cancellazione o rimozione di celle con dati può danneggiare il foglio di calcolo e il modello se si basa sul foglio di calcolo. Non sei pre avvisato se ciò accade.

<span id="Insert_and_remove_rows_and_columns"></span>
== Inserisci e rimuovi righe e colonne ==

È possibile inserire o rimuovere righe e colonne facendo clic con il pulsante destro del mouse sull'intestazione di una riga o di una colonna e selezionando l'opzione appropriata dal menu contestuale. È possibile selezionare prima più righe o colonne. Tenendo premuto il tasto {{KEY|Ctrl}} durante la selezione delle intestazioni, oppure tenendo premuto il pulsante sinistro del mouse e trascinando.

<span id="Edit_cells"></span>
== Modifica delle celle ==

Il contenuto di una cella può essere modificato selezionando la cella e inserendo un valore nella casella di input {{MenuCommand|Content}} nella parte superiore della finestra. Per modificare una cella sul posto, selezionarla e premere {{KEY|F2}} o fare doppio clic su di essa.

<span id="Delete_cells"></span>
== Eliminare le celle ==

Per eliminare una o più celle selezionarle e premere {{KEY|Canc}}. Ciò eliminerà il loro contenuto, le loro proprietà e i loro alias. Per eliminare solo il contenuto di una cella, è necessario modificarla.

<span id="Cut_and_copy-paste_cells"></span>
== Taglia e copia-incolla le celle ==

Le operazioni di taglia e copia-incolla possono essere utilizzate sulle celle nei fogli di calcolo. Puoi utilizzare le normali scorciatoie per queste operazioni: {{KEY|Ctrl}}+{{KEY|X}}, {{KEY|Ctrl}}+{{KEY|C}} e {{KEY|Ctrl}}+ {{KEY|V}} rispettivamente. Per selezionare più celle, tieni premuto il tasto {{KEY|Ctrl}} durante la selezione oppure tieni premuto il pulsante sinistro del mouse e trascina per selezionare un intervallo di celle rettangolari.

Le operazioni di taglio e copia memorizzano il contenuto, le proprietà e gli alias delle celle negli Appunti. L'operazione di incollaggio scrive i dati in modo tale che il contenuto della cella in alto a sinistra dei dati archiviati venga rilasciato nella cella attiva. L'altro contenuto memorizzato viene posizionato rispetto a quella cella. Le formule vengono aggiornate di conseguenza. Gli alias vengono incollati solo se sono univoci

<span id="Cell_properties"></span>
=== Proprietà delle celle ===

Le proprietà di una cella del foglio possono essere modificate cliccando col tasto destro su una cella and selezionando {{MenuCommand|Proprietà...}} dal menu contestuale. Si apre la seguente finestra:

[[File:SpreadsheetCellPropDialog.png]]

Come indicato dalle schede, è possibile modificare le seguenti proprietà:

* Color: Colore del testo e colore di sfondo
* Alignment: Allineamento orizzontale e verticale del testo
* Style: Stile del testo: grassetto, corsivo, sottolineato
* Units: Mostra le unità di misura per questa cella. Per favore leggi la sezione [[#Unità_di_misura | Unità di misura]] sottostante.
* Alias: Definisce un nome [[Spreadsheet_SetAlias/it|alias]] per questa cella. Questo alias può essere utilizzato nelle formule della cella e in generale anche nelle [[Expressions/it|espressioni]]; per maggiori informazioni guarda la sezione [[#Espressioni nelle celle|Espressioni nelle celle]] .

<span id="Cell_expressions"></span>
== Espressioni nelle celle ==

Una cella di un foglio di calcolo può contenere un numero, un testo o un'espressione. Le espressioni devono iniziare con un segno di uguale '='.

Le espressioni inserite nelle celle possono contenere numeri, funzioni, riferimenti ad altre celle e riferimenti alle proprietà del modello (Ma vedere sotto le [[#Limitazioni_attuali | Limitazioni attuali]]). Le celle sono referenziate dalla loro colonna (lettera maiuscola) e riga (numero). Una cella può essere referenziata dal suo indirizzo (lettera della colonna MAIUSCOLA + numero di riga, es. B4) o dal suo [[Spreadsheet_SetAlias/it|alias]].

Le espressioni inserite nelle celle sono trattate da FreeCAD come codice di programmazione. Pertanto, quando modifichi una cella il contenuto che vedi potrebbe non seguire le tue impostazioni di visualizzazione:
*Il separatore dei decimali è sempre un punto. Ma le virgole possono essere utilizzate anche quando si immettono valori.
*Il numero di decimali visualizzati può differire dalle tue [[Preferences_Editor/it#Unità|impostazioni]].

I riferimenti agli oggetti nel modello sono spiegati in seguito in [[#Riferimento_ai_dati_CAD|Riferimento ai dati CAD]]. L'utilizzo dei valori delle celle del foglio di calcolo per definire le proprietà del modello è spiegato in seguito in [[#Dati dei fogli di calcolo nelle espressioni|Dati del foglio di calcolo nelle espressioni]]. Per ulteriori informazioni sulle espressioni e sulle funzioni dipsonibili, consultare la pagina [[Expressions/it|Espressioni]].

<span id="Interaction_between_spreadsheets_and_the_CAD_model"></span>
== Interazione tra fogli di calcolo e modello CAD ==

I dati nelle celle di un foglio di calcolo possono essere utilizzati nelle espressioni dei parametri del modello CAD. Pertanto, un foglio di calcolo può essere utilizzato come origine per i valori dei parametri utilizzati in un modello, raccogliendo efficacemente i valori in un'unica posizione. Quando i valori vengono modificati nel foglio di calcolo, le modifiche si propagano nel modello.

Allo stesso modo, le proprietà degli oggetti del modello CAD possono essere utilizzate nelle espressioni nelle celle del foglio di calcolo. Ciò consente l'uso di proprietà dell'oggetto, come il volume o l'area, nel foglio di calcolo. Se nel modello CAD viene cambiato il nome di un oggetto, la modifica viene automaticamente propagata a qualsiasi riferimento nelle espressioni del foglio di calcolo utilizzando il nome che è stato modificato.

In un documento si possono utilizzare più fogli di calcolo. Un foglio di calcolo può essere identificato tramite sia il suo nome che la sua etichetta.

FreeCAD assegna automaticamente un nome univoco ad un foglio di calcolo quando questo viene creato. Questi nome seguono il modello {{incode|Spreadsheet}}, {{incode|Spreadsheet001}}, {{incode|Spreadsheet002}} e così via. Il nome non può essere modificato e non è visibile nelle proprietà del foglio di calcolo. Può essere utilizzato per fare riferimento al foglio di calcolo in un [[Expressions/it | Espressione]] (vedere [[#Dati_dei_fogli_di_calcolo_nelle_espressioni | Dati del foglio di calcolo nelle espressioni]] di seguito).

L'etichetta di un foglio di calcolo viene automaticamente impostata sul nome del foglio di calcolo al momento della creazione. A differenza del nome, l'etichetta può essere modificata, ad esempio nel pannello delle proprietà o utilizzando l'azione del menu contestuale Rinomina. Per impostazione predefinita, FreeCAD non accetta etichette duplicate, ma esiste una [[Preferences_Editor/it#Documento|preferenza]] per sovrascriverlo. I fogli di calcolo con etichette duplicate nello stesso documento non possono essere referenziati con la loro etichetta.

FreeCAD verifica le dipendenze cicliche. Vedere [[Spreadsheet_Workbench/it#Limitazioni attuali|Limitazioni attuali]].

<span id="References_to_CAD-data"></span>
=== Riferimento ai dati CAD ===

Come indicato sopra, è possibile fare riferimento ai dati del modello CAD nelle espressioni del foglio di calcolo.

La tabella seguente mostra alcuni esempi assumendo che il modello abbia una figura denominata "MyCube":
{|{{Prettytable}}
{|{{Prettytable}}
!Dati CAD
!Dati CAD
Line 40: Line 142:
|-
|-
|Lunghezza parametrica di un Cubo di Part
|Lunghezza parametrica di un Cubo di Part
|=Cube.Length
|{{Incode|<nowiki>=MyCube.Length</nowiki>}}
|Lunghezza in mm
|Lunghezza in mm
|-
|-
|Volume del Cubo
|Volume del Cubo
|=Cube.Shape.Volume
|{{Incode|<nowiki>=MyCube.Shape.Volume</nowiki>}}
|Volume in mm&sup3; senza unità
|Volume in mm&sup3; senza unità
|-
|-
|Tipo di forma del Cubo
|Tipo di forma del Cubo
|=Cube.Shape.ShapeType
|{{Incode|<nowiki>=MyCube.Shape.ShapeType</nowiki>}}
|String: Solid
|Stringa: Solid
|-
|-
|Etichetta del Cubo
|Etichetta del Cubo
|=Cube.Label
|{{Incode|<nowiki>=MyCube.Label</nowiki>}}
|String: Cube
|Stringa: Cube
|-
|-
|coordinata x del centro di massa del Cubo
|coordinata x del centro di massa del Cubo
|=Cube.Shape.CenterOfMass.x
|{{Incode|<nowiki>=MyCube.Shape.CenterOfMass.x</nowiki>}}
|coordinata x in mm senza unità di misura
|coordinata in mm senza unità di misura
|}
|}


<span id="Spreadsheet_data_in_expressions"></span>
== Proprietà delle celle ==
=== Dati dei fogli di calcolo nelle espressioni ===


Per utilizzare i dati del foglio di calcolo in altre parti di FreeCAD, di solito creerai un [[Expressions/it#Espressioni | Espressione]] che si riferisce al foglio di calcolo e alla cella che contiene i dati che desideri utilizzare. Puoi identificare i fogli di calcolo per nome o per etichetta e puoi identificare le celle per posizione o per alias. Il completamento automatico è disponibile per tutti i tipi di riferimento.
Le proprietà di una cella del foglio possono essere modificate con un clic destro su una cella. Si apre la seguente finestra:


{|{{Prettytable}}
[[File:SpreadsheetCellPropDialog.png]]
!
!Foglio di calcolo per nome
!Foglio di calcolo per etichetta
|-
!Cella per Posizione
|{{incode|<nowiki>=Spreadsheet042.B5</nowiki>}}
|{{incode|<nowiki>=<<MySpreadsheet>>.B5</nowiki>}}
|-
!Cella per Alias
|{{incode|<nowiki>=Spreadsheet042.MyAlias</nowiki>}}
|{{incode|<nowiki>=<<MySpreadsheet>>.MyAlias</nowiki>}}
|}


<div class = "mw-collapsible mw-collapsed">
Essa contiene diverse schede. Possono essere modificate le seguenti proprietà:
Il modo consigliato per fare riferimento ai dati del foglio di calcolo è utilizzare l'etichetta del foglio di calcolo e il nome dell'alias della cella. Per una spiegazione più approfondita dei pro e dei contro delle modalità di riferimento, vedere la sezione espansa di seguito.
<div class = "mw-collapsible-content">


L'utilizzo dell'etichetta del foglio di calcolo ha il vantaggio che può essere liberamente modificata per descrivere il contenuto del foglio di calcolo. È anche più semplice identificare il foglio di calcolo in uso poiché il testo nell'espressione corrisponde all'etichetta mostrata nelle viste del modello e delle proprietà. Se decidi di modificare l'etichetta di un foglio di lavoro, i riferimenti esistenti ai contenuti del foglio di lavoro verranno aggiornati, in modo da non interrompere le tue espressioni rinominando il foglio di lavoro. Il nome interno del foglio di calcolo non è immediatamente disponibile da nessuna parte tranne che nell'editor delle espressioni, quindi se utilizzi il nome interno e successivamente decidi di rinominare i fogli di calcolo, potresti avere difficoltà a risalire alla fonte dei dati dell'espressione.
* Colore del testo e dello sfondo
* Allineamento verticale e orizzontale
* Stile del testo: grassetto, corsivo, sottolineato
* Visualizzare le unità di misura nella cella. Si prega di leggere la sezione seguente.
* Definire un alias per la cella. L'alias può essere usato nella formula della cella e anche nelle Espressioni di FreeCAD {{Version|0.16}}


Tieni presente che quando crei un nuovo foglio di lavoro, il nome e l'etichetta sono gli stessi, quindi è facile utilizzare accidentalmente il nome del foglio di lavoro invece dell'etichetta. Un modo semplice per evitarlo è dare al foglio di calcolo un nome significativo prima di iniziare a usarlo nelle espressioni.
Le espressioni sono descritte nella pagina [[Expressions/it|Espressioni]]


Sebbene sia possibile utilizzare il numero di riga e di colonna in un'espressione per fare riferimento a una cella, è consigliabile assegnare alla cella un nome alias e utilizzarlo. Vedi [[#Proprietà_delle_celle | Proprietà delle celle]] sopra per informazioni su come impostare l'alias. Ad esempio, se i dati nella cella B1 contenessero il parametro di lunghezza per un oggetto, un nome alias di {{incode | MyObject_Length}} consentirebbe di fare riferimento al valore come {{incode | <<MyParams>> .MyObject_Length}} invece di {{incode | Spreadsheet.B1}}. Oltre ad essere molto più facili da leggere e capire, i nomi alias sono anche molto più facili da modificare se decidi di modificare la struttura del tuo foglio di calcolo. L'uso di un alias ha anche il vantaggio che è più facile vedere quali celle vengono utilizzate per controllare altre parti del documento. Nota che FreeCAD regola automaticamente i riferimenti posizionali nelle espressioni se inserisci o rimuovi righe e colonne nel foglio di calcolo, quindi anche se usi numeri di riga e di colonna in un'espressione, puoi inserire righe e colonne senza interrompere i riferimenti alle celle circostanti.
== Dati dei fogli di calcolo nelle espressioni ==


</div>
L'utilizzo dei dati di un foglio di calcolo in altre parti di FreeCAD richiede un nome completamente definito. Poiché è possibile avere diversi fogli nello stesso documento, serve il nome del foglio con il nome della cella o dell'alias.
</div>
Le seguenti immagini che mostrano l'utilizzo di un "number" alias di un foglio "MySheet" per una espressione
in PartDesign.
[[File:Expression usage1.png]]


<span id="Complex_models_and_recomputes"></span>
Digitando "M" viene mostrato l'elenco dei nomi disponibili. I tasti freccia permettono di selezionare "MySheet".
=== Modelli complessi e ricalcoli ===


La modifica di un foglio di calcolo attiverà un ricalcolo del modello 3D, anche se le modifiche non influiscono sul modello. Per un modello complesso un ricalcolo può richiedere molto tempo e dover attendere dopo ogni singola modifica è ovviamente piuttosto fastidioso.
[[File:Expression usage2.png]]


Ci sono tre soluzioni per affrontare questo problema:
Ora digitando un "n" viene mostrata la lista dei nomi alias disponibili in MySheet che iniziano con "n".
# Salta temporaneamente i ricalcoli:
È possibile selezionare il "number" con il pulsante freccia verso il basso.
#* Nella [[Tree_view/it|Vista ad albero]] fai clic con il tasto destro del mouse sul documento [[Image:Document.svg|24px]] che contiene il foglio di calcolo.
Quando viene dato un nome valido con un contenuto utilizzabile, il campo risultato presenta il risultato del calcolo.
#* Selezionare l'opzione {{MenuCommand | Salta il ricalcolo}} dal menu contestuale.

#* C'è un grosso svantaggio in questa soluzione. I nuovi valori immessi nel foglio di calcolo non verranno visualizzati finché il documento non viene ricalcolato. Viene invece mostrato {{incode | #PENDING}}.
[[File:Expression usage3.png]]
#* Puoi ricalcolare manualmente, usando il comando [[Std_Refresh/it | Modifica: Aggiorna]], o disabilitare {{MenuCommand | Salta il ricalcolo}} quando hai finito di modificare.
# Usare una macro per saltare automaticamente i ricalcoli durante la modifica di un foglio di calcolo:
#* Scarica ed esegui [https://forum.freecadweb.org/viewtopic.php?f=8&t=48600#p419301 skipSheet.FCMacro].
#* Questa soluzione consente di risparmiare alcuni passaggi rispetto alla prima soluzione, ma presenta anche lo svantaggio menzionato.
# Mettere il ​​foglio di calcolo in un file [[File_Format_FCStd/it|FreeCAD]] separato:
#* Puoi fare riferimento ai dati di un foglio di calcolo da un file {{FileName|.FCStd}} esterno con questa sintassi: {{incode | <nowiki> = NameOfFile#<<MySpreadsheet>>.MyAlias​​</nowiki>}}.
#* Il vantaggio di avere il foglio di calcolo in un altro file rispetto alla disattivazione dei ricalcoli è che il foglio di calcolo stesso viene ricalcolato.
#* Lo svantaggio è che il modello non verrà ricalcolato automaticamente dopo le modifiche al foglio di calcolo.
#* Nello scenario in cui apri prima il file "foglio di calcolo", modifichi uno o più valori e quindi apri il file "modello", non ci sarà alcuna indicazione che il modello debba essere ricalcolato. Tuttavia, se entrambi i file sono aperti, l'icona [[Std_Refresh/it | Aggiorna]] aggiornerà correttamente il file "modello" dopo le modifiche al file "foglio di calcolo".


<span id="Units"></span>
== Unità di misura ==
== Unità di misura ==


Il foglio di calcolo utilizza le unità di misura. Se a un numero è associata un'unità, essa viene utilizzata in tutti i calcoli.
Il foglio di calcolo ha il concetto dimensione (unità di misura) associata ai valori delle celle.
Un numero inserito senza un'unità associata non ha dimensione.
La moltiplicazione di due lunghezze con l'unità in mm restituisce un'area in mm&sup2;.
L'unità di misura deve essere immessa immediatamente dopo il valore numerico, senza spazio intermedio.
Se un numero ha un'unità di misura associata, quell'unità sarà utilizzata in tutti i calcoli.
Ad esempio, la moltiplicazione di due lunghezze con l'unità mm fornisce un'area con l'unità in mm&sup2;.

Se una cella contiene un valore che rappresenta una dimensione, esso deve essere inserito con la relativa unità associata. Anche se molti casi semplici possono essere gestiti con un valore adimensionale, è sconsigliato non inserire l'unità. Se un valore che rappresenta una dimensione viene inserito senza la relativa unità associata, alcune sequenze di operazioni costringono FreeCAD a segnalare l'incompatibilità delle unità in un'espressione quando sembra che dovrebbe essere convalidata. (Questo può essere compreso meglio compreso guardando [https://forum.freecadweb.org/viewtopic.php?f=3&t=34713&p=292455#p292438 questa discussione] nel forum di FreeCAD).


È possibile modificare le unità visualizzate per un valore di cella utilizzando la finestra di dialogo delle [[#Proprietà_delle_celle | Proprietà delle celle]].
Nella finestra di dialogo che si apre cliccando con il tasto destro su una cella è possibile commutare da mm a pollici l'unità di lunghezza visualizzata.
Questo non modifica il valore contenuto nella cella; converte solo il valore esistente per la visualizzazione.
La cella mostra quindi la lunghezza in pollici, ma il valore utilizzato per i calcoli non cambia.
Il valore utilizzato per i calcoli non cambia, ed i risultati delle formule che utilizzano il valore non cambiano.
Quando si cambia l'unità mostrata di un dato in ingresso, il risultato di una formula che utilizza questo valore non cambia. Il risultato è ancora ricavato dalla lunghezza in mm.
Ad esempio, una cella contenente il valore "5.08cm" può essere visualizzata come "2in" modificando il valore della scheda delle unità su "in".


Dalla finestra di dialogo delle proprietà delle celle un numero senza unità non può essere convertito in un numero con unità.
Un numero adimensionale non può essere modificato in un numero con un'unità tramite la finestra di dialogo delle proprietà della cella.
Si può inserire una stringa di unità, che sarà anche mostrata, ma la cella contiene ancora solo un numero senza unità.
Si può inserire una stringa di unità e tale stringa verrà visualizzata; ma la cella contiene ancora un numero adimensionale. Per modificare un valore adimensionale in un valore con una dimensione, è necessario reinserire il valore stesso con l'unità associata.


Occasionalmente può essere desiderabile sbarazzarsi di una dimensione in un'espressione. Questo può essere fatto moltiplicando per 1 con un'unità reciproca.
Sometime it is desirably to get rid of a unit. This can only to be done by multiplying with 1 with a reciprocal unit.


<span id="Importing_and_exporting"></span>
== Importazione ed esportazione ==
== Importazione ed esportazione ==


<span id="CSV_format"></span>
I fogli possono essere importati ed esportati nel formato [https://en.wikipedia.org/wiki/Comma-separated_values csv] che può anche essere letto e scritto da molte altre applicazioni di fogli di calcolo come Microsoft Excel o LibreOffice Calc. Durante l'importazione dei file in FreeCAD, il delimitatore (il carattere che viene utilizzato per separare le colonne) deve essere il carattere di tabulazione (questo può essere impostato durante l'esportazione da altre applicazioni).
=== formato CSV ===


I fogli di calcolo di FreeCAD possono essere importati ed esportati nel formato [https://en.wikipedia.org/wiki/Comma-separated_values ​​CSV] che può anche essere letto e scritto dalla maggior parte delle altre applicazioni di fogli di calcolo come Microsoft Excel o LibreOffice Calc. Vedere [[Spreadsheet_Import/it|Importazione foglio di calcolo]] e [[Spreadsheet_Export/it|Esportazione foglio di lavoro]] per ulteriori informazioni.
I fogli di calcolo in formato Excel "xlsx" possono essere importati in un documento FreeCAD. I fogli di calcolo Excel possono anche essere aperti da FreeCAD. In questo caso all'interno si crea un nuovo documento con un foglio di calcolo. Sono supportate le seguenti caratteristiche:


<span id="XLSX_format"></span>
* tutte le funzioni che sono disponibili anche nel foglio di calcolo FreeCAD. Le altre funzioni danno un errore nella cella corrispondente dopo l'importazione.
=== formato XLSX ===
* i nomi alias per le celle
* più di una tabella nei fogli Excel. In questo caso si creano più fogli di calcolo FreeCAD.


I fogli di calcolo in formato Excel XLSX possono essere importati con il comando [[Std_Import/it|Importa]] o col comando [[Std_Open/it|Apri]]. Sono supportate le seguenti funzionalità:
Le altre funzionalità non vengono importate nel foglio di calcolo di FreeCAD. L'importazione di Excel è disponibile dalla {{Version|0.17}}di FreeCAD.


* Tutte le funzioni che sono disponibili anche nel foglio di calcolo FreeCAD. Le altre funzioni danno un errore nella cella corrispondente dopo l'importazione.
* I nomi alias per le celle.
* Più di un foglio nei fogli di calcolo Excel. In questo caso viene creato un foglio di calcolo di FreeCAD per ogni foglio di Excel.

Le altre funzionalità non vengono importate nel foglio di calcolo di FreeCAD.

<span id="Printing"></span>
== Stampa ==

Per gestire l'impostazione della pagina necessaria per la stampa, i fogli di calcolo di FreeCAD vengono stampati inserendoli in una [[TechDraw_SpreadsheetView/it | Vista foglio di calcolo di TechDraw]].

<span id="Current_limitations"></span>
== Limitazioni attuali ==
== Limitazioni attuali ==


FreeCAD verifica le dipendenze cicliche quando ricalcola.
Non è possibile fornire dati per una geometria, ad esempio una lunghezza, in un foglio elettronico e recuperare nello stesso foglio il volume della forma risultante. Ciò creerebbe un riferimento circolare. Questa è una decisione intenzionale. Tuttavia, è possibile utilizzare due differenti fogli: uno come sorgente dei dati per la geometria e l'altro per i rapporti (risultati) sui dati della geometria.
Per come è concepita, tale verifica si arresta al livello dell'oggetto foglio di calcolo.
Di conseguenza, non si dovrebbe avere un foglio di calcolo che contiene contemporaneamente le celle i cui valori sono utilizzati per specificare parametri nel modello e sia celle i cui valori utilizzano l'output del modello.
Ad esempio, non è possibile avere celle che specificano la lunghezza, la larghezza e l'altezza di un oggetto e un'altra cella che fa riferimento al volume totale della forma risultante.
Questa limitazione può essere superata creando due fogli di calcolo:
uno utilizzato come origine dati per i parametri di input per il modello
e l'altro usato per il risultato dei calcoli basati sui dati geometrici.


<span id="Cell_binding"></span>
Non è possibile selezionare e copiare più celle contemporaneamente. Si può copiare e incollare solo il contenuto di una cella per volta.
== Collegare celle ==


{{Version/it|0.20}}
Per le versioni precedenti di FreeCAD vedere [[Spreadsheet_legacy/it|Foglio di calcolo - Versione in via di sostituzione]]


È possibile collegare il contenuto delle celle ad altre celle del foglio di calcolo. Questo può essere utile quando si hanno a che fare con tabelle di grandi dimensioni o per ottenere il contenuto della cella da un altro foglio di calcolo.

<span id="Create_binding"></span>
=== Creare collegamenti ===

Per collegare, ad esempio, l'intervallo di celle A3-C4 all'intervallo di celle B1-D2:

<ol>
<li>
Seleziona l'intervallo di celle A3-C4.
</li>
<li>
Fare clic con il pulsante destro del mouse e selezionare {{MenuCommand|Collega...}} dal menu contestuale.
</li>
<li>
Viene visualizzata la finestra di dialogo {{MenuCommand|Associa celle foglio di calcolo}}.
</li>
<li>
Imposta l'intervallo B1-D2 per {{MenuCommand|Alle celle}}:
<br>
[[File:Spreadsheet_binding-dialog.png]]
</li>
<li>
Clicca {{Button|OK}}.
</li>
<li>
Le celle legate hanno un bordo blu per evidenziare il legame.
</li>
<li>
Se ora inserisci qualcosa nella cella C1, lo stesso apparirà immediatamente nella cella B3.
</li>
</ol>

[[File:Spreadsheet_binding-result.png]]
{{Caption|Il foglio di calcolo ora potrebbe assomigliare a questo}}

<span id="Change_binding"></span>
=== Modificare il collegamento ===

# Fare clic con il pulsante destro del mouse su una cella associata (non è necessario evidenziare l'intero intervallo delimitato) e selezionare {{MenuCommand|Collega...}} dal menu contestuale.
# Si apre la finestra di dialogo {{MenuCommand|Associa celle foglio di calcolo}}.
# Modifica una o più opzioni. Si noti che le {{MenuCommand|Celle collegate}}, nell'intervallo di celle associate, non possono essere modificate.
# Premi {{Button|OK}}.

<span id="Remove_binding"></span>
=== Rimuovi collegamento ===

# Fare clic con il pulsante destro del mouse su una cella associata (non è necessario evidenziare l'intero intervallo delimitato) e selezionare {{MenuCommand|Collega...}} dal menu contestuale.
# Si apre la finestra di dialogo {{MenuCommand|Associa celle foglio di calcolo}}.
# Premi {{Button|Scollega}}.

<span id="Notes"></span>
=== Note ===

* L'opzione {{MenuCommand|Hide dependency of binding}} può essere utilizzata per prevenire problemi con dipendenze cicliche tra fogli di calcolo. E necessario selezionarlo quando, ad esempio, le celle in ''Foglio di calcolo A'' sono collegate nel ''Foglio di calcolo B'', mentre le celle in ''Foglio di calcolo B'', a loro volta, sono collegate ad altre celle nel ''Foglio di calcolo A''. Questa opzione deve essere utilizzata con cautela:
** Nascondere le dipendenze può essere pericoloso perché le dipendenze interrotte possono danneggiare il tuo file FreeCAD. Ad esempio, quando elimini un foglio di calcolo non verrai avvisato delle dipendenze nascoste.
** Quando apri un documento con un foglio di calcolo contenente una dipendenza nascosta, il foglio di calcolo verrà contrassegnato per essere ricalcolato. Questo perché una dipendenza ciclica non può essere ricalcolata automaticamente. Per ricalcolare è necessario utilizzare lo strumento [[Std_Refresh|Agggiorna]].
* L'associazione delle celle ha un controllo dell'intervallo e ti avverte di intervalli non corrispondenti. Ad esempio, legare 1x3 celle a 3x2 celle non può funzionare perché non si sa quali 3 celle delle 6 celle originali dovrebbero essere utilizzate.
* Non è possibile modificare l'intervallo di celle di un collegamento esistente. Devi prima separare le celle e quindi creare un nuovo collegamento.
* Non è ancora possibile modificare il colore della cornice che evidenzia il collegamento.

<span id="Configuration_tables"></span>
== Tabelle di configurazione ==

{{Version/it|0.20}}

È possibile utilizzare i fogli di calcolo per creare tabelle di configurazione con insiemi di parametri predefiniti per il modello e quindi modificare dinamicamente la configurazione da utilizzare. Vedi [https://forum.freecadweb.org/viewtopic.php?f=17&t=42183 questo post del forum] se vuoi saperne di più sul funzionamento interno di questa funzione.

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

Espandi questa sezione per un breve tutorial sulla creazione di una tabella di configurazione.

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

<ol>
<li>
In un nuovo documento, creare prima una [[Part_Std/it|Parte]], quindi creare un [[Part_Box/it|Cubo]], un [[Part_Cylinder/it|Cilindro]] e un foglio di calcolo.
</li>
<li>
Il cubo e il cilindro vengono automaticamente collocati nel contenitore [[Std_Part/it|Part]]. Metti manualmente anche il foglio di calcolo nel contenitore.
</li>
<li>
Nel foglio di calcolo inserisci il contenuto come mostrato di seguito. Imposta l'alias per B2 come {{Value|width}}, C2 come {{Value|length}} e D2 come {{Value|radius}}:
<br>
[[File:Spreadsheet_configuration_table_screenshot_4.png]]
</li>
<li>
Associare le [[Expressions/it|espressioni]] {{Value|Spreadsheet.width}} e {{Value|Spreadsheet.length}} alle proprietà della casella {{PropertyData|Width}} e {{PropertyData|Length}}, rispettivamente:
<br>
[[File:Spreadsheet_configuration_table_screenshot_2.png]]
</li>
<li>
Associa l'espressione {{Value|Spreadsheet.radius}} alla proprietà del cilindro {{PropertyData|Radius}}. Modificare anche {{PropertyData|Height}} del cilindro in {{Value|5 mm}} in modo che sia inferiore al Cubo.
</li>
<li>
Fare clic con il pulsante destro del mouse sulla cella A2 nel foglio di calcolo e selezionare {{MenuCommand|Tabella di configurazione...}} dal menu contestuale.
</li>
<li>
Si apre la finestra di dialogo {{MenuCommand|Imposta tabella di configurazione}}.
</li>
<li>
Digita quanto segue:
<br>
[[File:Spreadsheet_configuration_table_screenshot_5.png]]
</li>
<li>
Clicca su {{Button|OK}}.
</li>
<li>
Una nuova proprietà denominata {{PropertyData|Configuration}} viene aggiunta al contenitore [[Std_Part/it|Part]] per scegliere la configurazione come mostrato di seguito:
<br>
[[File:Spreadsheet_configuration_table_screenshot_6.png]]
</li>
</ol>

È possibile utilizzare un [[Std_LinkMake/it|Link]] o un [[PartDesign_SubShapeBinder/it|Riferimento a Forma di Part Design]] per creare un'istanza di un [https://forum.freecadweb.org/viewtopic.php?f=17&t=42183&p=532130#p532130 Istanza Variante] di un oggetto configurabile con i seguenti passaggi:

# Crea un [[Std_LinkMake/it|Link]] nel contenitore [[Std_Part/it|Part]] e imposta la sua proprietà {{PropertyData|Link Copy On Change}} su {{Value|Enabled}}.
# Sposta il collegamento in una nuova posizione modificandone {{PropertyData|Placement}} in modo che sia più facile distinguerlo dall'oggetto originale.
# Selezionare una {{PropertyData|Configurazione}} diversa per il collegamento per creare un'istanza variante.

Passaggi simili si applicano a un [[PartDesign_SubShapeBinder/it|PartDesign Riferimento a Forma di Part Design]], tranne per il fatto che la sua proprietà per l'attivazione di un'istanza variante è denominata {{PropertyData|Bind Copy On Change}}.

</div>
</div>

<span id="Scripting_basics"></span>
==Script di base==


== Scripting Basics==
{{Code|code=
{{Code|code=
import Spreadsheet
import Spreadsheet
sheet = App.ActiveDocument.addObject("Spreadsheet::Sheet")
sheet = App.ActiveDocument.addObject("Spreadsheet::Sheet","MySpreadsheet")
sheet.Label = "Dimensions"
sheet.Label = "Dimensions"

sheet.set('A1','10mm')
sheet.recompute()
sheet.get('A1')

sheet.setAlias('B1','Diameter')
sheet.set('Diameter','20mm')
sheet.recompute()
sheet.get('Diameter')
}}
}}
{{Docnav/it|[[Fem_Workbench/it|Ambiente Fem]] |[[Standard Menu/it|I menu standard]]}}


[[Category:User Documentation/it]]


{{Docnav/it
|[[Sketcher_Workbench/it|Ambiente Sketcher]]
|[[Surface_Workbench/it|Ambiente Surface]]
|IconL=Workbench_Sketcher.svg
|IconR=Workbench_Surface.svg
}}


{{Spreadsheet_Tools_navi{{#translation:}}}}
{{clear}}
{{Userdocnavi{{#translation:}}}}
<languages/>
[[Category:Workbenches{{#translation:}}]]

Latest revision as of 16:17, 26 April 2024

L'icona dell'ambiente Spreadsheet

Introduzione

L'AmbienteSpreadsheet consente di creare e modificare fogli di calcolo, utilizzare i dati del foglio di calcolo come parametri in un modello, riempire il foglio di calcolo con i dati ricavati da un modello, eseguire calcoli ed esportare i dati in altre applicazioni di fogli di calcolo come LibreOffice o Microsoft Excel.

Un foglio di calcolo con alcune celle compilate con testo e quantità

Strumenti

  • Importa: importa un file CSV in un foglio di calcolo.
  • Esporta: esporta un file CSV da un foglio di calcolo.
  • Allinea al centro: allinea il contenuto delle celle selezionate al centro orizzontalmente.
  • Stile grassetto: imposta il contenuto delle celle selezionate in grassetto.
  • Stile corsivo: imposta il contenuto delle celle selezionate in corsivo.
  • Alias: imposta l'alias per la cella selezionata.
  • Nero e Bianco impostano i colori di primo piano e di sfondo delle celle selezionate.

Preferenze

Rimuovere le celle può essere pericoloso

Tieni presente che la cancellazione o rimozione di celle con dati può danneggiare il foglio di calcolo e il modello se si basa sul foglio di calcolo. Non sei pre avvisato se ciò accade.

Inserisci e rimuovi righe e colonne

È possibile inserire o rimuovere righe e colonne facendo clic con il pulsante destro del mouse sull'intestazione di una riga o di una colonna e selezionando l'opzione appropriata dal menu contestuale. È possibile selezionare prima più righe o colonne. Tenendo premuto il tasto Ctrl durante la selezione delle intestazioni, oppure tenendo premuto il pulsante sinistro del mouse e trascinando.

Modifica delle celle

Il contenuto di una cella può essere modificato selezionando la cella e inserendo un valore nella casella di input Content nella parte superiore della finestra. Per modificare una cella sul posto, selezionarla e premere F2 o fare doppio clic su di essa.

Eliminare le celle

Per eliminare una o più celle selezionarle e premere Canc. Ciò eliminerà il loro contenuto, le loro proprietà e i loro alias. Per eliminare solo il contenuto di una cella, è necessario modificarla.

Taglia e copia-incolla le celle

Le operazioni di taglia e copia-incolla possono essere utilizzate sulle celle nei fogli di calcolo. Puoi utilizzare le normali scorciatoie per queste operazioni: Ctrl+X, Ctrl+C e Ctrl+ V rispettivamente. Per selezionare più celle, tieni premuto il tasto Ctrl durante la selezione oppure tieni premuto il pulsante sinistro del mouse e trascina per selezionare un intervallo di celle rettangolari.

Le operazioni di taglio e copia memorizzano il contenuto, le proprietà e gli alias delle celle negli Appunti. L'operazione di incollaggio scrive i dati in modo tale che il contenuto della cella in alto a sinistra dei dati archiviati venga rilasciato nella cella attiva. L'altro contenuto memorizzato viene posizionato rispetto a quella cella. Le formule vengono aggiornate di conseguenza. Gli alias vengono incollati solo se sono univoci

Proprietà delle celle

Le proprietà di una cella del foglio possono essere modificate cliccando col tasto destro su una cella and selezionando Proprietà... dal menu contestuale. Si apre la seguente finestra:

Come indicato dalle schede, è possibile modificare le seguenti proprietà:

  • Color: Colore del testo e colore di sfondo
  • Alignment: Allineamento orizzontale e verticale del testo
  • Style: Stile del testo: grassetto, corsivo, sottolineato
  • Units: Mostra le unità di misura per questa cella. Per favore leggi la sezione Unità di misura sottostante.
  • Alias: Definisce un nome alias per questa cella. Questo alias può essere utilizzato nelle formule della cella e in generale anche nelle espressioni; per maggiori informazioni guarda la sezione Espressioni nelle celle .

Espressioni nelle celle

Una cella di un foglio di calcolo può contenere un numero, un testo o un'espressione. Le espressioni devono iniziare con un segno di uguale '='.

Le espressioni inserite nelle celle possono contenere numeri, funzioni, riferimenti ad altre celle e riferimenti alle proprietà del modello (Ma vedere sotto le Limitazioni attuali). Le celle sono referenziate dalla loro colonna (lettera maiuscola) e riga (numero). Una cella può essere referenziata dal suo indirizzo (lettera della colonna MAIUSCOLA + numero di riga, es. B4) o dal suo alias.

Le espressioni inserite nelle celle sono trattate da FreeCAD come codice di programmazione. Pertanto, quando modifichi una cella il contenuto che vedi potrebbe non seguire le tue impostazioni di visualizzazione:

  • Il separatore dei decimali è sempre un punto. Ma le virgole possono essere utilizzate anche quando si immettono valori.
  • Il numero di decimali visualizzati può differire dalle tue impostazioni.

I riferimenti agli oggetti nel modello sono spiegati in seguito in Riferimento ai dati CAD. L'utilizzo dei valori delle celle del foglio di calcolo per definire le proprietà del modello è spiegato in seguito in Dati del foglio di calcolo nelle espressioni. Per ulteriori informazioni sulle espressioni e sulle funzioni dipsonibili, consultare la pagina Espressioni.

Interazione tra fogli di calcolo e modello CAD

I dati nelle celle di un foglio di calcolo possono essere utilizzati nelle espressioni dei parametri del modello CAD. Pertanto, un foglio di calcolo può essere utilizzato come origine per i valori dei parametri utilizzati in un modello, raccogliendo efficacemente i valori in un'unica posizione. Quando i valori vengono modificati nel foglio di calcolo, le modifiche si propagano nel modello.

Allo stesso modo, le proprietà degli oggetti del modello CAD possono essere utilizzate nelle espressioni nelle celle del foglio di calcolo. Ciò consente l'uso di proprietà dell'oggetto, come il volume o l'area, nel foglio di calcolo. Se nel modello CAD viene cambiato il nome di un oggetto, la modifica viene automaticamente propagata a qualsiasi riferimento nelle espressioni del foglio di calcolo utilizzando il nome che è stato modificato.

In un documento si possono utilizzare più fogli di calcolo. Un foglio di calcolo può essere identificato tramite sia il suo nome che la sua etichetta.

FreeCAD assegna automaticamente un nome univoco ad un foglio di calcolo quando questo viene creato. Questi nome seguono il modello Spreadsheet, Spreadsheet001, Spreadsheet002 e così via. Il nome non può essere modificato e non è visibile nelle proprietà del foglio di calcolo. Può essere utilizzato per fare riferimento al foglio di calcolo in un Espressione (vedere Dati del foglio di calcolo nelle espressioni di seguito).

L'etichetta di un foglio di calcolo viene automaticamente impostata sul nome del foglio di calcolo al momento della creazione. A differenza del nome, l'etichetta può essere modificata, ad esempio nel pannello delle proprietà o utilizzando l'azione del menu contestuale Rinomina. Per impostazione predefinita, FreeCAD non accetta etichette duplicate, ma esiste una preferenza per sovrascriverlo. I fogli di calcolo con etichette duplicate nello stesso documento non possono essere referenziati con la loro etichetta.

FreeCAD verifica le dipendenze cicliche. Vedere Limitazioni attuali.

Riferimento ai dati CAD

Come indicato sopra, è possibile fare riferimento ai dati del modello CAD nelle espressioni del foglio di calcolo.

La tabella seguente mostra alcuni esempi assumendo che il modello abbia una figura denominata "MyCube":

Dati CAD Chiamata nel foglio di calcolo Risultato
Lunghezza parametrica di un Cubo di Part =MyCube.Length Lunghezza in mm
Volume del Cubo =MyCube.Shape.Volume Volume in mm³ senza unità
Tipo di forma del Cubo =MyCube.Shape.ShapeType Stringa: Solid
Etichetta del Cubo =MyCube.Label Stringa: Cube
coordinata x del centro di massa del Cubo =MyCube.Shape.CenterOfMass.x coordinata in mm senza unità di misura

Dati dei fogli di calcolo nelle espressioni

Per utilizzare i dati del foglio di calcolo in altre parti di FreeCAD, di solito creerai un Espressione che si riferisce al foglio di calcolo e alla cella che contiene i dati che desideri utilizzare. Puoi identificare i fogli di calcolo per nome o per etichetta e puoi identificare le celle per posizione o per alias. Il completamento automatico è disponibile per tutti i tipi di riferimento.

Foglio di calcolo per nome Foglio di calcolo per etichetta
Cella per Posizione =Spreadsheet042.B5 =<<MySpreadsheet>>.B5
Cella per Alias =Spreadsheet042.MyAlias =<<MySpreadsheet>>.MyAlias

Il modo consigliato per fare riferimento ai dati del foglio di calcolo è utilizzare l'etichetta del foglio di calcolo e il nome dell'alias della cella. Per una spiegazione più approfondita dei pro e dei contro delle modalità di riferimento, vedere la sezione espansa di seguito.

L'utilizzo dell'etichetta del foglio di calcolo ha il vantaggio che può essere liberamente modificata per descrivere il contenuto del foglio di calcolo. È anche più semplice identificare il foglio di calcolo in uso poiché il testo nell'espressione corrisponde all'etichetta mostrata nelle viste del modello e delle proprietà. Se decidi di modificare l'etichetta di un foglio di lavoro, i riferimenti esistenti ai contenuti del foglio di lavoro verranno aggiornati, in modo da non interrompere le tue espressioni rinominando il foglio di lavoro. Il nome interno del foglio di calcolo non è immediatamente disponibile da nessuna parte tranne che nell'editor delle espressioni, quindi se utilizzi il nome interno e successivamente decidi di rinominare i fogli di calcolo, potresti avere difficoltà a risalire alla fonte dei dati dell'espressione.

Tieni presente che quando crei un nuovo foglio di lavoro, il nome e l'etichetta sono gli stessi, quindi è facile utilizzare accidentalmente il nome del foglio di lavoro invece dell'etichetta. Un modo semplice per evitarlo è dare al foglio di calcolo un nome significativo prima di iniziare a usarlo nelle espressioni.

Sebbene sia possibile utilizzare il numero di riga e di colonna in un'espressione per fare riferimento a una cella, è consigliabile assegnare alla cella un nome alias e utilizzarlo. Vedi Proprietà delle celle sopra per informazioni su come impostare l'alias. Ad esempio, se i dati nella cella B1 contenessero il parametro di lunghezza per un oggetto, un nome alias di MyObject_Length consentirebbe di fare riferimento al valore come <<MyParams>> .MyObject_Length invece di Spreadsheet.B1. Oltre ad essere molto più facili da leggere e capire, i nomi alias sono anche molto più facili da modificare se decidi di modificare la struttura del tuo foglio di calcolo. L'uso di un alias ha anche il vantaggio che è più facile vedere quali celle vengono utilizzate per controllare altre parti del documento. Nota che FreeCAD regola automaticamente i riferimenti posizionali nelle espressioni se inserisci o rimuovi righe e colonne nel foglio di calcolo, quindi anche se usi numeri di riga e di colonna in un'espressione, puoi inserire righe e colonne senza interrompere i riferimenti alle celle circostanti.

Modelli complessi e ricalcoli

La modifica di un foglio di calcolo attiverà un ricalcolo del modello 3D, anche se le modifiche non influiscono sul modello. Per un modello complesso un ricalcolo può richiedere molto tempo e dover attendere dopo ogni singola modifica è ovviamente piuttosto fastidioso.

Ci sono tre soluzioni per affrontare questo problema:

  1. Salta temporaneamente i ricalcoli:
    • Nella Vista ad albero fai clic con il tasto destro del mouse sul documento che contiene il foglio di calcolo.
    • Selezionare l'opzione Salta il ricalcolo dal menu contestuale.
    • C'è un grosso svantaggio in questa soluzione. I nuovi valori immessi nel foglio di calcolo non verranno visualizzati finché il documento non viene ricalcolato. Viene invece mostrato #PENDING.
    • Puoi ricalcolare manualmente, usando il comando Modifica: Aggiorna, o disabilitare Salta il ricalcolo quando hai finito di modificare.
  2. Usare una macro per saltare automaticamente i ricalcoli durante la modifica di un foglio di calcolo:
    • Scarica ed esegui skipSheet.FCMacro.
    • Questa soluzione consente di risparmiare alcuni passaggi rispetto alla prima soluzione, ma presenta anche lo svantaggio menzionato.
  3. Mettere il ​​foglio di calcolo in un file FreeCAD separato:
    • Puoi fare riferimento ai dati di un foglio di calcolo da un file .FCStd esterno con questa sintassi: = NameOfFile#<<MySpreadsheet>>.MyAlias​​.
    • Il vantaggio di avere il foglio di calcolo in un altro file rispetto alla disattivazione dei ricalcoli è che il foglio di calcolo stesso viene ricalcolato.
    • Lo svantaggio è che il modello non verrà ricalcolato automaticamente dopo le modifiche al foglio di calcolo.
    • Nello scenario in cui apri prima il file "foglio di calcolo", modifichi uno o più valori e quindi apri il file "modello", non ci sarà alcuna indicazione che il modello debba essere ricalcolato. Tuttavia, se entrambi i file sono aperti, l'icona Aggiorna aggiornerà correttamente il file "modello" dopo le modifiche al file "foglio di calcolo".

Unità di misura

Il foglio di calcolo ha il concetto dimensione (unità di misura) associata ai valori delle celle. Un numero inserito senza un'unità associata non ha dimensione. L'unità di misura deve essere immessa immediatamente dopo il valore numerico, senza spazio intermedio. Se un numero ha un'unità di misura associata, quell'unità sarà utilizzata in tutti i calcoli. Ad esempio, la moltiplicazione di due lunghezze con l'unità mm fornisce un'area con l'unità in mm².

Se una cella contiene un valore che rappresenta una dimensione, esso deve essere inserito con la relativa unità associata. Anche se molti casi semplici possono essere gestiti con un valore adimensionale, è sconsigliato non inserire l'unità. Se un valore che rappresenta una dimensione viene inserito senza la relativa unità associata, alcune sequenze di operazioni costringono FreeCAD a segnalare l'incompatibilità delle unità in un'espressione quando sembra che dovrebbe essere convalidata. (Questo può essere compreso meglio compreso guardando questa discussione nel forum di FreeCAD).

È possibile modificare le unità visualizzate per un valore di cella utilizzando la finestra di dialogo delle Proprietà delle celle. Questo non modifica il valore contenuto nella cella; converte solo il valore esistente per la visualizzazione. Il valore utilizzato per i calcoli non cambia, ed i risultati delle formule che utilizzano il valore non cambiano. Ad esempio, una cella contenente il valore "5.08cm" può essere visualizzata come "2in" modificando il valore della scheda delle unità su "in".

Un numero adimensionale non può essere modificato in un numero con un'unità tramite la finestra di dialogo delle proprietà della cella. Si può inserire una stringa di unità e tale stringa verrà visualizzata; ma la cella contiene ancora un numero adimensionale. Per modificare un valore adimensionale in un valore con una dimensione, è necessario reinserire il valore stesso con l'unità associata.

Occasionalmente può essere desiderabile sbarazzarsi di una dimensione in un'espressione. Questo può essere fatto moltiplicando per 1 con un'unità reciproca.

Importazione ed esportazione

formato CSV

I fogli di calcolo di FreeCAD possono essere importati ed esportati nel formato ​​CSV che può anche essere letto e scritto dalla maggior parte delle altre applicazioni di fogli di calcolo come Microsoft Excel o LibreOffice Calc. Vedere Importazione foglio di calcolo e Esportazione foglio di lavoro per ulteriori informazioni.

formato XLSX

I fogli di calcolo in formato Excel XLSX possono essere importati con il comando Importa o col comando Apri. Sono supportate le seguenti funzionalità:

  • Tutte le funzioni che sono disponibili anche nel foglio di calcolo FreeCAD. Le altre funzioni danno un errore nella cella corrispondente dopo l'importazione.
  • I nomi alias per le celle.
  • Più di un foglio nei fogli di calcolo Excel. In questo caso viene creato un foglio di calcolo di FreeCAD per ogni foglio di Excel.

Le altre funzionalità non vengono importate nel foglio di calcolo di FreeCAD.

Stampa

Per gestire l'impostazione della pagina necessaria per la stampa, i fogli di calcolo di FreeCAD vengono stampati inserendoli in una Vista foglio di calcolo di TechDraw.

Limitazioni attuali

FreeCAD verifica le dipendenze cicliche quando ricalcola. Per come è concepita, tale verifica si arresta al livello dell'oggetto foglio di calcolo. Di conseguenza, non si dovrebbe avere un foglio di calcolo che contiene contemporaneamente le celle i cui valori sono utilizzati per specificare parametri nel modello e sia celle i cui valori utilizzano l'output del modello. Ad esempio, non è possibile avere celle che specificano la lunghezza, la larghezza e l'altezza di un oggetto e un'altra cella che fa riferimento al volume totale della forma risultante. Questa limitazione può essere superata creando due fogli di calcolo: uno utilizzato come origine dati per i parametri di input per il modello e l'altro usato per il risultato dei calcoli basati sui dati geometrici.

Collegare celle

disponibile dalla versione 0.20

È possibile collegare il contenuto delle celle ad altre celle del foglio di calcolo. Questo può essere utile quando si hanno a che fare con tabelle di grandi dimensioni o per ottenere il contenuto della cella da un altro foglio di calcolo.

Creare collegamenti

Per collegare, ad esempio, l'intervallo di celle A3-C4 all'intervallo di celle B1-D2:

  1. Seleziona l'intervallo di celle A3-C4.
  2. Fare clic con il pulsante destro del mouse e selezionare Collega... dal menu contestuale.
  3. Viene visualizzata la finestra di dialogo Associa celle foglio di calcolo.
  4. Imposta l'intervallo B1-D2 per Alle celle:
  5. Clicca OK.
  6. Le celle legate hanno un bordo blu per evidenziare il legame.
  7. Se ora inserisci qualcosa nella cella C1, lo stesso apparirà immediatamente nella cella B3.

Il foglio di calcolo ora potrebbe assomigliare a questo

Modificare il collegamento

  1. Fare clic con il pulsante destro del mouse su una cella associata (non è necessario evidenziare l'intero intervallo delimitato) e selezionare Collega... dal menu contestuale.
  2. Si apre la finestra di dialogo Associa celle foglio di calcolo.
  3. Modifica una o più opzioni. Si noti che le Celle collegate, nell'intervallo di celle associate, non possono essere modificate.
  4. Premi OK.

Rimuovi collegamento

  1. Fare clic con il pulsante destro del mouse su una cella associata (non è necessario evidenziare l'intero intervallo delimitato) e selezionare Collega... dal menu contestuale.
  2. Si apre la finestra di dialogo Associa celle foglio di calcolo.
  3. Premi Scollega.

Note

  • L'opzione Hide dependency of binding può essere utilizzata per prevenire problemi con dipendenze cicliche tra fogli di calcolo. E necessario selezionarlo quando, ad esempio, le celle in Foglio di calcolo A sono collegate nel Foglio di calcolo B, mentre le celle in Foglio di calcolo B, a loro volta, sono collegate ad altre celle nel Foglio di calcolo A. Questa opzione deve essere utilizzata con cautela:
    • Nascondere le dipendenze può essere pericoloso perché le dipendenze interrotte possono danneggiare il tuo file FreeCAD. Ad esempio, quando elimini un foglio di calcolo non verrai avvisato delle dipendenze nascoste.
    • Quando apri un documento con un foglio di calcolo contenente una dipendenza nascosta, il foglio di calcolo verrà contrassegnato per essere ricalcolato. Questo perché una dipendenza ciclica non può essere ricalcolata automaticamente. Per ricalcolare è necessario utilizzare lo strumento Agggiorna.
  • L'associazione delle celle ha un controllo dell'intervallo e ti avverte di intervalli non corrispondenti. Ad esempio, legare 1x3 celle a 3x2 celle non può funzionare perché non si sa quali 3 celle delle 6 celle originali dovrebbero essere utilizzate.
  • Non è possibile modificare l'intervallo di celle di un collegamento esistente. Devi prima separare le celle e quindi creare un nuovo collegamento.
  • Non è ancora possibile modificare il colore della cornice che evidenzia il collegamento.

Tabelle di configurazione

disponibile dalla versione 0.20

È possibile utilizzare i fogli di calcolo per creare tabelle di configurazione con insiemi di parametri predefiniti per il modello e quindi modificare dinamicamente la configurazione da utilizzare. Vedi questo post del forum se vuoi saperne di più sul funzionamento interno di questa funzione.

Espandi questa sezione per un breve tutorial sulla creazione di una tabella di configurazione.

  1. In un nuovo documento, creare prima una Parte, quindi creare un Cubo, un Cilindro e un foglio di calcolo.
  2. Il cubo e il cilindro vengono automaticamente collocati nel contenitore Part. Metti manualmente anche il foglio di calcolo nel contenitore.
  3. Nel foglio di calcolo inserisci il contenuto come mostrato di seguito. Imposta l'alias per B2 come width, C2 come length e D2 come radius:
  4. Associare le espressioni Spreadsheet.width e Spreadsheet.length alle proprietà della casella DatiWidth e DatiLength, rispettivamente:
  5. Associa l'espressione Spreadsheet.radius alla proprietà del cilindro DatiRadius. Modificare anche DatiHeight del cilindro in 5 mm in modo che sia inferiore al Cubo.
  6. Fare clic con il pulsante destro del mouse sulla cella A2 nel foglio di calcolo e selezionare Tabella di configurazione... dal menu contestuale.
  7. Si apre la finestra di dialogo Imposta tabella di configurazione.
  8. Digita quanto segue:
  9. Clicca su OK.
  10. Una nuova proprietà denominata DatiConfiguration viene aggiunta al contenitore Part per scegliere la configurazione come mostrato di seguito:

È possibile utilizzare un Link o un Riferimento a Forma di Part Design per creare un'istanza di un Istanza Variante di un oggetto configurabile con i seguenti passaggi:

  1. Crea un Link nel contenitore Part e imposta la sua proprietà DatiLink Copy On Change su Enabled.
  2. Sposta il collegamento in una nuova posizione modificandone DatiPlacement in modo che sia più facile distinguerlo dall'oggetto originale.
  3. Selezionare una DatiConfigurazione diversa per il collegamento per creare un'istanza variante.

Passaggi simili si applicano a un PartDesign Riferimento a Forma di Part Design, tranne per il fatto che la sua proprietà per l'attivazione di un'istanza variante è denominata DatiBind Copy On Change.

Script di base

import Spreadsheet
sheet = App.ActiveDocument.addObject("Spreadsheet::Sheet","MySpreadsheet")
sheet.Label = "Dimensions"

sheet.set('A1','10mm')
sheet.recompute()
sheet.get('A1')

sheet.setAlias('B1','Diameter')
sheet.set('Diameter','20mm')
sheet.recompute()
sheet.get('Diameter')