Bancada de trabalho Spreadsheet

From FreeCAD Documentation
Jump to navigation Jump to search
This page is a translated version of the page Spreadsheet Workbench and the translation is 86% complete.
Outdated translations are marked like this.
Under construction icon-blue.svg
This documentation is a work in progress. Please don't mark it as translatable since it will change in the next hours and days.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎hrvatski • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎svenska • ‎čeština • ‎български • ‎русский • ‎中文 • ‎中文(中国大陆)‎ • ‎中文(台灣)‎ • ‎한국어
ícone da bancada de trabalho Spreadsheet

Introdução

A Workbench Spreadsheet.svg bancada de trabalho Spreadsheet permite criar e editar planilhas, usar dados da planilha como parâmetros em um modelo, preencher a planilha com dados recuperados de um modelo, realizar cálculos e exportar os dados para outras aplicações de planilhas como o LibreOffice ou o Microsoft Excel.

Spreadsheet screenshot.jpg

Uma planilha com determinadas células preenchidas com texto e quantidades

Ferramentas

  • Spreadsheet Import.svg Importar: importar um arquivo de valores separados por tabulações em uma planilha.
  • Spreadsheet Export.svg Exportar: exportar um arquivo de valores separados por tabulações a partir de uma planilha de cálculo.
  • Spreadsheet StyleBold.svg Negrito: definir o conteúdo das células selecionadas para o negrito.
  • Spreadsheet StyleItalic.svg Itálico: definir o conteúdo das células selecionadas para itálico.
  • Spreadsheet StyleUnderline.svg Sublinhado: definir o conteúdo das células selecionadas para sublinhado.
  • Preto e Branco definir o primeiro plano e as cores de fundo das células selecionadas.

Menu de contexto das linhas e colunas da planilha: clique com o botão direito do mouse no cabeçalho de uma linha ou coluna para inserir uma nova linha acima ou uma nova coluna à esquerda, ou para excluir a linha/coluna atual. Você também pode selecionar várias linhas ou colunas para excluí-las.
introduced in version 0.20Você também pode selecionar onde as novas linhas/colunas serão inseridas. Além disso, para inserir por exemplo 3 novas colunas de uma vez, selecione 3 colunas e use o menu contextual que agora se oferecerá para inserir 3 colunas.

Spreadsheet editing

As noted above under Tools, right click on a row or column header produces a pulldown menu that allows you to delete the row/column or insert a new blank one. Formula references to cells that get moved by these operations get patched to refer to the new location, You will get a warning and a request to confirm if a row or column deletion would abolish a reference that's used in your model.

Cut/copy/paste can be used to edit data. Cut and copy will both operate on single cells, rows, columns, rectangles, or indeed any selection group of cells you set up. Cut clears the content of selected cells; both cut and copy stash the cell content in an internal paste buffer. A paste operation writes the buffered data in such a way that the content of the uppermost-leftmost cell of the buffered set is dropped in the cell where the cursor is when you paste; other buffered content is dropped where it will have the same relationship to that target as it originally did to the upper-left cell of your cut/paste set.

An important caveat: Cut/copy/paste operations do not fix up formula references. If you move the content of a cell, formulas which referred to the old location will break. If the old location becomes empty, the breakage will become visible as the expression evaluator will display #ERR in dependent cells. Properties are also not carried along.

The Undo key can be use to back out any of these operations. However, it undoes a cell at a time - thus, multiple Undos may be requited to back out a single copy or paste.

Propriedades celulares

As propriedades de uma célula de planilha podem ser editadas com um clique com o botão direito do mouse sobre uma célula. As seguintes propriedades o diálogo aparece:

SpreadsheetCellPropDialog.png

Conforme indicado pelas abas, as seguintes propriedades podem ser alteradas:

  • Cor: Cor do texto e cor de fundo
  • Alinhamento: Alinhamento horizontal e vertical do texto
  • Estilo: Estilo do texto: negrito, itálico, sublinhado
  • Unidades: Unidades de exibição para esta célula. Por favor, leia a seção abaixo Unidades.
  • Pseudônimo: Defina um pseudônimo para esta célula. Este apelido pode ser usado em fórmulas celulares e também em expressões gerais; veja a seção Dados da planilha em expressões para mais informações.

Expressões celulares

Uma célula de planilha pode conter um texto ou uma expressão arbitrária. Tecnicamente, as expressões devem começar com um sinal igual a '='. Entretanto, a planilha tenta ser inteligente; se você digitar o que parece ser uma expressão sem o sinal '=' principal, uma será adicionada automaticamente.

As expressões celulares podem conter números, funções, referências a outras células e referências a propriedades do modelo (Mas veja Limitações atuais abaixo). As células são referenciadas por sua coluna (letra CAPITULAR) e linha (número). Uma célula também pode ser referenciada por sua pseudônimo(abaixo).Exemplo: B4 + A6

Nota: As expressões celulares são tratadas pelo FreeCAD como código de programação. Portanto, quando você edita uma célula, o conteúdo que você vê não está seguindo suas configurações de visualização:

As referências a objetos no modelo são explicadas em Referências a dados CAD abaixo. A utilização dos valores das células da planilha para definir as propriedades do modelo é explicada em Dados da planilha em expressões abaixo. Para mais informações sobre as expressões e as funções disponíveis, veja Expressões.

Interação entre as planilhas e o modelo CAD

Os dados nas células de uma planilha podem ser usados nas expressões de parâmetros do modelo CAD. Assim, uma planilha pode ser usada como fonte para valores de parâmetros utilizados em todo o modelo, reunindo efetivamente os valores em um só lugar. Quando os valores são alterados na planilha, eles são propagados ao longo do modelo.

Da mesma forma, as propriedades dos objetos do modelo CAD podem ser usadas em expressões em células de planilhas. Isto permite o uso de propriedades de objetos como volume ou área na planilha eletrônica. Se o nome de um objeto no modelo CAD for alterado, a alteração será automaticamente propagada para quaisquer referências nas expressões da planilha usando o nome que foi alterado.

Mais de uma planilha de cálculo pode ser usada em um documento. Uma planilha pode ser identificada usando seu nome ou sua etiqueta.

O FreeCAD atribuirá automaticamente um nome exclusivo a uma planilha de cálculo quando ela for criada. Estes nomes seguem o padrão Spreadsheet, Spreadsheet001, Spreadsheet002 e assim por diante. O nome não pode ser alterado manualmente, e não é visível nas propriedades da planilha. Ele pode ser usado para se referir à planilha em uma Expressão (ver Dados da planilha em expressões abaixo.)

O rótulo de uma planilha é automaticamente definido com o nome da planilha no momento da criação. Ao contrário do nome, a etiqueta pode ser alterada, por exemplo, no painel de propriedades ou usando a ação do menu de contexto Renomear. Note que a etiqueta de uma planilha dentro de um documento tem que ser única; se você tentar mudar a etiqueta para uma etiqueta já usada por outra planilha, o FreeCAD não aceitará a nova etiqueta.

Verificações FreeCAD para dependências cíclicas. Ver Limitações atuais.

Referências a dados CAD

Como indicado acima, é possível consultar os dados do modelo CAD em expressões de planilhas.

As expressões computadas nas células da planilha começam com um sinal de igual ('='). Entretanto, o mecanismo de entrada na planilha tenta ser inteligente. Uma expressão pode ser inserida sem o '=' principal; se a string inserida for uma expressão válida, um '=' é automaticamente adicionado quando o final Enter é digitado. Se a string inserida não for uma expressão válida (freqüentemente o resultado de inserir algo com o caso errado, por exemplo, "MyCube.length" em vez de "MyCube.Length"), nenhum '=' inicial é adicionado e é tratado como simplesmente uma string de texto.

Nota: O comportamento acima (inserção automática de '=') tem algumas ramificações desagradáveis:

  • Se você quiser manter uma coluna de nomes correspondente ao pseudônimos em uma coluna de valores adjacente, você deve digitar o nome na coluna do rótulo antes, dando à célula na coluna de valores seu pseudônimo. Caso contrário, quando você digitar o apelido na coluna do rótulo, a planilha assumirá que é uma expressão e a mudará para "=<alias-name>"; e o texto exibido será o valor da célula <alias-name>".
  • Se você cometer um erro ao digitar o nome na coluna do rótulo e desejar corrigi-lo, não poderá simplesmente mudá-lo para o pseudônimo. Em vez disso, é preciso primeiro mudar o pseudônimo para outra coisa, depois corrigir o nome do texto na coluna do rótulo, depois mudar o pseudônimo na coluna do valor de volta ao original.

Uma maneira de evitar essas questões é prefixar etiquetas de texto correspondentes a pseudônimos com uma cadeia fixa, tornando-as assim diferentes. Note que "_" não vai funcionar, pois é convertido para "=". Entretanto, um espaço em branco, embora invisível, funcionará.

A tabela a seguir mostra alguns exemplos assumindo que o modelo tem uma característica chamada "MyCube":

Dados CAD Célula em Planilha Resultado
Comprimento paramétrico de um cubo de bancada de trabalho parcial =MyCube.Length Comprimento com unidades mm
Volume do Cubo =MyCube.Shape.Volume Volume em mm³ sem unidades
Tipo da forma do cubo =MyCube.Shape.ShapeType String: Solid
Rótulo do Cubo =MyCube.Label String: MyCube
x-coordenada do centro de massa do Cubo =MyCube.Shape.CenterOfMass.x x-coordenada em mm sem unidades

Dados da planilha em expressões

Para usar os dados da planilha em outras partes do FreeCAD, você geralmente criará uma Expressão que se refere à planilha e à célula que contém os dados que você deseja usar. Você pode identificar as planilhas por nome ou por etiqueta, e pode identificar as células por posição ou por pseudônimo. O auto-completamento está disponível para todas as formas de referência.

Planilha por nome Planilha por Rótulo
Célula por Posição =Spreadsheet042.B5 =<<MySpreadsheet>>.B5
Célula por Pseudónimo =Spreadsheet042.MyAlias =<<MySpreadsheet>>.MyAlias

A maneira recomendada de consultar os dados da planilha é usar a etiqueta da planilha e o nome da célula. Para uma explicação mais profunda dos prós e contras dos modos de endereçamento, veja a seção expandida abaixo.

O uso do rótulo da planilha tem a vantagem de poder ser livremente alterado para descrever o conteúdo da planilha. Também é mais fácil identificar a planilha que está sendo utilizada, já que o texto na expressão corresponde à etiqueta mostrada na visualização do modelo e das propriedades. Se você decidir mudar o rótulo de uma planilha, as referências existentes ao conteúdo da planilha serão atualizadas, para que você não quebre suas expressões ao renomear a planilha. O nome interno da planilha não está prontamente disponível em nenhum lugar, exceto dentro do editor de expressões, portanto, se você usar o nome interno e mais tarde decidir renomear as planilhas, você poderá ter dificuldade em rastrear seus dados de expressão de volta à sua fonte.

Esteja ciente de que quando você cria uma nova planilha, o nome e a etiqueta são os mesmos, por isso é fácil usar acidentalmente o nome da planilha em vez da etiqueta. Uma maneira simples de evitar isto é dar à planilha um nome significativo antes de começar a usá-la em expressões.

While you 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. See Cell Properties above on how to set the alias. 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 <<MyParams>>.MyObject_Length instead of Spreadsheet.B1. Besides being much easier to read and understand, alias names are also much easier to change if you decide to adjust the structure of your spreadsheet. Using an alias also has the advantage that it is reasier to see which cells are used to control other parts of the document. Note that FreeCAD will automatically adjust the positional references in expressions if you insert or remove rows and columns in the spreadsheet, so even if you use row and column numbers in an expression, you can insert rows and columns without breaking the references to the surrounding cells.

Modelos complexos e recompilações

A edição de uma planilha irá desencadear uma recomputação do modelo 3D, mesmo que as mudanças não afetem o modelo. Para um modelo complexo, uma recomputação pode levar muito tempo, e ter que esperar após cada edição é, naturalmente, bastante irritante.

Há três soluções para lidar com isso:

  1. Pular temporariamente as recomputas:
    • Na Vista em árvore clique com o botão direito do mouse sobre o Document.svg documento que contém a planilha de cálculo.
    • Selecione a opção Skip recomputes no menu de contexto.
    • Há uma grande desvantagem para esta solução. Os novos valores inseridos na planilha não serão exibidos até que o documento seja recalculado. Em vez disso #PENDENTE é mostrado.
    • Você pode recalcular manualmente, usando o comando Atualização, ou desabilitar a opção Skip recomputes quando você terminar de editar.
  2. Use uma macro para saltar automaticamente as recomputas durante a edição de uma planilha:
    • Download e execução skipSheet.FCMacro.
    • Esta solução economiza alguns passos em relação à primeira solução, mas também tem a desvantagem mencionada.
  3. Colocar a planilha em um arquivo separado:
    • Você pode consultar os dados de uma planilha de um arquivo externo com esta sintaxe: =NameOfFile#<<MySpreadsheet>>.MyAlias.
    • A vantagem de ter a planilha em outro arquivo sobre o desligamento de recomputas é que a própria planilha é recalculada.
    • A desvantagem é que o modelo não será recalculado automaticamente após alterações na planilha.
    • No cenário onde você primeiro abre o arquivo 'planilha', altera um ou mais valores e depois abre o arquivo 'modelo', não haverá nenhuma indicação de que o modelo precisa ser recalculado. Mas se ambos os arquivos estiverem abertos, o ícone Atualização será atualizado corretamente para o arquivo 'modelo' após as mudanças no arquivo 'planilha'.

Unidades

A Planilha tem uma noção de dimensão (unidades) associada aos valores das células. Um número inserido sem uma unidade associada não tem dimensão. A unidade deve ser inserida imediatamente após o valor do número, sem espaço interveniente. Se um número tiver uma unidade associada, essa unidade será usada em todos os cálculos. Por exemplo, a multiplicação de dois comprimentos com a unidade mm dá uma área com a unidade mm².

Se uma célula contém um valor que representa uma dimensão, ela deve ser inserida com sua unidade associada. Embora em muitos casos simples se possa sobreviver com um valor sem dimensão, é insensato não entrar com a unidade. Se um valor representando uma dimensão for inserido sem sua unidade associada, há algumas seqüências de operações que fazem com que o FreeCAD reclame de unidades incompatíveis em uma expressão quando ela aparece, a expressão deve ser válida. (Isto pode ser melhor compreendido visualizando este tópico nos fóruns do FreeCAD.)

Você pode mudar as unidades exibidas para um valor de célula usando o diálogo de propriedades guia de unidades. (acima). Isto não altera o valor contido na célula; ele apenas converte o valor existente para exibição. O valor utilizado para os cálculos não muda, e os resultados das fórmulas que utilizam o valor não mudam. Por exemplo, uma célula contendo o valor "5,08cm" pode ser exibida como "2in", alterando o valor da aba de unidades para "in".

Um número sem dimensão não pode ser alterado para um número com uma unidade pelo diálogo de propriedades da célula. Pode-se colocar uma cadeia de unidades, e essa cadeia será exibida; mas a célula ainda contém um número sem dimensões. Para mudar um valor sem dimensão para um valor com uma dimensão, o próprio valor deve ser reentrado com sua unidade associada.

Ocasionalmente, pode ser desejável se livrar de uma dimensão em uma expressão. Isto pode ser feito multiplicando por 1 com uma unidade recíproca.

Importação e exportação

As folhas podem ser importadas e exportadas para o formato csv que também pode ser lido e escrito pela maioria das outras aplicações de planilhas como o Microsoft Excel ou o LibreOffice Calc. Ao importar arquivos para o FreeCAD, o delimitador (o caractere que é usado para separar colunas) deve ser o caracter TAB (que pode ser definido ao exportar de outras aplicações). A importação de um arquivo CSV está disponível a partir do menu Planilha → Importar Planilha ou clicando no ícone SpreadsheetImport.svg. Esta função de importação não abre arquivos Excel ou qualquer outro formato de planilha eletrônica.

Planilhas em formato Excel "xlsx" podem ser importadas através do menu Arquivo → Import.... As planilhas do Excel também podem ser abertas clicando no menu Arquivo → Abrir... ou clicando no ícone ou clicando no ícone Document-open.svg. Nesses casos, é criado um novo documento com uma planilha dentro. As seguintes características são suportadas:

  • todas as funções que também estão disponíveis na planilha do FreeCAD. Outras funções dão um erro na célula correspondente após a importação.
  • Nomes de células
  • Mais de uma "Folha" na planilha Excel-spreadsheet. Neste caso, uma planilha FreeCAD é criada para cada planilha do Excel.

Outras funcionalidades não são importadas para a planilha do FreeCAD. O Excel-importado é o da introduced in version 0.17 do FreeCAD

Impressão

Para lidar com a configuração da página necessária para impressão, as planilhas do FreeCAD são impressas inserindo-as em Visualizar planilha do TechDraw.

Limitações atuais

Verificações FreeCAD para dependências cíclicas. Por projeto, essa verificação pára no nível do objeto da planilha. Como conseqüência, não se deve ter uma planilha que contenha tanto células cujos valores são usados para especificar parâmetros para o modelo, quanto células cujos valores usam a saída do modelo. Por exemplo, você não pode ter células especificando o comprimento, largura e altura de um objeto, e outra célula que faz referência ao volume total da forma resultante. Esta restrição pode ser superada com duas planilhas: uma usada como fonte de dados para parâmetros de entrada no modelo e a outra usada para cálculos baseados nos dados geométricos resultantes.

Noções básicas de script

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


Template:Spreadsheet Tools navi/pt-br