Editor de propriedades

From FreeCAD Documentation
Revision as of 17:11, 29 July 2021 by Dikluwe (talk | contribs) (Created page with "* {{PropertyData|Angle}}: o ângulo que especifica quanto do elemento base é girado. Por padrão é {{value|360°}}, mas pode ser qualquer fração disso.")

Introdução

O editor de propriedades aparece quando a guia Model da visão combinada está ativa na interface; ele permite gerenciar as propriedades publicamente expostas dos objetos de documento.

Geralmente, o editor de propriedade é destinado a lidar com apenas um objeto de cada vez. Os valores mostrados no editor de propriedade pertencem ao objeto selecionado do documento ativo. Apesar disso, algumas propriedades como cores, podem ser definidas para vários objetos selecionados. Se não houver elementos selecionados, o editor de propriedades estará vazio.

Nem todas as propriedades podem ser modificadas sempre; dependendo do status específico da propriedade, algumas delas serão invisíveis (não listadas), ou somente leitura (não editáveis).

Editor de propriedade vazia, quando nenhum objeto é selecionado.

Tipos de propriedade

Uma propriedade é uma informação como um número ou uma cadeia de texto que é anexada a um documento FreeCAD ou a um objeto no documento.

Objetos personalizados objetos com scripts podem usar qualquer um dos tipos de propriedade definidos no sistema base. Veja a lista completa em Propriedade.

Alguns dos tipos de propriedade mais comumente utilizados são:

App::PropertyBool
App::PropertyFloat
App::PropertyAngle
App::PropertyDistance
App::PropertyInteger
App::PropertyString
App::PropertyMatrix
App::PropertyVector
App::PropertyPlacement

Objetos diferentes podem ter diferentes tipos de propriedade. No entanto, muitos objetos têm os mesmos tipos porque são derivados da mesma classe interna. Por exemplo, a maioria dos objetos que descrevem formas geométricas (linhas, círculos, retângulos, sólidos, peças importadas, etc.) tem a propriedade "Colocação" que define sua posição na Vista 3D.

Propriedades de visualização e dados

Há duas classes de propriedades funcionais acessíveis através de abas no editor de propriedades:

  • Propriedades da Vista as propriedades relacionadas à aparência "visual" do objeto. As propriedades de visualização estão ligadas ao atributo ViewProvider(ViewObject) do objeto e só são acessíveis quando a interface gráfica do usuário (GUI) é carregada. Eles não são acessíveis quando se usa o FreeCAD no modo de console ou como biblioteca sem cabeça.
  • Propriedades dos dados relativos aos parâmetros "físicos" do objeto. As propriedades dos dadosdefinem as características essenciais do objeto; elas sempre existem, mesmo quando o FreeCAD é usado no modo console ou como uma biblioteca. Isto significa que se você carregar um documento em modo console, você pode alterar o raio de um círculo ou o comprimento de uma linha, mesmo que não consiga ver o resultado na tela.

Por esta razão, as propriedades dos dados são consideradas mais "importantes", uma vez que, na verdade, definem a geometria de uma forma. Por outro lado, as propriedades de Vista são menos importantes porque afetam apenas a aparência da superfície da geometria. Por exemplo, um círculo com um raio de 10 mm é diferente de um círculo com um raio de 5 mm; a cor dos círculos (propriedade da aparência) não afeta sua forma, mas o raio (propriedade de dados). Em muitos casos, nesta documentação, a palavra "Propriedade" se refere a uma "propriedade de dados", não a uma "propriedade de aparência".

Propriedades básicas

Veja também: Nome do objeto

O mais básico script de objeto não exibe nenhuma propriedade de Dados no editor de propriedade, exceto por seu atributo Label. O Rótulo é uma cadeia editável pelo usuário que identifica o objeto na vista em árvore. Por outro lado, o Nome de um objeto é um atributo interno que é atribuído ao objeto no momento de sua criação. Este atributo é somente de leitura, portanto não pode ser modificado, nem é exibido no editor de propriedade.

