Editor de propriedades
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) a100
. - 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 from360 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)
- Preferences Editor, Interface Customization
- Main window: Standard menu, Main view area, 3D view, Combo view (Tree view, Task panel, Property editor), Selection view, Report view, Python console, Status bar, DAG view, Workbench Selector
- Auxiliary windows: Scene inspector, Dependency graph
- File: New, Open, Close, Close All, Save, Save As, Save a Copy, Save All, Revert, Import, Export,Merge project, Project information, Print, Print preview, Export PDF, Recent files, Exit
- Edit: Undo, Redo, Cut, Copy, Paste, Duplicate selection, Refresh, Box selection, Box element selection, Select All, Delete, Send to Python Console, Placement, Transform, Alignment, Toggle Edit mode, Edit mode, Preferences
- View:
- Miscellaneous: Create new view, Orthographic view, Perspective view, Fullscreen, Bounding box, Toggle axis cross, Clipping plane, Texture mapping, Toggle navigation/Edit mode, Appearance, Random color, Workbench, Status bar
- Standard views: Fit all, Fit selection, Isometric, Dimetric, Trimetric, Home, Front, Top, Right, Rear, Bottom, Left, Rotate Left, Rotate Right
- Freeze display: Save views, Load views, Freeze view, Clear views
- Draw style: As is, Points, Wireframe, Hidden line, No shading, Shaded, Flat lines
- Stereo: Stereo red/cyan, Stereo quad buffer, Stereo Interleaved Rows, Stereo Interleaved Columns, Stereo Off, Issue camera position
- Zoom: Zoom In, Zoom Out, Box zoom
- Document window: Docked, Undocked, Fullscreen
- Visibility: Toggle visibility, Show selection, Hide selection, Select visible objects, Toggle all objects, Show all objects, Hide all objects, Toggle selectability, Toggle measurement, Clear measurement
- Toolbars: File, Edit, Clipboard, Workbench, Macro, View, Structure, Help
- Panels: Tree view, Property view, Selection view, Tasks, Python console, DAG view, Model, Report view
- Link navigation: Go to linked object, Go to the deepest linked object, Select all links
- Tree view actions: Sync view, Sync selection, Sync placement, Pre-selection, Record selection, Single document, Multi document, Collapse/Expand, Initiate dragging, Go to selection, Selection Back, Selection Forward
- Tools: Edit parameters, Save image, Load image, Scene inspector, Dependency graph, Project utility, Measure distance, Add text document, View turntable, Units calculator, Customize, Addon manager
- Macro: Macro recording, Macros, Recent macros, Execute macro, Attach to remote debugger, Debug macro, Stop debugging, Step over, Step into, Toggle breakpoint
- Help: Help, FreeCAD Website, Donate, Users documentation, Python scripting documentation, Automatic Python modules documentation, FreeCAD Forum, FreeCAD FAQ, Report a bug, About FreeCAD, What's This
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub