Atelierul Foi de calcul

From FreeCAD Documentation
Revision as of 09:18, 25 February 2019 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

2019-02-24 This page is actively being modified. Do not translate yet. This message will be removed when these modifications are complete.

introduced in version 0.15 Atelierul lucru pentru foi de calcul vă permite să creați și să editați foi de calcul, să efectuați calcule și să preluați date dintr-un model și să exportați datele sale în alte aplicații de calcul tabelar, cum ar fi LibreOffice sau Microsoft Excel.

The Spreadsheet Workbench has been available since FreeCAD 0.15.

Cell Expressions

A spreadsheet cell may contain arbitrary text or an expression. Technically, expressions must start with an equals '=' sign. However, the spreadsheet attempts to be intelligent; if you enter what looks like an expression without the leading '=', one will be added automatically.

Cell expressions may contain numbers, functions, and references to other cells. Cells are referenced by their row (CAPITAL letter) and column (number). Example: B4 + A6

Numbers may use either a comma ',' or a decimal point '.' separating whole digits from decimals.

Constantele pi și e sunt predefinite.

Funcții Suportate

Mathematical Functions

Foaia de calcul oferă următoarele funcții, luând unul sau două argumente: abs, acos, asin, atan, atan2, cos, cosh, exp, log, log10, mod, pow, sin, sinh, sqrt, tan, tanh

Multiple arguments to a function may be separated by either a semicolon (';') or a comma followed by a space (", "). In the latter case, the comma is converted to a semicolon after entry.

Funcțiile trigonometrice utilizează grade ca unitate implicită; furnizarea rad permite folosirea radiani.

abs(x)

Description: Absolute value

Returns: value >= 0

acos(x)

Description: Arc cosine; -1 <= x <= 1

Returns: acos(x)

asin(x)

Description: Arc sine; -1 <= x <= 1

Returns: asin(x)

atan(x)

Description: Arc tangent

Returns: atan(x)

atan2(y, x)

Description: Arc tangent of y / x;

Returns: atan2(y,x)

ceil(x)

Description: Ceiling

Returns: The smallest integer value greater than or equal to x introduced in version 0.16

cos(angle)

Description: Cosine; angle is in degrees (any value)

Returns: -1 <= cos(x) <= 1

cosh(x)

Description: Hyperbolic cosine of x

Returns: cosh(x)

exp(y)

Description: Natural exponent

Returns: e y

floor(x)

Description: Floor

Returns: The largest integer value less than or equal to x introduced in version 0.16

log(x)

Description: Natural logarithm

Returns: loge x

log10(x)

Description: Logarithm base 10

Returns: log10 x

mod(x, y)

Description: Remainder x/y

Returns: Remainder after dividing x by y

pow(x, y)

Description: Power function

Returns: x y

round(x)

Description:

Returns: x rounded to the nearest integer introduced in version 0.16

sin(angle)

Description: Cosine; angle in degrees (any value)

Returns: -1 <= sin(x) <= 1

sinh(x)

Description: Hyperbolic sine of x

Returns: sinh(x)

sqrt(x)

Description: Square root; x >= 0

Returns: Square root of x

tan(angle)

Description: Tangent; angle in degrees (any value)

Returns: tan(angle)

tanh(x)

Description: Hyperbolic tangent of x

Returns: tanh(x)

trunc(x)

Description: Truncate

Returns: x truncated to the nearest integer introduced in version 0.16

Următoarele funcții agregate sunt suportate: average, count, max, min, stddev, sum.

average(x y)

Description: Average of values in cells x through y

Returns: sum(x, y) / count(x, y)

count(x y)

Description: Number of cells from x through y

Returns: The number of cells from x through y, inclusive

max(x y)

Description: Maximum value in cells x through y

Returns: Maximum value

min(x y)

Description: Minimum value in cells x through y

Returns: Minimum value

stddev(x y)

Description: Standard deviation of values in cells x through y

Returns: Standard deviation

sum(x y)

Description: Sum of values in cells x through y

Returns: Sum

Conditional Expressions

Funcțiile if funcționează de maniera: = condition ? resultTrue : resultFalse

Funcția IF este definită ca o expresie care evaluaează fie 0 (for false) sau diferit de zero pentru true. Următorii operatori de compararea sunt definiți: ==, !=, >, <, >=, and <=.

Funcția IF are de fapt un bug cu privire la declarațiile condiționale imbricate. Numai rezultatul real poate avea o altă funcție IF. Parantezele se îndepărtează după confirmarea expresiei. Încercarea de a pune o afirmație condiționată imbricată în rezultatul false are ca rezultat paranteze stabilite greșite cu un rezultat diferit după salvarea și redeschiderea documentului.

Referință To CAD-Data

Este posibil să utilizați datele din construcție în foaia de calcul. Următorul tabel prezintă câteva exemple, presupunând că modelul are o caracteristică numită "Cube" (rețineți că acesta este numele intern al caracteristicii, și nu numele utilizatorului atribuit etichetei):

CAD-Data Call in Spreadsheet Result
Parametric Length of a Part-Workbench Cube =Cube.Length Length with units mm
Volume of the Cube =Cube.Shape.Volume Volume in mm³ without units
Type of the Cube-shape =Cube.Shape.ShapeType String: Solid
Label of the Cube =Cube.Label String: Cube
x-coordinate of center of mass of the Cube =Cube.Shape.CenterOfMass.x x-coordinate in mm without units

Proprietățile celulei

Proprietățile unei celule de calcul tabelar pot fi editate cu un clic dreapta pe o celulă. Următoarele dialoguri apar:

Are câteva tab-uri. Următoarele proprietăți pot fi modificate:

  • Culoarea textului și culoarea de fundal
  • Aliniere text orizontală și verticală
  • Stil text: bold, italic, subliniat
  • Unitate de afișare pentru această celulă. Citiți secțiunea de mai jos.
  • Definiți un nume alias pentru această celulă. Acest alias-nume poate fi folosit în formulele de celule și, de asemenea, în FreeCADExpressions introduced in version 0.16

Expresiile sunt explicate aici:Expressions

Spreadsheet Data în Expresii

Utilizarea datelor din foi de calcul în alte părți ale FreeCAD necesită un nume complet definit. Pentru că este posibil să existe mai mult de o foaie de calcul într-un document, este necesar un nume de foaie de calcul împreună cu numele celulei sau cu un alias. Următoarele imagini ilustrează utilizarea unui nume "număr" dintr-o foaie de calcul "MySheet" într-o expresie în Workbench-ul PartDesign.

Tastarea unui "M" prezintă o listă cu numele disponibile. Tastele săgeți permit selectarea "MySheet".

Tastarea unui "n" arată acum lista de nume alias disponibile în MySheet, începând cu "n". "Numărul" poate fi selectat cu butonul săgeată în jos. Odată ce un nume valabil cu un conținut util este dat, câmpul rezultat va prezenta lungimea calculată.

Unități de măsură

Foaia de calcul utilizează unități. Dacă un număr are o unitate, această unitate va fi utilizată în toate calculele. Înmulțirea a două lungimi cu unitatea în mm dă o suprafață cu unitatea mm pătrați-mm & sup2 ;.

Puteți schimba unitatea de lungime de la mm la inch prin dialog, veți obține cu un clic dreapta pe o celulă. Celula va arăta acum lungimea în centimetri. Valoarea utilizată pentru calcule nu se modifică. Rezultatele unei formule care utilizează această valoare nu se modifică atunci când unitatea indicată a unei intrări a fost modificată. Rezultatul se calculează încă din lungimea în mm.

Un număr fără o unitate de măsură nu poate fi modificat într-un număr cu unitate de măsură prin dialogul proprietăților celulare. Se poate introduce un șir de unități, care va fi afișat, dar celula conține încă un număr fără unitate de măsură.

Uneori este de dorit să scapi de o unitate. Acest lucru se poate face numai prin înmulțirea cu 1 cu o unitate reciprocă.

Import și export

Foiile de calcul pot fi importate și exportate în formatul csv, care poate fi, de asemenea, citit și scris de majoritatea altor aplicații de calcul tabelar, cum ar fi Microsoft Excel sau LibreOffice Calc. Când importați fișiere în FreeCAD, separatorul/delimitatorul (caracterul care este utilizat pentru a separa coloanele) trebuie să fie caracterul TAB (acest lucru poate fi setat când exportați din alte aplicații). Importul unui fișier CSV este disponibil prin intermediul foii de calcul Spreadsheet / Import sau prin apăsarea pe pictograma . Această funcție de import nu deschide fișiere Excel sau orice alt format de foaie de calcul.

Foile de calcul în format Excel "xlsx" pot fi importate prin meniul File / Import ... într-un document FreeCAD. Foile de calcul Excel pot fi deschise de FreeCAD făcând clic pe meniul File / Open ... sau făcând clic pe pictograma . În acest caz se creează un nou document cu o foaie de calcul în interior. Sunt acceptate următoarele caracteristici:

  • toate funcțiile disponibile și în foaia de calcul FreeCAD. Alte funcții dau o eroare în celula corespunzătoare după import.
  • Alias nume pentru celule
  • Mai mult de un tabel din foaia Excel. În acest caz, sunt create mai multe foi de calcul FreeCAD.

Alte funcționalități nu sunt importate în foaia de calcul FreeCAD. Importul Excel este introduced in version 0.17 al FreeCAD.

Limitări curente

Nu este posibilă furnizarea de date pentru o geometrie, de exemplu o lungime, într-o foaie de calcul și extragerea în aceeași foaie de calcul a volumului forma rezultată. Aceasta va crea o referință circulară. Aceasta este o decizie de proiectare. Cu toate acestea, este posibil să utilizați două foi de calcul diferite: una ca sursă de date pentru geometrie și altul pentru raportarea datelor geometrice.

Nu este posibilă selectarea și copierea mai multor celule. Numai conținutul unei celule din câmpul de introducere poate fi copiat și inserat în câmpul de intrare al unei alte celule.

Pentru versiunile anterioare ale FreeCAD, a se vedea Spreadsheet legacy


Bazele script programări

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