Um objeto paramétrico básico é criado da seguinte forma

obj = App.ActiveDocument.addObject("App::FeaturePython", "App__FeaturePython")
obj.Label = "Plain_object"
print(obj.Name)
print(obj.Label)

Aba Vista e Dados do editor de propriedade, para um objeto básico "App::FeaturePython" com script.

A maioria dos objetos geométricos que podem ser criados e exibidos em Vista 3D são derivados de uma Parte::Característica. Veja a Característica Part para conhecer as propriedades mais básicas desses objetos.

Para a geometria 2D, a maioria dos objetos são derivados de Part::Part2DObject (ela mesma derivada de Part::Feature) sendo a base dos Sketche, e elementos do Draft. Veja a Part Part2DObject para as propriedades mais básicas destes objetos.

Ações

As ações na visão da propriedade foram implementadas em 0.19.

Clicar com o botão direito do mouse em um espaço vazio na vista ou com uma propriedade selecionada mostra apenas um comando:

  • Mostrar todos:se ativo, além das propriedades padrão que já aparecem, mostra todos os dados ocultos e exibe as propriedades nas respectivas abas.
    • Dados:"Proxy", "Label2", "Expression Engine", e "Visibility".
    • Vista:"Proxy".

Quando a opção Mostrar todas está ativa, e uma propriedade é selecionada, mais ações estão disponíveis com um segundo clique do botão direito:

  • Mostrar todas: desabilita o comando Mostrar todas, escondendo assim os dados adicionais e as propriedades de exibição.
  • Adicionar propriedade: Isto funciona tanto com objetos definidos em C++, quanto com scripts de objetos escritos em Python.
  • Expressão...:chama o editor de fórmula, que permite o uso de expressões no valor da propriedade.
  • Hidden: se ativo, define a propriedade como oculta, o que significa que ela só será exibida no editor da propriedade se Mostrar todas está ativo.
  • Output: se ativo, define a propriedade como uma saída.
  • NoRecompute: se ativo, define a propriedade como não recalculada quando o documento é recalculado; isto é útil quando uma propriedade não deve ser afetada por outras atualizações.
  • ReadOnly:se ativo, define a propriedade para somente leitura. Não será mais editável no editor da propriedade até que esta configuração seja desativada. A entrada do menu Expressão... não está mais disponível. Nota: Ainda pode ser possível alterar o imóvel através de um diálogo que atualize o imóvel.
  • Transient:se ativo, define a propriedade como transitória. O valor de uma propriedade transitória não é armazenado em um arquivo. Quando um arquivo é aberto, ele é instanciado com seu valor padrão.
  • Touched:se estiver ativo, ele é atingido e está pronto para ser recalculado.
  • EvalOnRestore: se estiver ativo, ele é avaliado quando o documento é restaurado.

Exemplo de propriedades de um objeto PartDesign

Nesta seção mostramos algumas propriedades comuns visíveis para um Corpo PartDesign e uma Função PartDesign. As propriedades específicas de um objeto podem ser encontradas na página de documentação específica para esse objeto.

Vista

A maioria dessas propriedades são herdadas do objeto básico Part Feature.

