Spreadsheet Workbench/it: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav/it
{{Docnav/it
|[[Sketcher Workbench/it|Ambiente Sketcher]]
|[[Sketcher Workbench/it|Ambiente Sketcher]]
Line 22: Line 23:
* [[File:Spreadsheet_CreateSheet.svg|24px]] [[Spreadsheet_CreateSheet/it|Crea un foglio di calcolo]]: crea un nuovo foglio di calcolo.
* [[File:Spreadsheet_CreateSheet.svg|24px]] [[Spreadsheet_CreateSheet/it|Crea un foglio di calcolo]]: crea un nuovo foglio di calcolo.


* [[File:Spreadsheet_Import.svg|24px]] [[Spreadsheet_Import/it|Importa un foglio di calcolo]]: importa un file con valori separati da virgola (CSV) in un foglio di calcolo.
* [[File:Spreadsheet_Import.svg|24px]] [[Spreadsheet_Import|Import]]: import a CSV file into a spreadsheet.

* [[File:Spreadsheet_Export.svg|24px]] [[Spreadsheet_Export/it|Esporta il foglio di calcolo]]: esporta un file di valori separati da virgola (CSV) da un foglio di calcolo.
* [[File:Spreadsheet_Export.svg|24px]] [[Spreadsheet_Export|Export]]: export a CSV file from a spreadsheet.

* [[File:Spreadsheet_MergeCells.svg|24px]] [[Spreadsheet_MergeCells|Merge cells]]: merge selected cells.

* [[File:Spreadsheet_SplitCell.svg|24px]] [[Spreadsheet_SplitCell|Split cell]]: split previously merged cells.

* [[File:Spreadsheet_AlignLeft.svg|24px]] [[Spreadsheet_AlignLeft|Align left]]: align the contents of selected cells to the left.

* [[File:Spreadsheet_AlignCenter.svg|24px]] [[Spreadsheet_AlignCenter|Align center]]: align the contents of selected cells to the center horizontally.

* [[File:Spreadsheet_AlignRight.svg|24px]] [[Spreadsheet_AlignRight|Align right]]: align the contents of selected cells to the right.

* [[File:Spreadsheet_AlignTop.svg|24px]] [[Spreadsheet_AlignTop|Align top]]: align the contents of selected cells to the top.

* [[File:Spreadsheet_AlignVCenter.svg|24px]] [[Spreadsheet_AlignVCenter|Align vertical center]]: align the contents of selected cells to the center vertically.

* [[File:Spreadsheet_AlignBottom.svg|24px]] [[Spreadsheet_AlignBottom|Align bottom]]: top align the contents of selected cells to the bottom.


* [[File:Spreadsheet_MergeCells.svg|24px]] [[Spreadsheet_MergeCells/it|Unisci le celle]]: unisce le celle selezionate.
* [[File:Spreadsheet_StyleBold.svg|24px]] [[Spreadsheet_StyleBold|Style bold]]: set the contents of selected cells to bold.
* [[File:Spreadsheet_SplitCell.svg|24px]] [[Spreadsheet_SplitCell/it|Dividi la cella]]: divide le celle precedentemente unite.


* [[File:Spreadsheet_AlignLeft.svg|24px]] [[Spreadsheet_AlignLeft/it|Allinea a sinistra]]: allinea a sinistra il contenuto delle celle selezionate.
* [[File:Spreadsheet_StyleItalic.svg|24px]] [[Spreadsheet_StyleItalic|Style italic]]: set the contents of selected cells to italic.
* [[File:Spreadsheet_AlignCenter.svg|24px]] [[Spreadsheet_AlignCenter/it|Allinea in centro orizzontale]]: allinea al centro in orizzontale il contenuto delle celle selezionate.
* [[File:Spreadsheet_AlignRight.svg|24px]] [[Spreadsheet_AlignRight/it|Allinea a destra]]: allinea a destra il contenuto delle celle selezionate.
* [[File:Spreadsheet_AlignTop.svg|24px]] [[Spreadsheet_AlignTop/it|Allinea in alto]]: allinea in alto il contenuto delle celle selezionate.
* [[File:Spreadsheet_AlignVCenter.svg|24px]] [[Spreadsheet_AlignVCenter/it|Allinea in centro verticale]]: allinea al centro in verticale il contenuto delle celle selezionate.
* [[File:Spreadsheet_AlignBottom.svg|24px]] [[Spreadsheet_AlignBottom/it|Allinea in basso]]: allinea in basso il contenuto delle celle selezionate.


* [[File:Spreadsheet_StyleBold.svg|24px]] [[Spreadsheet_StyleBold/it|Grassetto]]: imposta il contenuto delle celle selezionate in grassetto.
* [[File:Spreadsheet_StyleUnderline.svg|24px]] [[Spreadsheet_StyleUnderline|Style underline]]: set the contents of selected cells to underlined.
* [[File:Spreadsheet_StyleItalic.svg|24px]] [[Spreadsheet_StyleItalic/it|Corsivo]]: imposta il contenuto delle celle selezionate in corsivo.
* [[File:Spreadsheet_StyleUnderline.svg|24px]] [[Spreadsheet_StyleUnderline/it|Sottolineato]]: imposta il contenuto delle celle selezionate su sottolineato.


<div class="mw-translate-fuzzy">
* [[File:Spreadsheet_SetAlias.svg|24px]] [[Spreadsheet_SetAlias/it|Alias]]: imposta un alias per le celle selezionate.
* [[File:Spreadsheet_SetAlias.svg|24px]] [[Spreadsheet_SetAlias/it|Alias]]: imposta un alias per le celle selezionate.
</div>


<div class="mw-translate-fuzzy">
* {{Button|Nero}} e {{Button|Bianco}} impostano i colori di primo piano e di sfondo delle celle selezionate.
* {{Button|Nero}} e {{Button|Bianco}} impostano i colori di primo piano e di sfondo delle celle selezionate.
</div>


== Preferences ==
* menu contestuale delle righe e colonne del foglio di calcolo: cliccate con il tasto destro del mouse sull'intestazione di una riga o colonna per inserire una nuova riga sopra o una nuova colonna a sinistra, o per cancellare la riga/colonna corrente. Si possono anche selezionare più righe o colonne al fine di cancellarle.</br>{{Versione|0.20}} È anche possibile selezionare dove verranno inserite le nuove righe/colonne. Inoltre, per inserire ad esempio 3 nuove colonne in una volta sola, selezionate 3 colonne e usate il menu contestuale che vi offrirà ora di inserire 3 colonne.

* [[Image:Preferences-spreadsheet.svg|32px]] [[Spreadsheet_Preferences|Preferences]]: the preferences for the Spreadsheet Workbench. {{Version|0.20}}

== Insert and remove rows and columns ==

Rows and columns can be inserted or removed by right-clicking a row or column header and selecting the appropriate option from the contex menu. It is possible to select multiple rows or columns first. Either by holding down the {{KEY|Ctrl}} key while selecting the headers, or by holding down the left mouse button and dragging.

In FreeCAD version 0.19 and earlier rows are inserted above the selected rows, and colomns on the left of the selected columns. In FreeCAD version 0.20 you can specify the insertion side.

Note that removing rows or columns with data can break the spreadsheet and your model if it relies on the spreadheet. You are not prewarned if this happens.

== Cut and copy-paste cells ==

Cut and copy-paste operations can be used on cells in FreeCAD spreadsheets. You can use the normal shortcuts for these operations: {{KEY|Ctrl}}+{{KEY|X}}, {{KEY|Ctrl}}+{{KEY|C}} and {{KEY|Ctrl}}+{{KEY|V}} respectively. To select multiple cells hold down the {{KEY|Ctrl}} key while selecting, or hold down the left mouse button and drag to select a rectangular cell range.

The cut and copy operations store the contents and properties of the cells on the Clipboard. The paste operation writes the data in such a way that the content of the top left cell of the stored data is dropped in the active cell. Other stored content is placed relative to that cell. Formulas are updated accordingly.

Note that removing cells with data can break the spreadsheet and your model if it relies on the spreadheet. You are not prewarned if this happens.

In FreeCAD version 0.19 and earlier there is a bug that can cause FreeCAD to hang if a non-rectangular cell range is pasted. It is advisable to save your work before performing any paste operations.


=== Proprietà delle celle ===
=== Proprietà delle celle ===


<div class="mw-translate-fuzzy">
Le proprietà di una cella del foglio possono essere modificate con un clic destro su una cella. Si apre la seguente finestra:
Le proprietà di una cella del foglio possono essere modificate con un clic destro su una cella. Si apre la seguente finestra:
</div>


[[File:SpreadsheetCellPropDialog.png]]
[[File:SpreadsheetCellPropDialog.png]]
Line 64: Line 100:
lo aggiunge automaticamente.
lo aggiunge automaticamente.


<div class="mw-translate-fuzzy">
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ò anche essere referenziata dal suo [[#Riferimento_ai_dati_CAD | alias]] (sottostante).
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ò anche essere referenziata dal suo [[#Riferimento_ai_dati_CAD | alias]] (sottostante).
Esempio: B4 + A6
Esempio: B4 + A6
</div>


Le espressioni inserite nelle celle sono trattate da FreeCAD come codice di programmazione. Pertanto, quando modifichi una cella il contenuto che vedi non segue le tue impostazioni di visualizzazione:
Le espressioni inserite nelle celle sono trattate da FreeCAD come codice di programmazione. Pertanto, quando modifichi una cella il contenuto che vedi non segue le tue impostazioni di visualizzazione:
Line 135: Line 173:
=== Dati dei fogli di calcolo nelle espressioni ===
=== Dati dei fogli di calcolo nelle espressioni ===


<div class="mw-translate-fuzzy">
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.
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.
</div>


<div class="mw-translate-fuzzy">
{|{{Prettytable}}
{|{{Prettytable}}
!
!
Line 150: Line 191:
|{{incode|<nowiki>=<<MySpreadsheet>>.MyAlias</nowiki>}}
|{{incode|<nowiki>=<<MySpreadsheet>>.MyAlias</nowiki>}}
|}
|}
</div>


<div class = "mw-collapsible mw-collapsed">
<div class = "mw-collapsible mw-collapsed">
Line 168: Line 210:
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.
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.


<div class="mw-translate-fuzzy">
Ci sono tre soluzioni per affrontare questo problema:
Ci sono tre soluzioni per affrontare questo problema:
# 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.
# 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.
Line 181: Line 224:
#* Lo svantaggio è che il modello non verrà ricalcolato automaticamente dopo le modifiche al foglio di calcolo.
#* 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".
#* 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".
</div>


== Unità di misura ==
== Unità di misura ==
Line 204: Line 248:
== Importazione ed esportazione ==
== Importazione ed esportazione ==


=== CSV format ===

<div class="mw-translate-fuzzy">
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). L'importazione di un file CSV è disponibile tramite il menu {{MenuCommand|Spreadsheet → Import Spreadsheet}} o facendo clic sull'icona [[Image:SpreadsheetImport.svg|24px]]. Questa funzione di importazione non apre file Excel o altri formati di fogli di calcolo.
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). L'importazione di un file CSV è disponibile tramite il menu {{MenuCommand|Spreadsheet → Import Spreadsheet}} o facendo clic sull'icona [[Image:SpreadsheetImport.svg|24px]]. Questa funzione di importazione non apre file Excel o altri formati di fogli di calcolo.
</div>

=== XLSX format ===


<div class="mw-translate-fuzzy">
I fogli di calcolo in formato Excel "xlsx" possono essere importati in un documento FreeCAD tramite il menu {{MenuCommand|File → Importa...}}. I fogli di calcolo Excel possono anche essere aperti da FreeCAD facendo clic nel menu {{MenuCommand|File → Apri...}} o facendo clic sull'icona [[Image:Document-open.svg|24px]]. In questi casi si crea un nuovo documento con all'interno un foglio di calcolo. Sono supportate le seguenti caratteristiche:
I fogli di calcolo in formato Excel "xlsx" possono essere importati in un documento FreeCAD tramite il menu {{MenuCommand|File → Importa...}}. I fogli di calcolo Excel possono anche essere aperti da FreeCAD facendo clic nel menu {{MenuCommand|File → Apri...}} o facendo clic sull'icona [[Image:Document-open.svg|24px]]. In questi casi si crea un nuovo documento con all'interno un foglio di calcolo. Sono supportate le seguenti caratteristiche:
</div>


<div class="mw-translate-fuzzy">
* tutte le funzioni che sono disponibili anche nel foglio di calcolo FreeCAD. Le altre funzioni danno un errore nella cella corrispondente dopo l'importazione.
* 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
* i nomi alias per le celle
* più di una foglio nei fogli di calcolo Excel. In questo caso viene creato un foglio di calcolo di FreeCAD per ogni foglio di Excel.
* più di una foglio nei fogli di calcolo Excel. In questo caso viene creato un foglio di calcolo di FreeCAD per ogni foglio di Excel.
</div>


<div class="mw-translate-fuzzy">
Le altre funzionalità non vengono importate nel foglio di calcolo di FreeCAD. L'importazione di Excel è disponibile dalla {{Version/it|0.17}} di FreeCAD.
Le altre funzionalità non vengono importate nel foglio di calcolo di FreeCAD. L'importazione di Excel è disponibile dalla {{Version/it|0.17}} di FreeCAD.
</div>


== Stampa ==
== Stampa ==
Line 227: Line 283:
uno utilizzato come origine dati per i parametri di input per il modello
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.
e l'altro usato per il risultato dei calcoli basati sui dati geometrici.

Quando le celle vengono copiate, viene copiato solo il contenuto (espressione o valore). Le [[Spreadsheet_Workbench/it#Proprietà delle celle|Proprietà delle celle]] descritte sopra non sono copiate.


==Script di base==
==Script di base==

Revision as of 16:56, 30 April 2022

L'icona dell'ambiente Spreadsheet

Introduzione

L'ambiente Spreadsheet 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

  • Import: import a CSV file into a spreadsheet.
  • Export: export a CSV file from a spreadsheet.
  • Align left: align the contents of selected cells to the left.
  • Align center: align the contents of selected cells to the center horizontally.
  • Align right: align the contents of selected cells to the right.
  • Align top: align the contents of selected cells to the top.
  • Align bottom: top align the contents of selected cells to the bottom.
  • Style bold: set the contents of selected cells to bold.
  • Style italic: set the contents of selected cells to italic.
  • Alias: imposta un alias per le celle selezionate.
  • Nero e Bianco impostano i colori di primo piano e di sfondo delle celle selezionate.

Preferences

Insert and remove rows and columns

Rows and columns can be inserted or removed by right-clicking a row or column header and selecting the appropriate option from the contex menu. It is possible to select multiple rows or columns first. Either by holding down the Ctrl key while selecting the headers, or by holding down the left mouse button and dragging.

In FreeCAD version 0.19 and earlier rows are inserted above the selected rows, and colomns on the left of the selected columns. In FreeCAD version 0.20 you can specify the insertion side.

Note that removing rows or columns with data can break the spreadsheet and your model if it relies on the spreadheet. You are not prewarned if this happens.

Cut and copy-paste cells

Cut and copy-paste operations can be used on cells in FreeCAD spreadsheets. You can use the normal shortcuts for these operations: Ctrl+X, Ctrl+C and Ctrl+V respectively. To select multiple cells hold down the Ctrl key while selecting, or hold down the left mouse button and drag to select a rectangular cell range.

The cut and copy operations store the contents and properties of the cells on the Clipboard. The paste operation writes the data in such a way that the content of the top left cell of the stored data is dropped in the active cell. Other stored content is placed relative to that cell. Formulas are updated accordingly.

Note that removing cells with data can break the spreadsheet and your model if it relies on the spreadheet. You are not prewarned if this happens.

In FreeCAD version 0.19 and earlier there is a bug that can cause FreeCAD to hang if a non-rectangular cell range is pasted. It is advisable to save your work before performing any paste operations.

Proprietà delle celle

Le proprietà di una cella del foglio possono essere modificate con un clic destro su una cella. 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 del foglio di calcolo può contenere un testo arbitrario o un'espressione. Tecnicamente, le espressioni devono iniziare con un segno "=" uguale. Tuttavia, il foglio elettronico tenta di essere intelligente; se si inserisce qualcosa che sembra un'espressione senza il segno '=', lo aggiunge automaticamente.

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ò anche essere referenziata dal suo alias (sottostante). Esempio: B4 + A6

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

  • il separatore dei decimali è sempre un punto
  • 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 manualmente 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. Notare che l'etichetta di un foglio di calcolo all'interno di un documento deve essere univoca; se provi a cambiare l'etichetta con un'etichetta già utilizzata da un altro foglio di calcolo, FreeCAD non accetterà la nuova 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.

Le espressioni calcolate nelle celle del foglio di calcolo iniziano con un segno di uguale ('='). Comunque, il meccanismo di immissione del foglio di calcolo tenta di essere intelligente. Un'espressione può essere inserita senza il segno '='; se la stringa inserita è un'espressione valida, un '=' viene aggiunto automaticamente quando si premere Enter finale. Se la stringa inserita non è un'espressione valida (spesso il risultato di una digitazione sbagliata, ad es. "MyCube.length" anziché "MyCube.Length"), non viene aggiunto il segno '=' e viene trattato semplicemente come una stringa di testo.

Nota: il comportamento precedente (inserimento automatico di '=') ha alcune spiacevoli conseguenze:

  • se si desidera mantenere una colonna di nomi corrispondenti ai nomi alias-names in una colonna di valori adiacente, è necessario immettere il nome nella colonna dell'etichetta prima di quello assegnato alla cella nella colonna del valore come nome alias. Altrimenti, quando inserisce il nome alias nella colonna dellle etichette il foglio di calcolo assume che è un'espressione e lo cambia in "= <alias-name>"; e il testo visualizzato è il valore dalla cella <alias-name>.
  • Se si commette un errore quando si inserisce il nome nella colonna dell'etichetta e si desidera correggerlo, non si può semplicemente cambiar con il nome alias. Invece, bisogna prima cambiare il nome alias in qualcos'altro, quindi correggere il nome del testo nella colonna dell'etichetta, quindi cambiare il nome alias nella colonna con il suo originale.

Un modo per aggirare questi problemi è prefissare le etichette di testo corrispondenti ai nomi di alias con una stringa fissa, rendendoli così diversi. Notare che "_" non funziona, poiché viene convertito in "=". Tuttavia, un spazio, anche se invisibile, funziona.

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 String: Solid
Etichetta del Cubo =MyCube.Label String: Cube
coordinata x del centro di massa del Cubo =MyCube.Shape.CenterOfMass.x coordinata x 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 indirizzamento, 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. 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 separato:
    • Puoi fare riferimento ai dati di un foglio di calcolo da un file 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 (sopra). 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

CSV format

I fogli possono essere importati ed esportati nel formato 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). L'importazione di un file CSV è disponibile tramite il menu Spreadsheet → Import Spreadsheet o facendo clic sull'icona . Questa funzione di importazione non apre file Excel o altri formati di fogli di calcolo.

XLSX format

I fogli di calcolo in formato Excel "xlsx" possono essere importati in un documento FreeCAD tramite il menu File → Importa.... I fogli di calcolo Excel possono anche essere aperti da FreeCAD facendo clic nel menu File → Apri... o facendo clic sull'icona . In questi casi si crea un nuovo documento con all'interno un foglio di calcolo. Sono supportate le seguenti caratteristiche:

  • 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 una 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. L'importazione di Excel è disponibile dalla disponibile dalla versione 0.17 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. 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.

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')