Spreadsheet Workbench/es: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
 
(202 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
[[Image:Workbench_Spreadsheet.svg|64px]]


{{Docnav/es
== Introduction ==
|[[Sketcher_Workbench/es|Entorno de trabajo Croquizador]]
The [[Spreadsheet Workbench]] allows you to create and edit spreadsheets, use data from the spreadsheet as parameters in a model, fill the spreadsheet with data retrieved from a model, perform calculations, and export the data to other spreadsheet applications such as LibreOffice or Microsoft Excel.
|[[Start_Workbench/es|Entorno de trabajo Iniciar]]
|IconL=Workbench_Sketcher.svg
|IconR=Workbench_Start.svg
}}

[[Image:Workbench_Spreadsheet.svg|thumb|128px|El icono del Entorno de trabajo Hoja de cálculo]]

<span id="Introduction"></span>
== Introducción ==


El [[Image:Workbench_Spreadsheet.svg|24px]] [[Spreadsheet_Workbench/es|Entorno de trabajo de hojas de cálculo]] permite crear y editar hojas de cálculo, utilizar datos de la hoja de cálculo como parámetros en un modelo, rellenar la hoja de cálculo con datos recuperados de un modelo, realizar cálculos y exportar los datos a otras aplicaciones de hojas de cálculo como LibreOffice o Microsoft Excel.
The Spreadsheet Workbench has been available since FreeCAD 0.15.


{{TOCright}}
{{TOCright}}
[[File:Spreadsheet_screenshot.jpg|800px]]


[[File:Spreadsheet_screenshot.jpg|600px]]
== Cell Expressions ==
{{Caption|Una hoja de cálculo con determinadas celdas rellenas de texto y cantidades}}


<span id="Tools"></span>
A spreadsheet cell may contain arbitrary text or an expression.
== Herramientas ==
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.


* [[File:Spreadsheet_CreateSheet.svg|24px]] [[Spreadsheet_CreateSheet/es|Crear hoja]]: crea una nueva hoja de cálculo.
Cell expressions may contain numbers, functions, references to other cells, and references to properties of the model
(But see [[#Current_Limitations|Current Limitations]] below).
Cells are referenced by their row (CAPITAL letter) and column (number).
A cell may also be referenced by its [[#alias_name|alias-name]] (below).
Example: B4 + A6


* [[File:Spreadsheet_Import.svg|24px]] [[Spreadsheet_Import/es|Importar]]: importa un archivo CSV a una hoja de cálculo.
References to objects in the model are explained under [[#References_To_CAD-Data|References to CAD-Data]] below.
Using spreadsheet cell values to define model properties are explained under [[#Spreadsheet_Data_in_Expressions|Spreadsheet Data in Expressions]] below.
For more specifics on how expressions are formed, see [[Expressions]].


* [[File:Spreadsheet_Export.svg|24px]] [[Spreadsheet_Export/es|Exportar]]: exporta un archivo CSV desde una hoja de cálculo.
== Supported Functions ==


* [[File:Spreadsheet_MergeCells.svg|24px]] [[Spreadsheet_MergeCells/es|Unir celdas]]: une las celdas seleccionadas.
Standard trigonometric and other common mathematical functions as well as statistical aggregation functions are supported (see [[Expressions]]).


* [[File:Spreadsheet_SplitCell.svg|24px]] [[Spreadsheet_SplitCell/es|Dividir celda]]: divide celdas previamente unidas.
== Interaction between Spreadsheets and the CAD Model ==


* [[File:Spreadsheet_AlignLeft.svg|24px]] [[Spreadsheet_AlignLeft/es|Alinear a la izquierda]]: alinea el contenido de las celdas seleccionadas a la izquierda.
Data in the cells of a spreadsheet may be used in CAD model parameter expressions.
Thus, a spreadsheet may be used as the source for parameter values used throughout a model,
effectively gathering the values in one place.
When values are changed in the spreadsheet, they are propagated throughout the model.


* [[File:Spreadsheet_AlignCenter.svg|24px]] [[Spreadsheet_AlignCenter/es|Alinear al centro]]: alinea el contenido de las celdas seleccionadas al centro horizontalmente.
Similarly, properties from CAD model objects may be used in expressions in spreadsheet cells.
This allows use of object properties like volume or area in the spreadsheet.
If the name of an object in the CAD model is changed,
the change will automatically be propagated to any references in spreadsheet expressions using the name which was changed.


* [[File:Spreadsheet_AlignRight.svg|24px]] [[Spreadsheet_AlignRight/es|Alinear a la derecha]]: alinea el contenido de las celdas seleccionadas a la derecha.
More than one spreadsheet may be used in a document;
spreadsheets may be given a user-assigned name (rename) like any other object.


* [[File:Spreadsheet_AlignTop.svg|24px]] [[Spreadsheet_AlignTop/es|Alinear arriba]]: alinea el contenido de las celdas seleccionadas hacia arriba.
FreeCAD checks for cyclic dependencies. See [[Spreadsheet_Workbench#Current_Limitations|Current Limitations]].


* [[File:Spreadsheet_AlignVCenter.svg|24px]] [[Spreadsheet_AlignVCenter/es|Centrar verticalmente]]: alinea el contenido de las celdas seleccionadas al centro vertical.
=== Cell Properties ===


* [[File:Spreadsheet_AlignBottom.svg|24px]] [[Spreadsheet_AlignBottom/es|Alinear abajo]]: alinea el contenido de las celdas seleccionadas hacia abajo.
The properties of a spreadsheet cell can be edited with a right-click on a cell. The following

dialog pops up:
* [[File:Spreadsheet_StyleBold.svg|24px]] [[Spreadsheet_StyleBold/es|Estilo negrita]]: establece el contenido de las celdas seleccionadas a negrita.

* [[File:Spreadsheet_StyleItalic.svg|24px]] [[Spreadsheet_StyleItalic/es|Estilo cursiva]]: establece el contenido de las celdas seleccionadas a cursiva.

* [[File:Spreadsheet_StyleUnderline.svg|24px]] [[Spreadsheet_StyleUnderline/es|Estilo subrayado]]: establece el contenido de las celdas seleccionadas a subrayar.

* [[File:Spreadsheet_SetAlias.svg|24px]] [[Spreadsheet_SetAlias/es|Establecer alias]]: establece el alias para una celda seleccionada.

* {{Button|Negro}} y {{Button|Blanco}} establecen los colores de primer plano y de fondo de las celdas seleccionadas.

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

* [[Image:Preferences-spreadsheet.svg|32px]] [[Spreadsheet_Preferences|Preferencias]]: las preferencias para el entorno de trabajo Spreadsheet. {{Version|0.20}}

<span id="Removing_cells_can_be_dangerous"></span>
== Eliminar celdas puede ser peligroso ==

Note que eliminar celdas con datos puede romper la hoja de cálculo y tu modelo si este se basa en la hoja de cálculo. No será advertido previamente si esto sucede.

<span id="Insert_and_remove_rows_and_columns"></span>
== Inserte elimine filas y columnas ==

Filas y columnas pueden ser insertadas o eliminadas haciendo clic derecho en un encabezado de fila o columna y seleccionando la opción apropiada en el menú contextual. Es posible seleccionar primero varias filas o columnas. Ya sea manteniendo presionado la tecla {{KEY | Ctrl}} al seleccionar los encabezados, o manteniendo presionado el botón del mouse izquierdo y arrastrando.

<span id="Edit_cells"></span>
== Editar celdas ==

El contenido de una celda se puede editar seleccionando la celda e ingresando un valor en el cuadro de entrada {{MenuCommand|Content}} en la parte superior de la ventana. Para editar una celda en el lugar, selecciónela y presione {{KEY|F2}}, o haga doble clic en ella.

<span id="Delete_cells"></span>
== Eliminar celdas ==

Para eliminar una o más celdas selecciónelas y presione {{KEY|Supr}}. Esto eliminará sus contenidos, sus propiedades y sus alias. Para eliminar solo el contenido de una celda, se debe editar.

<span id="Cut_and_copy-paste_cells"></span>
== Cortar y copiar-pegar celdas ==

Las operaciones de cortar y copiar-pegar se pueden usar en las celdas de hojas de cálculo. Puede usar los atajos normales para estas operaciones: {{KEY | Ctrl}} {{KEY | X}}, {{KEY | Ctrl}} {{KEY | C}} y {{KEY | Ctrl}} {{KEY | V}} respectivamente. Para seleccionar múltiples celdas, mantenga presionada la tecla {{KEY | Ctrl}} mientras selecciona, o mantenga presionado el botón del mouse izquierdo y arrastre para seleccionar un rango de celda rectangular.

Las operaciones de cortar y copiar almacenan contenidos, propiedades y alias de las celdas en el portapapeles. La operación de pegar escribe los datos de tal manera que el contenido de la celda superior izquierda de los datos almacenados aparezcan en la celda activa. Otro contenido almacenado se coloca en relación con esa celda. Las fórmulas se actualizan en consecuencia. Los alias se pegan únicamente si son únicos.

<span id="Cell_properties"></span>
== Propiedades de la celda ==

Las propiedades de una celda de la hoja de cálculo pueden ser editadas haciendo clic derecho en la celda y seleccionando {{MenuCommand|Propiedades...}} del menú contextual. El siguiente cuadro de diálogo aparece:


[[File:SpreadsheetCellPropDialog.png]]
[[File:SpreadsheetCellPropDialog.png]]


Como se indica en las pestañas, se pueden modificar las siguientes propiedades:
As indicated by the tabs, the following properties can be changed:


* Color: Text color and background color
* Color: Color del texto y del fondo
* Alignment: Text horizontal and vertical alignment
* Alineación: Alineación horizontal y vertical del texto
* Estilo: Estilo del texto: negrita, cursiva, subrayado
* Style: Text style: bold, italic, underline
* Unidades: Muestra las unidades para esta celda. Por favor, lea la sección [[#Unidades|Unidades]] más abajo.
* Units: <span id="units_tab"></span>Display units for this cell. Please read the [[Spreadsheet_Workbench#Units|Units]] section below.
* Alias: Define un [[Spreadsheet_SetAlias/es|alias]] para esta celda. Este alias se puede utilizar en las fórmulas de las celdas y también en las [[Expressions/es|expresiones]] generales; consulte la sección [[#Datos_de_hoja_en_expresiónes|Datos de la hoja de cálculo en las expresiones]] para obtener más información.
* Alias: <span id="alias_name"></span>Define an alias-name for this cell. This alias-name can be used in cell formulas and also in general FreeCAD Expressions.
While one may use the row and column number in an expression to reference a cell,
best practice is to give the cell an alias-name and use that.
For example, if the data in cell B1 contained the length parameter for an object,
an alias name of "MyObject_Length" would allow the value to be referred to as "Spreadsheet.MyObject_Length"
instead of "Spreadsheet.B1". {{Version|0.16}}


<span id="Cell_expressions"></span>
=== References To CAD-Data ===
== Expresiones de la celda ==


Una celda de la hoja de cálculo puede contener un número, un texto o una expresión. Las expresiones deben comenzar con un signo igual '='.
As indicated above, one can reference data from the CAD model in spreadsheet expressions.


Las expresiones de celdas pueden contener números, funciones, referencias a otras celdas y referencias a propiedades del modelo (Pero vea [[#Limitaciones_actuales|Limitaciones actuales]] más abajo). Una celda puede ser referenciada por su dirección (columna con letra MAYÚSCULA + número de fila, ejemplo: B4) o por su [[Spreadsheet_SetAlias/es|alias]].
Computed expressions in spreadsheet cells start with an equals ('=') sign.
However, the spreadsheet entry mechanism attempts to be smart.
An expression may be entered without the leading '=';
if the string entered is a valid expression,
an '=' is automatically added when the final {{KEY|Enter}} is typed.
If the string entered is not a valid expression
(often the result of entering something with the wrong case, e.g. "MyCube.length" instead of "MyCube.Length"),
no leading '=' is added and it is treated as simply a text string.


'''Nota:''' Las expresiones de celda son tratadas por FreeCAD como código de programación. Por lo tanto, cuando editas una celda el contenido podría ver que no sigue su configuración de visualización:
Note: The above behavior (auto insert of '=') has some unpleasant ramifications:
* El separador decimal es siempre un punto. Pero comas pueden ser usadas al ingresar valores.
* If you want to keep a column of names corresponding to the [[#alias_name|alias-names]] in an adjacent column of values, you must enter the name in the label column ''before'' giving the cell in the value column its alias-name. Otherwise, when you enter the alias-name in the label column the spreadsheet will assume it is an expression and change it to "=<alias-name>"; and the displayed text will be the value from the <alias-name> cell.
* El número de decimales mostrados puede diferir de tu configuración de [[Preferences_Editor/es#Unidades|ajustes de preferencias]].
* If you make an error when entering the name in the label column and wish to correct it, you cannot simply change it to the alias-name. Instead, you must first change the alias-name to something else, then fix the text name in the label column, then change the alias-name in the value column back to its original.


Las referencias a objetos en el modelo se explican en [[#Referencias_a_datos_CAD|Referencias a datos CAD]] más abajo. El uso de los valores de las celdas de la hoja de cálculo para definir las propiedades del modelo se explica en [[#Hoja_de_datos_en_expresiones|Datos de la hoja de cálculo en las expresiones]] más adelante. Para más información sobre las expresiones y las funciones disponibles, véase [[Expressions/es|Expresiones]].
One way to side-step these issues is to prefix text labels corresponding to alias-names with a fixed string,

thereby making them different. Note that "_" will not work, as it is converted to "=". However, a blank, while invisible, will work.
<span id="Interaction_between_spreadsheets_and_the_CAD_model"></span>
== Interacción entre las hojas de cálculo y el modelo CAD ==

Los datos en las celdas de una hoja de cálculo pueden usarse en expresiones de parámetros del modelo CAD. Por lo tanto, una hoja de cálculo puede usarse como fuente de valores de parámetros utilizados en todo un modelo, recolectando efectivamente los valores en un solo lugar. Cuando los valores se cambian en la hoja de cálculo, se propagan por todo el modelo.

De manera similar, las propiedades de los objetos del modelo CAD pueden usarse en expresiones en celdas de hoja de cálculo. Esto permite el uso de propiedades de objetos como volumen o área en la hoja de cálculo. Si se cambia el nombre de un objeto en el modelo CAD, el cambio se propagará automáticamente a cualquier referencia en expresiones de hoja de cálculo utilizando el nombre al que se cambió.

Se puede usar más de una hoja de cálculo en un documento. Una hoja de cálculo puede ser identificada usando su nombre o su etiqueta.

FreeCAD asignará automáticamente un nombre único a una hoja de cálculo cuando se cree. Estos nombres siguen el patrón {{incode|Spreadsheet}}, {{incode|Spreadsheet001}}, {{incode|Spreadsheet002}} y así sucesivamente. El nombre no se puede cambiar y no es visible en las propiedades de la hoja de cálculo. Se puede utilizar para hacer referencia a la hoja de cálculo en una [[Expressions/es|Expresión]] (consulte [[#Spreadsheet_data_in_expressions|Datos de la hoja de cálculo en expresiones]] a continuación).

La etiqueta de una hoja de cálculo se establece automáticamente con el nombre de la hoja de cálculo al momento de su creación. A diferencia del nombre, la etiqueta se puede cambiar, por ejemplo en el panel de propiedades o usando la acción Cambiar nombre del menú contextual. Por defecto, FreeCAD no acepta etiquetas duplicadas, pero existe una [[Preferences_Editor#Document|preferencia]] para anular esto. No se puede hacer referencia a las hojas de cálculo con etiquetas duplicadas en el mismo documento por su etiqueta.

FreeCAD comprueba si hay dependencias cíclicas. Consulte [[Spreadsheet_Workbench#Current_limitations|Limitaciones actuales]].

<span id="References_to_CAD-data"></span>
=== Referencias a los datos CAD ===

Como se indicó anteriormente, se pueden hacer referencia a datos del modelo CAD en expresiones de hoja de cálculo.

La siguiente tabla muestra algunos ejemplos suponiendo que el modelo tiene una característica denominada "MyCube":
{|{{Prettytable}}
!Datos CAD
!Celda en la hoja de cálculo
!Resultado
|-
|Longitud paramétrica de un cubo del entorno de trabajo Part
|{{Incode|<nowiki>=MyCube.Length</nowiki>}}
|Longitud con unidades mm
|-
|Volumen del cubo
|{{Incode|<nowiki>=MyCube.Shape.Volume</nowiki>}}
|Volumen en mm&sup3; sin unidades
|-
|Tipo de forma de cubo
|{{Incode|<nowiki>=MyCube.Shape.ShapeType</nowiki>}}
|Cadena de texto: Solid
|-
|Etiqueta del cubo
|{{Incode|<nowiki>=MyCube.Label</nowiki>}}
|Cadena: MyCube
|-
|Coordenada X del centro de masa del cubo
|{{Incode|<nowiki>=MyCube.Shape.CenterOfMass.x</nowiki>}}
|Coordenada en mm sin unidades
|}

<span id="Spreadsheet_data_in_expressions"></span>
=== Datos de la hoja de cálculo en expresiones ===

Para utilizar datos de hojas de cálculo en otras partes de FreeCAD, normalmente creará una [[Expressions/es|Expresión]] que haga referencia a la hoja de cálculo y a la celda que contiene los datos que desea utilizar. Puede identificar hojas de cálculo por nombre o por etiqueta, y puede identificar las celdas por dirección o alias. El autocompletado está disponible para todas las formas de referencias.


The following table shows some examples assuming the model has a feature named "MyCube":
{|{{Prettytable}}
{|{{Prettytable}}
!
!CAD-Data
!Hoja de cálculo por nombre
!Cell in Spreadsheet
!Hoja de cálculo por etiqueta
!Result
|-
|Parametric Length of a Part-Workbench Cube
|=MyCube.Length
|Length with units mm
|-
|-
!Celda por dirección
|Volume of the Cube
|{{incode|<nowiki>=Spreadsheet042.B5</nowiki>}}
|=MyCube.Shape.Volume
|{{incode|<nowiki>=<<MySpreadsheet>>.B5</nowiki>}}
|Volume in mm&sup3; without units
|-
|-
!Celda por alias
|Type of the Cube-shape
|{{incode|<nowiki>=Spreadsheet042.MyAlias</nowiki>}}
|=MyCube.Shape.ShapeType
|{{incode|<nowiki>=<<MySpreadsheet>>.MyAlias</nowiki>}}
|String: Solid
|-
|Label of the Cube
|=MyCube.Label
|String: MyCube
|-
|x-coordinate of center of mass of the Cube
|=MyCube.Shape.CenterOfMass.x
|x-coordinate in mm without units
|}
|}


<div class="mw-collapsible mw-collapsed">
=== Spreadsheet Data in Expressions ===
La forma recomendada de hacer referencia a los datos de una hoja de cálculo es utilizar la etiqueta de la hoja de cálculo y el nombre del alias de la celda. Para obtener una explicación más detallada de los pros y los contras de los modos de referencia, consulte la sección ampliada a continuación.
<div class="mw-collapsible-content">


El uso de la etiqueta de la hoja de cálculo tiene la ventaja de que se puede cambiar libremente para describir el contenido de la hoja de cálculo. También es más fácil identificar la hoja de cálculo que se está utilizando ya que el texto de la expresión coincide con la etiqueta que se muestra en las vistas de modelo y propiedades. Si decide cambiar la etiqueta de una hoja de cálculo, se actualizarán las referencias existentes al contenido de la hoja de cálculo, por lo que no romperá sus expresiones al cambiar el nombre de la hoja de cálculo. El nombre interno de la hoja de cálculo no está disponible en ningún lugar excepto en el editor de expresiones, por lo que si usa el nombre interno y luego decide cambiar el nombre de las hojas de cálculo, es posible que le resulte difícil rastrear los datos de la expresión hasta su origen.
The usage of spreadsheet data in other parts of FreeCAD requires a fully defined name. Because it is possible to have
more than one spreadsheet in a document, the spreadsheet name together with the cell name or alias is required.
The following pictures show the usage of an alias "number" from a spreadsheet "MySheet" in an expression
in the PartDesign Workbench.
[[File:Expression usage1.png]]


Tenga en cuenta que cuando crea una nueva hoja de cálculo, el nombre y la etiqueta son los mismos, por lo que es fácil utilizar accidentalmente el nombre de la hoja de cálculo en lugar de la etiqueta. Una forma sencilla de evitar esto es darle a la hoja de cálculo un nombre significativo antes de comenzar a usarla en expresiones.
Typing an "M" shows a list of available names (above).
The arrow-keys allow one to move down to "MySheet" and select it;
{{KEY|Enter}} will cause it to be completed in the expression.
You can also continue typing or click the entry with the mouse.


Si bien puede usar el número de fila y columna en una expresión para hacer referencia a una celda, la mejor práctica es darle a la celda un nombre de alias y usarlo. Consulta [[#Cell_properties|Propiedades de celda]] sobre cómo configurar el alias. Por ejemplo, si los datos de la celda B1 contenían el parámetro de longitud de un objeto, un nombre de alias de {{incode|MyObject_Length}} permitiría hacer referencia al valor como {{incode|<<MyParams>>.MyObject_Length}} en lugar de {{incode|Hoja de cálculo.B1}}. Además de ser mucho más fáciles de leer y comprender, los nombres de alias también son mucho más fáciles de cambiar si decides ajustar la estructura de tu hoja de cálculo. Usar un alias también tiene la ventaja de que es más fácil ver qué celdas se usan para controlar otras partes del documento. Tenga en cuenta que FreeCAD ajustará automáticamente las referencias posicionales en las expresiones si inserta o elimina filas y columnas en la hoja de cálculo, por lo que incluso si usa números de filas y columnas en una expresión, puede insertar filas y columnas sin romper las referencias a las celdas circundantes. .
[[File:Expression usage2.png]]


</div>
Typing an "n" now shows the list of available alias names in MySheet starting with "n" (above).
</div>
"number" can now be selected as described above.
Once a valid name with usable content is entered,
the result field will show the calculated value; in this case, the length (below).


<span id="Complex_models_and_recomputes"></span>
[[File:Expression usage3.png]]
=== Modelos complejos y recálculos ===


La edición de una hoja de cálculo activará un nuevo cálculo del modelo 3D, incluso si los cambios no afectan el modelo. Para un modelo complejo, un nuevo cálculo puede llevar mucho tiempo y, por supuesto, tener que esperar después de cada edición es bastante molesto.
Further typing, such as adding a "+" sign, will result in an expression which is no longer valid
which will be indicated.
Continuing to complete the expression can again result in a valid expression.


Hay tres soluciones para hacer frente a esto:
== Units ==
# Omitir temporalmente los recálculos:
#* En la [[Tree_view/es|Vista de árbol]], haga clic derecho en el documento [[Image:Document.svg|24px]] que contiene la hoja de cálculo.
#* Seleccione la opción {{MenuCommand/es|Omitir recálculos}} en el menú contextual.
#* Esta solución tiene una gran desventaja. Los nuevos valores ingresados ​​en la hoja de cálculo no se mostrarán hasta que se vuelva a calcular el documento. En su lugar se muestra {{incode|#PENDING}}.
#* Puede volver a calcular manualmente, usando el comando [[Std_Refresh/es|Std Refresh]], o desactivar {{MenuCommand/es|Omitir recálculos}} cuando haya terminado de editar.
# Use una macro para omitir automáticamente los recálculos mientras edita una hoja de cálculo:
#* Descargue y ejecute [https://forum.freecadweb.org/viewtopic.php?f=8&t=48600#p419301 skipSheet.FCMacro].
#* Esta solución ahorra algunos pasos en comparación con la primera solución, pero también tiene la desventaja mencionada.
# Coloque la hoja de cálculo en un [[File_Format_FCStd/es|archivo de FreeCAD]] separado:
#* Puede hacer referencia a datos de hoja de cálculo desde un archivo externo {{FileName|.FCStd}} con esta sintaxis: {{incode|<nowiki>=NameOfFile#<<MySpreadsheet>>.MyAlias</nowiki>}}.
#* La ventaja de tener la hoja de cálculo en otro archivo en lugar de desactivar los recálculos es que la hoja de cálculo en sí se vuelve a calcular.
#* La desventaja es que el modelo no volverá a calcular automáticamente después de realizar cambios en la hoja de cálculo.
#* En el escenario en el que abre por primera vez el archivo de la 'hoja de cálculo', cambia uno o más valores y luego abre el archivo del 'modelo', no habrá ninguna indicación de que sea necesario volver a calcular el modelo. Pero si ambos archivos están abiertos, el icono [[Std_Refresh/es|Std Refresh]] se actualizará correctamente para el archivo del 'modelo' después de los cambios en el archivo de la 'hoja de cálculo'.


<span id="Units"></span>
The Spreadsheet has a notion of dimension (units) associated with cell values.
== Unidades ==
A number entered without an associated unit has no dimension.
The unit should be entered immediately following the number value, with no intervening space.
If a number has an associated unit, that unit will be used in all calculations.
For example, the multiplication of two lengths with the unit mm gives an area with the unit mm&sup2;.


La hoja de cálculo tiene una noción de dimensión (unidades) asociada con los valores de las celdas. Un número ingresado sin una unidad asociada no tiene dimensión. La unidad debe ingresarse inmediatamente después del valor numérico, sin espacios intermedios. Si un número tiene una unidad asociada, esa unidad se utilizará en todos los cálculos. Por ejemplo, la multiplicación de dos longitudes con la unidad mm da un área con la unidad mm&sup2;.
If a cell contains a value which represents a dimension, it should be entered with its associated unit.
While in many simple cases one can get by with a dimensionless value,
it is unwise to not enter the unit.
If a value representing a dimension is entered without its associated unit, there are some sequences of operations which cause FreeCAD to complain of incompatible units in an expression when it appears the expression should be valid.
(This may be better understood by viewing [https://forum.freecadweb.org/viewtopic.php?f=3&t=34713&p=292455#p292438 this thread] in the FreeCAD forums.)


Si una celda contiene un valor que representa una dimensión, se debe ingresar con su unidad asociada. Si bien en muchos casos simples uno puede arreglárselas con un valor adimensional, no es prudente no ingresar la unidad. Si se ingresa un valor que representa una dimensión sin su unidad asociada, hay algunas secuencias de operaciones que hacen que FreeCAD se queje de unidades incompatibles en una expresión cuando parece que la expresión debería ser válida. (Esto se puede entender mejor consultando [https://forum.freecadweb.org/viewtopic.php?f=3&t=34713&p=292455#p292438 este hilo] en los foros de FreeCAD).
You can change the units displayed for a cell value using the properties dialog [[#units_tab|units tab]] (above).
This does not change the value contained in the cell; it only converts the existing value for display.
The value used for calculations does not change,
and the results of formulas using the value do not change.
For example, a cell containing the value "5.08cm" can be displayed as "2in" by changing the units tab value to "in".


Puede cambiar las unidades mostradas para un valor de celda usando el [[#Cell_properties|diálogo de propiedades de celda]]. Esto no cambia el valor contenido en la celda; solo convierte el valor existente para su visualización. El valor utilizado para los cálculos no cambia y los resultados de las fórmulas que utilizan el valor no cambian. Por ejemplo, una celda que contiene el valor "5,08 cm" se puede mostrar como "2 pulgadas" cambiando el valor de la pestaña de unidades a "pulgadas".
A dimensionless number cannot be changed to a number with a unit by the cell properties dialog.
One can put in a unit string, and that string will be displayed; but the cell still contains a dimensionless number. In order to change a dimensionless value to a value with a dimension, the value itself must be re-entered with its associated unit.


Un número adimensional no se puede cambiar a un número con una unidad mediante el cuadro de diálogo de propiedades de la celda. Se puede introducir una cadena de unidad y esa cadena se mostrará; pero la celda todavía contiene un número adimensional. Para cambiar un valor sin dimensiones a un valor con una dimensión, se debe volver a ingresar el valor en sí con su unidad asociada.
Occasionally it may be desirable to get rid of a dimension in an expression. This can be done by multiplying by 1 with a reciprocal unit.


En ocasiones puede resultar conveniente eliminar una dimensión de una expresión. Esto se puede hacer multiplicando por 1 con una unidad recíproca.
== Importing and exporting ==


<span id="Importing_and_exporting"></span>
Sheets can be imported and exported to the [https://en.wikipedia.org/wiki/Comma-separated_values csv] format which can also be read and written by most other spreadsheet applications such as Microsoft Excel or LibreOffice Calc. When importing files into FreeCAD, the delimiter (the character that is used to separate columns) must be the TAB character (this can be set when exporting from other applications). The import of a CSV-file is available from the menu {{MenuCommand|Spreadsheet → Import Spreadsheet}} or by clicking on the icon [[Image:SpreadsheetImport.svg|24px]]. This import function does not open Excel files or any other spreadsheet format.
== Importación y exportación ==


<span id="CSV_format"></span>
Spreadsheets in Excel-format "xlsx" can be imported via the menu {{MenuCommand|File → Import...}}. Excel-spreadsheets can also be opened by clicking in the menu {{MenuCommand|File → Open...}} or by clicking on the icon [[Image:Document-open.svg|24px]]. In these cases
=== Formato CSV ===
a new document with a spreadsheet inside is created. The following features are supported:


Las hojas de cálculo de FreeCAD se pueden importar y exportar al formato [https://es.wikipedia.org/wiki/Valores_separados_por_comas ​​CSV], que también puede leerse y escribirse en la mayoría de las otras aplicaciones de hojas de cálculo, como Microsoft Excel o LibreOffice Calc. Consulte [[Spreadsheet_Import/es|Importar hoja de cálculo]] y [[Spreadsheet_Export/es|Exportar hoja de cálculo]] para obtener más información.
* all functions that are also available in the FreeCAD spreadsheet. Other functions give an error in the corresponding cell after the import.
* Alias names for cells
* More than one "Sheet" in the Excel-spreadsheet. In this case one FreeCAD spreadsheet is created for each Excel sheet.


<span id="XLSX_format"></span>
Other functionality is not imported into the FreeCAD spreadsheet. The Excel-import is {{Version|0.17}} of FreeCAD.
=== Formato XLSX ===


Las hojas de cálculo en formato XLSX de Excel se pueden importar con el comando [[Std_Import/es|Std Import]] o el comando [[Std_Open/es|Std Open]]. Se admiten las siguientes funciones:
== Current Limitations ==


* Todas las funciones que también están disponibles en la hoja de cálculo de FreeCAD. Otras funciones dan un error en la celda correspondiente después de la importación.
FreeCAD checks for cyclic dependencies.
* Alias ​​de nombres para celdas.
By design, that check stops at the level of the spreadsheet object.
* Más de una hoja en la hoja de cálculo de Excel. En este caso se crea una hoja de cálculo de FreeCAD para cada hoja de Excel.
As a consequence, you should not have a spreadsheet which contains both
cells whose values are used to specify parameters to the model,
and cells whose values use output from the model.
For example, you cannot have cells specifying the length, width, and height of an object,
and another cell which references the total volume of the resulting shape.
This restriction can be surmounted by having two spreadsheets:
one used as a data-source for input parameters to the model
and the other used for calculations based on resultant geometry-data.


Otras funciones no se importan a la hoja de cálculo de FreeCAD.
When cells are copied, only the content (expression/value) is copied.
The [[Spreadsheet_Workbench#Cell_Properties|Cell Properties]] described above are not copied.


<span id="Printing"></span>
For earlier versions see [[Spreadsheet_legacy|Spreadsheet legacy]].
== Impresión ==

Para manejar la configuración de página necesaria para la impresión, las hojas de cálculo de FreeCAD se imprimen insertándolas en una [[TechDraw_SpreadsheetView/es|TechDraw Spreadsheet View]].

<span id="Current_limitations"></span>
== Limitaciones actuales ==

FreeCAD comprueba si hay dependencias cíclicas cuando vuelve a calcular. Por diseño, esa verificación se detiene en el nivel del objeto de la hoja de cálculo. Como consecuencia, no debería tener una hoja de cálculo que contenga celdas cuyos valores se utilicen para especificar parámetros del modelo y celdas cuyos valores utilicen resultados del modelo. Por ejemplo, no puede tener celdas que especifiquen el largo, ancho y alto de un objeto, y otra celda que haga referencia al volumen total de la forma resultante. Esta restricción se puede superar teniendo dos hojas de cálculo: una utilizada como fuente de datos para los parámetros de entrada del modelo y la otra para cálculos basados ​​en los datos geométricos resultantes.

<span id="Cell_binding"></span>
== Enlazamiento de celdas ==

{{Version|0.20}}

Es posible enlazar el contenido de unas celdas a otras celdas en la hoja de cálculo. Esto puede ser útil cuando se trata de tablas grandes o para obtener contenido de celda de otra hoja de cálculo.

<span id="Create_binding"></span>
=== Crear enlaces ===

Para enlazar, por ejemplo, el rango de celdas A3-C4 al rango de celdas B1-D2:

<ol>
<li>
Seleccione el rango de celdas A3-C4.
</li>
<li>
Clic derecho y seleccione {{MenuCommand|Enlazar...}} del menú contextual.
</li>
<li>
El diálogo {{MenuCommand|Enlazar celdas e hoja de cálculo}} se abre.
</li>
<li>
Establezca el rango B1-D2 para {{MenuCommand|A las celdas}}:
<br>
[[File:Spreadsheet_binding-dialog.png]]
</li>
<li>
Presione {{Button|Aceptar}}.
</li>
<li>
Las celdas enlazadas tienen un borde azul para resaltar el enlace.
</li>
<li>
Si ahora ingresa algo en la celda C1, lo mismo aparecerá inmediatamente en la celda B3.
</li>
</ol>

[[File:Spreadsheet_binding-result.png]]
{{Caption|La hoja de cálculo ahora puede verse así}}

<span id="Change_binding"></span>
=== Cambiar enlaces ===

# Haga clic derecho en una celda enlazada (no es necesario resaltar todo el rango enlazado) y seleccione {{MenuCommand|Enlazar...}} en el menú contextual.
# Se abre el cuadro de diálogo {{MenuCommand|Enlazar celdas de hoja de cálculo}}.
# Cambie una o más opciones. Tenga en cuenta que {{MenuCommand|celdas enlazadas}}, el rango de celdas enlazadas, no se puede cambiar.
# Presione {{Botón|Aceptar}}.

<span id="Remove_binding"></span>
=== Eliminar enlaces ===

# Haga clic derecho en una celda enlazada (no es necesario resaltar todo el rango enlazado) y seleccione {{MenuCommand|Enlazar...}} en el menú contextual.
# Se abre el cuadro de diálogo {{MenuCommand|Enlazar celdas de hoja de cálculo}}.
# Presione {{Botón|Desenlazar}}.

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

* La opción {{MenuCommand|Ocultar dependencia de enlace}} se puede utilizar para evitar problemas con dependencias cíclicas entre hojas de cálculo. Seleccionarlo es necesario cuando, por ejemplo, las celdas de ''Hoja de cálculo A'' están vinculadas a la ''Hoja de cálculo B'', mientras que las celdas de la ''Hoja de cálculo B'', a su vez, están vinculadas a otras celdas de la ''Hoja de cálculo B''. A''. Esta opción debe usarse con precaución:
** Ocultar dependencias puede ser peligroso porque las dependencias rotas pueden dañar su archivo FreeCAD. Por ejemplo, cuando eliminas una hoja de cálculo no se te advertirá sobre dependencias ocultas.
** Cuando abre un documento con una hoja de cálculo que contiene una dependencia oculta, la hoja de cálculo se marcará para volver a calcularse. Esto se debe a que una dependencia cíclica no se puede volver a calcular automáticamente. Para volver a calcular se debe utilizar la herramienta [[Std_Refresh|Std Refresh]].
* El enlace de celda tiene una verificación de rango y le advierte sobre rangos que no coinciden. Por ejemplo, unir 1x3 celdas a 3x2 celdas no puede funcionar porque se desconoce qué 3 celdas de las 6 celdas originales deben usarse.
* No puede cambiar el rango de celdas de un enlace existente. Primero debes desvincular las celdas y luego crear una nueva vinculación.
* El color del marco que indica el enlace aún no
se puede cambiar.

<span id="Configuration_tables"></span>
== Tablas de configuración ==

{{Version|0.20}}

Puedes usar hojas de cálculo para crear tablas de configuración con conjuntos de parámetros predefinidos para tu modelo, y después cambiar dinamicamente que configuración usar. Vea [https://forum.freecadweb.org/viewtopic.php?f=17&t=42183 este post del foro] si quiere saber más sobre el funcionamiento interno de esta característica.

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

Expandir esta sección para un breve tutorial de como crear una tabla de configuración.

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

<ol>
<li>
En un nuevo documento, primero cree una [[Std_Part/es|Std Pieza]], después cree un [[Part_Box/es|Part Box]], un [[Part_Cylinder/es|Part Cylinder]] y una hoja de cálculo.
</li>
<li>
La caja y el cilindro se colocan automáticamente en el contenedor [[Std_Part|Std Pieza]]. Coloque manualmente la hoja de cálculo en el contenedor también.
</li>
<li>
En la hoja de cálculo ingrese the contenido mostrado abajo. Establezca el alias para B2 como {{Value|width}}, C2 como {{Value|length}} y D2 como {{Value|radius}}:
<br>
[[File:Spreadsheet_configuration_table_screenshot_4.png]]
</li>
<li>
Enlce las [[Expressions|expresiones]]{{Value|Spreadsheet.width}} y {{Value|Spreadsheet.length}} a las propiedades {{PropertyData|Width}} y {{PropertyData|Length}} de la caja, respectivamente:
<br>
[[File:Spreadsheet_configuration_table_screenshot_2.png]]
</li>
<li>
Enlace la expresión {{Value|Spreadsheet.radius}} a la propiedad {{PropertyData|Radius}} del cilindro. Tambieén cambie la {{PropertyData|Height}} del cilindro a {{Value|5 mm}} para que sea más bajo que la caja.
</li>
<li>
Clic derecho en la celda A2 en la hoja de cálculo y seleccione {{MenuCommand|Tabla de configuración...}} del menú contextual.
</li>
<li>
El cuadro de diálogo {{MenuCommand|Configurar tabl de configuración}} se abre.
</li>
<li>
Ingrese lo siguiente:
<br>
[[File:Spreadsheet_configuration_table_screenshot_5.png]]
</li>
<li>
Presione {{Button|OK}}.
</li>
<li>
Se agregará una nueva propiedad llamada {{PropertyData|Configuration}} al contenedor [[Std_Part|Std Part]] para elegir la configuración como se muestra a continuación:
<br>
[[File:Spreadsheet_configuration_table_screenshot_6.png]]
</li>
</ol>

Puede usar un [[Std_LinkMake|Std Link]] o un [[PartDesign_SubShapeBinder|PartDesign SubShapeBinder]] para instanciar una [https://forum.freecadweb.org/viewtopic.php?f=17&t=42183&p=532130#p532130 Instancia de una Variante] de un objeto configurable con los siguientes pasos:

# Cree un [[Std_LinkMake|Std Link]] al contenedor [[Std_Part|Std Part]] y configure su propiedad {{PropertyData|Link Copy On Change}} a {{Value|Enabled}}.
# Mueva el Link a un nuevo lugar cambiando su {{PropertyData|Posición}} para que sea más fácil distinguirlo del objeto original.
# Seleccione una {{PropertyData|Configuración}} diferente para el Link para crear una instancia de una variante.

Pasos similares se aplican a un [[PartDesign_SubShapeBinder|PartDesign SubShapeBinder]], excepto que su propiedad para activar una instancia de una variante se llama {{PropertyData|Bind Copy On Change}}.

</div>
</div>

<span id="Scripting_basics"></span>
== Scripting básico ==


== 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/es
|[[Sketcher_Workbench/es|Entorno de trabajo Croquizador]]
|[[Start_Workbench/es|Entorno de trabajo Iniciar]]
|IconL=Workbench_Sketcher.svg
|IconR=Workbench_Start.svg
}}
}}


{{Spreadsheet_Tools_navi{{#translation:}}}}
{{Docnav|Sketcher Workbench|Start Workbench}}
{{Userdocnavi}}
{{Userdocnavi{{#translation:}}}}
[[Category:Spreadsheet]]
[[Category:Workbenches{{#translation:}}]]
[[Category:Workbenches]]

Latest revision as of 15:22, 6 March 2024

El icono del Entorno de trabajo Hoja de cálculo

Introducción

El Entorno de trabajo de hojas de cálculo permite crear y editar hojas de cálculo, utilizar datos de la hoja de cálculo como parámetros en un modelo, rellenar la hoja de cálculo con datos recuperados de un modelo, realizar cálculos y exportar los datos a otras aplicaciones de hojas de cálculo como LibreOffice o Microsoft Excel.

Una hoja de cálculo con determinadas celdas rellenas de texto y cantidades

Herramientas

  • Importar: importa un archivo CSV a una hoja de cálculo.
  • Exportar: exporta un archivo CSV desde una hoja de cálculo.
  • Alinear al centro: alinea el contenido de las celdas seleccionadas al centro horizontalmente.
  • Alinear arriba: alinea el contenido de las celdas seleccionadas hacia arriba.
  • Alinear abajo: alinea el contenido de las celdas seleccionadas hacia abajo.
  • Estilo negrita: establece el contenido de las celdas seleccionadas a negrita.
  • Estilo cursiva: establece el contenido de las celdas seleccionadas a cursiva.
  • Estilo subrayado: establece el contenido de las celdas seleccionadas a subrayar.
  • Negro y Blanco establecen los colores de primer plano y de fondo de las celdas seleccionadas.

Preferencias

Eliminar celdas puede ser peligroso

Note que eliminar celdas con datos puede romper la hoja de cálculo y tu modelo si este se basa en la hoja de cálculo. No será advertido previamente si esto sucede.

Inserte elimine filas y columnas

Filas y columnas pueden ser insertadas o eliminadas haciendo clic derecho en un encabezado de fila o columna y seleccionando la opción apropiada en el menú contextual. Es posible seleccionar primero varias filas o columnas. Ya sea manteniendo presionado la tecla Ctrl al seleccionar los encabezados, o manteniendo presionado el botón del mouse izquierdo y arrastrando.

Editar celdas

El contenido de una celda se puede editar seleccionando la celda e ingresando un valor en el cuadro de entrada Content en la parte superior de la ventana. Para editar una celda en el lugar, selecciónela y presione F2, o haga doble clic en ella.

Eliminar celdas

Para eliminar una o más celdas selecciónelas y presione Supr. Esto eliminará sus contenidos, sus propiedades y sus alias. Para eliminar solo el contenido de una celda, se debe editar.

Cortar y copiar-pegar celdas

Las operaciones de cortar y copiar-pegar se pueden usar en las celdas de hojas de cálculo. Puede usar los atajos normales para estas operaciones: Ctrl X, Ctrl C y Ctrl V respectivamente. Para seleccionar múltiples celdas, mantenga presionada la tecla Ctrl mientras selecciona, o mantenga presionado el botón del mouse izquierdo y arrastre para seleccionar un rango de celda rectangular.

Las operaciones de cortar y copiar almacenan contenidos, propiedades y alias de las celdas en el portapapeles. La operación de pegar escribe los datos de tal manera que el contenido de la celda superior izquierda de los datos almacenados aparezcan en la celda activa. Otro contenido almacenado se coloca en relación con esa celda. Las fórmulas se actualizan en consecuencia. Los alias se pegan únicamente si son únicos.

Propiedades de la celda

Las propiedades de una celda de la hoja de cálculo pueden ser editadas haciendo clic derecho en la celda y seleccionando Propiedades... del menú contextual. El siguiente cuadro de diálogo aparece:

Como se indica en las pestañas, se pueden modificar las siguientes propiedades:

  • Color: Color del texto y del fondo
  • Alineación: Alineación horizontal y vertical del texto
  • Estilo: Estilo del texto: negrita, cursiva, subrayado
  • Unidades: Muestra las unidades para esta celda. Por favor, lea la sección Unidades más abajo.
  • Alias: Define un alias para esta celda. Este alias se puede utilizar en las fórmulas de las celdas y también en las expresiones generales; consulte la sección Datos de la hoja de cálculo en las expresiones para obtener más información.

Expresiones de la celda

Una celda de la hoja de cálculo puede contener un número, un texto o una expresión. Las expresiones deben comenzar con un signo igual '='.

Las expresiones de celdas pueden contener números, funciones, referencias a otras celdas y referencias a propiedades del modelo (Pero vea Limitaciones actuales más abajo). Una celda puede ser referenciada por su dirección (columna con letra MAYÚSCULA + número de fila, ejemplo: B4) o por su alias.

Nota: Las expresiones de celda son tratadas por FreeCAD como código de programación. Por lo tanto, cuando editas una celda el contenido podría ver que no sigue su configuración de visualización:

  • El separador decimal es siempre un punto. Pero comas pueden ser usadas al ingresar valores.
  • El número de decimales mostrados puede diferir de tu configuración de ajustes de preferencias.

Las referencias a objetos en el modelo se explican en Referencias a datos CAD más abajo. El uso de los valores de las celdas de la hoja de cálculo para definir las propiedades del modelo se explica en Datos de la hoja de cálculo en las expresiones más adelante. Para más información sobre las expresiones y las funciones disponibles, véase Expresiones.

Interacción entre las hojas de cálculo y el modelo CAD

Los datos en las celdas de una hoja de cálculo pueden usarse en expresiones de parámetros del modelo CAD. Por lo tanto, una hoja de cálculo puede usarse como fuente de valores de parámetros utilizados en todo un modelo, recolectando efectivamente los valores en un solo lugar. Cuando los valores se cambian en la hoja de cálculo, se propagan por todo el modelo.

De manera similar, las propiedades de los objetos del modelo CAD pueden usarse en expresiones en celdas de hoja de cálculo. Esto permite el uso de propiedades de objetos como volumen o área en la hoja de cálculo. Si se cambia el nombre de un objeto en el modelo CAD, el cambio se propagará automáticamente a cualquier referencia en expresiones de hoja de cálculo utilizando el nombre al que se cambió.

Se puede usar más de una hoja de cálculo en un documento. Una hoja de cálculo puede ser identificada usando su nombre o su etiqueta.

FreeCAD asignará automáticamente un nombre único a una hoja de cálculo cuando se cree. Estos nombres siguen el patrón Spreadsheet, Spreadsheet001, Spreadsheet002 y así sucesivamente. El nombre no se puede cambiar y no es visible en las propiedades de la hoja de cálculo. Se puede utilizar para hacer referencia a la hoja de cálculo en una Expresión (consulte Datos de la hoja de cálculo en expresiones a continuación).

La etiqueta de una hoja de cálculo se establece automáticamente con el nombre de la hoja de cálculo al momento de su creación. A diferencia del nombre, la etiqueta se puede cambiar, por ejemplo en el panel de propiedades o usando la acción Cambiar nombre del menú contextual. Por defecto, FreeCAD no acepta etiquetas duplicadas, pero existe una preferencia para anular esto. No se puede hacer referencia a las hojas de cálculo con etiquetas duplicadas en el mismo documento por su etiqueta.

FreeCAD comprueba si hay dependencias cíclicas. Consulte Limitaciones actuales.

Referencias a los datos CAD

Como se indicó anteriormente, se pueden hacer referencia a datos del modelo CAD en expresiones de hoja de cálculo.

La siguiente tabla muestra algunos ejemplos suponiendo que el modelo tiene una característica denominada "MyCube":

Datos CAD Celda en la hoja de cálculo Resultado
Longitud paramétrica de un cubo del entorno de trabajo Part =MyCube.Length Longitud con unidades mm
Volumen del cubo =MyCube.Shape.Volume Volumen en mm³ sin unidades
Tipo de forma de cubo =MyCube.Shape.ShapeType Cadena de texto: Solid
Etiqueta del cubo =MyCube.Label Cadena: MyCube
Coordenada X del centro de masa del cubo =MyCube.Shape.CenterOfMass.x Coordenada en mm sin unidades

Datos de la hoja de cálculo en expresiones

Para utilizar datos de hojas de cálculo en otras partes de FreeCAD, normalmente creará una Expresión que haga referencia a la hoja de cálculo y a la celda que contiene los datos que desea utilizar. Puede identificar hojas de cálculo por nombre o por etiqueta, y puede identificar las celdas por dirección o alias. El autocompletado está disponible para todas las formas de referencias.

Hoja de cálculo por nombre Hoja de cálculo por etiqueta
Celda por dirección =Spreadsheet042.B5 =<<MySpreadsheet>>.B5
Celda por alias =Spreadsheet042.MyAlias =<<MySpreadsheet>>.MyAlias

La forma recomendada de hacer referencia a los datos de una hoja de cálculo es utilizar la etiqueta de la hoja de cálculo y el nombre del alias de la celda. Para obtener una explicación más detallada de los pros y los contras de los modos de referencia, consulte la sección ampliada a continuación.

El uso de la etiqueta de la hoja de cálculo tiene la ventaja de que se puede cambiar libremente para describir el contenido de la hoja de cálculo. También es más fácil identificar la hoja de cálculo que se está utilizando ya que el texto de la expresión coincide con la etiqueta que se muestra en las vistas de modelo y propiedades. Si decide cambiar la etiqueta de una hoja de cálculo, se actualizarán las referencias existentes al contenido de la hoja de cálculo, por lo que no romperá sus expresiones al cambiar el nombre de la hoja de cálculo. El nombre interno de la hoja de cálculo no está disponible en ningún lugar excepto en el editor de expresiones, por lo que si usa el nombre interno y luego decide cambiar el nombre de las hojas de cálculo, es posible que le resulte difícil rastrear los datos de la expresión hasta su origen.

Tenga en cuenta que cuando crea una nueva hoja de cálculo, el nombre y la etiqueta son los mismos, por lo que es fácil utilizar accidentalmente el nombre de la hoja de cálculo en lugar de la etiqueta. Una forma sencilla de evitar esto es darle a la hoja de cálculo un nombre significativo antes de comenzar a usarla en expresiones.

Si bien puede usar el número de fila y columna en una expresión para hacer referencia a una celda, la mejor práctica es darle a la celda un nombre de alias y usarlo. Consulta Propiedades de celda sobre cómo configurar el alias. Por ejemplo, si los datos de la celda B1 contenían el parámetro de longitud de un objeto, un nombre de alias de MyObject_Length permitiría hacer referencia al valor como <<MyParams>>.MyObject_Length en lugar de Hoja de cálculo.B1. Además de ser mucho más fáciles de leer y comprender, los nombres de alias también son mucho más fáciles de cambiar si decides ajustar la estructura de tu hoja de cálculo. Usar un alias también tiene la ventaja de que es más fácil ver qué celdas se usan para controlar otras partes del documento. Tenga en cuenta que FreeCAD ajustará automáticamente las referencias posicionales en las expresiones si inserta o elimina filas y columnas en la hoja de cálculo, por lo que incluso si usa números de filas y columnas en una expresión, puede insertar filas y columnas sin romper las referencias a las celdas circundantes. .

Modelos complejos y recálculos

La edición de una hoja de cálculo activará un nuevo cálculo del modelo 3D, incluso si los cambios no afectan el modelo. Para un modelo complejo, un nuevo cálculo puede llevar mucho tiempo y, por supuesto, tener que esperar después de cada edición es bastante molesto.

Hay tres soluciones para hacer frente a esto:

  1. Omitir temporalmente los recálculos:
    • En la Vista de árbol, haga clic derecho en el documento que contiene la hoja de cálculo.
    • Seleccione la opción Template:MenuCommand/es en el menú contextual.
    • Esta solución tiene una gran desventaja. Los nuevos valores ingresados ​​en la hoja de cálculo no se mostrarán hasta que se vuelva a calcular el documento. En su lugar se muestra #PENDING.
    • Puede volver a calcular manualmente, usando el comando Std Refresh, o desactivar Template:MenuCommand/es cuando haya terminado de editar.
  2. Use una macro para omitir automáticamente los recálculos mientras edita una hoja de cálculo:
    • Descargue y ejecute skipSheet.FCMacro.
    • Esta solución ahorra algunos pasos en comparación con la primera solución, pero también tiene la desventaja mencionada.
  3. Coloque la hoja de cálculo en un archivo de FreeCAD separado:
    • Puede hacer referencia a datos de hoja de cálculo desde un archivo externo .FCStd con esta sintaxis: =NameOfFile#<<MySpreadsheet>>.MyAlias.
    • La ventaja de tener la hoja de cálculo en otro archivo en lugar de desactivar los recálculos es que la hoja de cálculo en sí se vuelve a calcular.
    • La desventaja es que el modelo no volverá a calcular automáticamente después de realizar cambios en la hoja de cálculo.
    • En el escenario en el que abre por primera vez el archivo de la 'hoja de cálculo', cambia uno o más valores y luego abre el archivo del 'modelo', no habrá ninguna indicación de que sea necesario volver a calcular el modelo. Pero si ambos archivos están abiertos, el icono Std Refresh se actualizará correctamente para el archivo del 'modelo' después de los cambios en el archivo de la 'hoja de cálculo'.

Unidades

La hoja de cálculo tiene una noción de dimensión (unidades) asociada con los valores de las celdas. Un número ingresado sin una unidad asociada no tiene dimensión. La unidad debe ingresarse inmediatamente después del valor numérico, sin espacios intermedios. Si un número tiene una unidad asociada, esa unidad se utilizará en todos los cálculos. Por ejemplo, la multiplicación de dos longitudes con la unidad mm da un área con la unidad mm².

Si una celda contiene un valor que representa una dimensión, se debe ingresar con su unidad asociada. Si bien en muchos casos simples uno puede arreglárselas con un valor adimensional, no es prudente no ingresar la unidad. Si se ingresa un valor que representa una dimensión sin su unidad asociada, hay algunas secuencias de operaciones que hacen que FreeCAD se queje de unidades incompatibles en una expresión cuando parece que la expresión debería ser válida. (Esto se puede entender mejor consultando este hilo en los foros de FreeCAD).

Puede cambiar las unidades mostradas para un valor de celda usando el diálogo de propiedades de celda. Esto no cambia el valor contenido en la celda; solo convierte el valor existente para su visualización. El valor utilizado para los cálculos no cambia y los resultados de las fórmulas que utilizan el valor no cambian. Por ejemplo, una celda que contiene el valor "5,08 cm" se puede mostrar como "2 pulgadas" cambiando el valor de la pestaña de unidades a "pulgadas".

Un número adimensional no se puede cambiar a un número con una unidad mediante el cuadro de diálogo de propiedades de la celda. Se puede introducir una cadena de unidad y esa cadena se mostrará; pero la celda todavía contiene un número adimensional. Para cambiar un valor sin dimensiones a un valor con una dimensión, se debe volver a ingresar el valor en sí con su unidad asociada.

En ocasiones puede resultar conveniente eliminar una dimensión de una expresión. Esto se puede hacer multiplicando por 1 con una unidad recíproca.

Importación y exportación

Formato CSV

Las hojas de cálculo de FreeCAD se pueden importar y exportar al formato ​​CSV, que también puede leerse y escribirse en la mayoría de las otras aplicaciones de hojas de cálculo, como Microsoft Excel o LibreOffice Calc. Consulte Importar hoja de cálculo y Exportar hoja de cálculo para obtener más información.

Formato XLSX

Las hojas de cálculo en formato XLSX de Excel se pueden importar con el comando Std Import o el comando Std Open. Se admiten las siguientes funciones:

  • Todas las funciones que también están disponibles en la hoja de cálculo de FreeCAD. Otras funciones dan un error en la celda correspondiente después de la importación.
  • Alias ​​de nombres para celdas.
  • Más de una hoja en la hoja de cálculo de Excel. En este caso se crea una hoja de cálculo de FreeCAD para cada hoja de Excel.

Otras funciones no se importan a la hoja de cálculo de FreeCAD.

Impresión

Para manejar la configuración de página necesaria para la impresión, las hojas de cálculo de FreeCAD se imprimen insertándolas en una TechDraw Spreadsheet View.

Limitaciones actuales

FreeCAD comprueba si hay dependencias cíclicas cuando vuelve a calcular. Por diseño, esa verificación se detiene en el nivel del objeto de la hoja de cálculo. Como consecuencia, no debería tener una hoja de cálculo que contenga celdas cuyos valores se utilicen para especificar parámetros del modelo y celdas cuyos valores utilicen resultados del modelo. Por ejemplo, no puede tener celdas que especifiquen el largo, ancho y alto de un objeto, y otra celda que haga referencia al volumen total de la forma resultante. Esta restricción se puede superar teniendo dos hojas de cálculo: una utilizada como fuente de datos para los parámetros de entrada del modelo y la otra para cálculos basados ​​en los datos geométricos resultantes.

Enlazamiento de celdas

introduced in version 0.20

Es posible enlazar el contenido de unas celdas a otras celdas en la hoja de cálculo. Esto puede ser útil cuando se trata de tablas grandes o para obtener contenido de celda de otra hoja de cálculo.

Crear enlaces

Para enlazar, por ejemplo, el rango de celdas A3-C4 al rango de celdas B1-D2:

  1. Seleccione el rango de celdas A3-C4.
  2. Clic derecho y seleccione Enlazar... del menú contextual.
  3. El diálogo Enlazar celdas e hoja de cálculo se abre.
  4. Establezca el rango B1-D2 para A las celdas:
  5. Presione Aceptar.
  6. Las celdas enlazadas tienen un borde azul para resaltar el enlace.
  7. Si ahora ingresa algo en la celda C1, lo mismo aparecerá inmediatamente en la celda B3.

La hoja de cálculo ahora puede verse así

Cambiar enlaces

  1. Haga clic derecho en una celda enlazada (no es necesario resaltar todo el rango enlazado) y seleccione Enlazar... en el menú contextual.
  2. Se abre el cuadro de diálogo Enlazar celdas de hoja de cálculo.
  3. Cambie una o más opciones. Tenga en cuenta que celdas enlazadas, el rango de celdas enlazadas, no se puede cambiar.
  4. Presione Template:Botón.

Eliminar enlaces

  1. Haga clic derecho en una celda enlazada (no es necesario resaltar todo el rango enlazado) y seleccione Enlazar... en el menú contextual.
  2. Se abre el cuadro de diálogo Enlazar celdas de hoja de cálculo.
  3. Presione Template:Botón.

Notas

  • La opción Ocultar dependencia de enlace se puede utilizar para evitar problemas con dependencias cíclicas entre hojas de cálculo. Seleccionarlo es necesario cuando, por ejemplo, las celdas de Hoja de cálculo A están vinculadas a la Hoja de cálculo B, mientras que las celdas de la Hoja de cálculo B, a su vez, están vinculadas a otras celdas de la Hoja de cálculo B. A. Esta opción debe usarse con precaución:
    • Ocultar dependencias puede ser peligroso porque las dependencias rotas pueden dañar su archivo FreeCAD. Por ejemplo, cuando eliminas una hoja de cálculo no se te advertirá sobre dependencias ocultas.
    • Cuando abre un documento con una hoja de cálculo que contiene una dependencia oculta, la hoja de cálculo se marcará para volver a calcularse. Esto se debe a que una dependencia cíclica no se puede volver a calcular automáticamente. Para volver a calcular se debe utilizar la herramienta Std Refresh.
  • El enlace de celda tiene una verificación de rango y le advierte sobre rangos que no coinciden. Por ejemplo, unir 1x3 celdas a 3x2 celdas no puede funcionar porque se desconoce qué 3 celdas de las 6 celdas originales deben usarse.
  • No puede cambiar el rango de celdas de un enlace existente. Primero debes desvincular las celdas y luego crear una nueva vinculación.
  • El color del marco que indica el enlace aún no

se puede cambiar.

Tablas de configuración

introduced in version 0.20

Puedes usar hojas de cálculo para crear tablas de configuración con conjuntos de parámetros predefinidos para tu modelo, y después cambiar dinamicamente que configuración usar. Vea este post del foro si quiere saber más sobre el funcionamiento interno de esta característica.

Expandir esta sección para un breve tutorial de como crear una tabla de configuración.

  1. En un nuevo documento, primero cree una Std Pieza, después cree un Part Box, un Part Cylinder y una hoja de cálculo.
  2. La caja y el cilindro se colocan automáticamente en el contenedor Std Pieza. Coloque manualmente la hoja de cálculo en el contenedor también.
  3. En la hoja de cálculo ingrese the contenido mostrado abajo. Establezca el alias para B2 como width, C2 como length y D2 como radius:
  4. Enlce las expresionesSpreadsheet.width y Spreadsheet.length a las propiedades DatosWidth y DatosLength de la caja, respectivamente:
  5. Enlace la expresión Spreadsheet.radius a la propiedad DatosRadius del cilindro. Tambieén cambie la DatosHeight del cilindro a 5 mm para que sea más bajo que la caja.
  6. Clic derecho en la celda A2 en la hoja de cálculo y seleccione Tabla de configuración... del menú contextual.
  7. El cuadro de diálogo Configurar tabl de configuración se abre.
  8. Ingrese lo siguiente:
  9. Presione OK.
  10. Se agregará una nueva propiedad llamada DatosConfiguration al contenedor Std Part para elegir la configuración como se muestra a continuación:

Puede usar un Std Link o un PartDesign SubShapeBinder para instanciar una Instancia de una Variante de un objeto configurable con los siguientes pasos:

  1. Cree un Std Link al contenedor Std Part y configure su propiedad DatosLink Copy On Change a Enabled.
  2. Mueva el Link a un nuevo lugar cambiando su DatosPosición para que sea más fácil distinguirlo del objeto original.
  3. Seleccione una DatosConfiguración diferente para el Link para crear una instancia de una variante.

Pasos similares se aplican a un PartDesign SubShapeBinder, excepto que su propiedad para activar una instancia de una variante se llama DatosBind Copy On Change.

Scripting básico

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