Base

  • VistaAngular Deflection:Esta é outra maneira de especificar a finura de geração da malha para renderização em tela ou exportação. O valor padrão é 28,5 graus, ou 0,5 radianos. Quanto menor o valor, mais suave será a aparência na Vista 3D, e mais fina será a malha exportada.
  • VistaBounding Box: indica se uma caixa mostrando a extensão global do objeto é exibida.
  • VistaDeviation: define a precisão da representação poligonal do modelo na vista 3D (tesselação). Valores mais baixos indicam melhor qualidade. O valor está em porcentagem do tamanho do objeto.
  • VistaDisplay Mode: modo de exibição de corpo inteiro,Flat lines (padrão), Shaded, Wireframe, Points.
  • VistaDisplay Mode Body:modo de exibição da ponta do corpo, Through (padrão), Tip.
  • VistaDraw Style: Solid, Dashed, Dotted, Dashdot; define o estilo das bordas na vista 3D.
  • VistaLighting: One side, Two side (padrão).
  • VistaLine Color: cor RGB das bordas, é por padrão (25, 25, 25).
  • VistaLine Width: a espessura das bordas, é por padrão 2 pixels.
  • VistaOn Top When Selected: Disabled, Enabled, Object, Element.
  • VistaPoint Color: a cor RGB dos vértices, por padrão (25, 25, 25).
  • VistaPoint Size: o tamanho dos vértices, é por padrão 2 pixels.
  • VistaSelectable:se o objeto é selecionável ou não.
  • VistaSelection Style: Shape, BoundBox.
  • VistaShape Color: a cor RGB da forma, é por padrão (204, 204, 204).
  • VistaShow In Tree: se estiver definido para true, to objeto aparece na estrutura em árvore. Caso contrário, é definido como invisível.
  • VistaTransparency: o grau de transparência de 0 (padrão) a 100.
  • VistaVisibility: se o objeto esta visível na vista 3D ou não. Alternar com o Space no teclado.

Data

Neste caso, observamos as propriedades da função Revolução PartDesign.

Base

  • DadosLabel: o nome definido pelo usuário dado ao objeto, isto pode ser alterado conforme desejado.

Part Design

  • DadosRefine: se a fusão feita com outros objetos deve ser refinada.

Revolution

  • DadosBase: o ponto no espaço que especifica onde ocorre a revolução. Ela não pode ser modificada diretamente, somente quando se edita o recurso.
  • DadosAxis: o eixo em torno do qual a revolução será realizada. Ele não pode ser modificado diretamente, somente quando se edita o recurso.
  • DadosAngle: o ângulo que especifica quanto do elemento base é girado. Por padrão é 360°, mas pode ser qualquer fração disso.

Sketch Based

  • DadosMidplane: if the base object is a Sketch, when this property is true, it will perform the revolution with the sketch serving as a plane of symmetry. This is noticeable if the DadosAngle is different from 360 deg.
  • DadosReversed: by default it is true. Whether to perform the revolution in one direction or the other.

Scripting

See also: FreeCAD Scripting Basics.

See scripted objects for the full information on adding properties to objects defined through Python.

Most properties that are visible in the property editor can be accessed from the Python console. These properties are just attributes of the class that defines the selected object. For example, if the property editor shows the DadosGroup property, this means that the object has the Group attribute.

print(obj.Group)

These attributes (properties) are added with the addProperty method of the base object. At least it is necessary to specify the type of property, and its name.

obj.addProperty("App::PropertyFloat", "Custom")
print(obj.Custom)

Properties follow the CapitalCamelCase or PascalCase convention, meaning that each word starts with a capital letter, and there are no underscores. When the property editor displays such names, it leaves a space between each capital letter, making it easier to read.

obj.addProperty("App::PropertyDistance", "CustomCamelProperty")
obj.CustomCamelProperty = 1000
print(obj.CustomCamelProperty)

Property editor showing the Data properties of a PartDesign Body, with two additional properties, "Custom" and "Custom Camel Property".

In similar way the View properties are added, not to the base object, but to its ViewObject. Then, it follows that properties like VistaAngular Deflection, VistaBounding Box, VistaDisplay Mode, VistaDisplay Mode Body, VistaLine Color, and others, can be examined and changed from the Python console.

print(obj.ViewObject.AngularDeflection)
print(obj.ViewObject.BoundingBox)
print(obj.ViewObject.DisplayMode)
print(obj.ViewObject.DisplayModeBody)
print(obj.ViewObject.LineColor)

Todas as propriedades públicas do objeto e seu provedor de visão estão contidas no atributo PropertiesList correspondente.

print(obj.PropertiesList)
print(obj.ViewObject.PropertiesList)