Property editor/pt-br: Difference between revisions

From FreeCAD Documentation
(Created page with "Um objeto paramétrico básico é criado da seguinte forma")
(Updating to match new version of source page)
 
(43 intermediate revisions by 3 users not shown)
Line 8: Line 8:
{{TOCright}}
{{TOCright}}


<span id="Introduction"></span>
== Introdução ==
== Introdução ==


Line 15: Line 16:


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

{{TOCright}}
{{TOCright}}


Line 21: Line 23:
{{Caption|Editor de propriedade vazia, quando nenhum objeto é selecionado.}}
{{Caption|Editor de propriedade vazia, quando nenhum objeto é selecionado.}}


<span id="Property_types"></span>
==Tipos de propriedade==
==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.
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 [[scripted objects/pt-br|objetos com scripts]] podem usar qualquer um dos tipos de propriedade definidos no sistema base. Veja a lista completa em [[Propriedade/pt-br|Propriedade]].
Objetos personalizados [[scripted objects/pt-br|objetos com scripts]] podem usar qualquer um dos tipos de propriedade definidos no sistema base. Veja a lista completa em [[Property/pt-br|Propriedade]].


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

{{Code|code=
{{Code|code=
App::PropertyBool
App::PropertyBool
Line 40: Line 44:
}}
}}


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 [[3D view/pt-br|Vista 3D]].
Different objects may have different types of properties. However, many objects have the same types because they are derived from the same internal class. For example, most objects that describe geometrical shapes (lines, circles, rectangles, solid bodies, imported parts, etc.), have the "Placement" property that defines their position in the [[3D view|3D view]].


<span id="View_and_Data_properties"></span>
== Propriedades de visualização e dados ==
== Propriedades de visualização e dados ==


There are two classes of feature properties accessible through tabs in the property editor:
duas classes de propriedades funcionais acessíveis através de abas no editor de propriedades:
* {{MenuCommand|View}} properties, related to the "visual" appearance of the object. The {{MenuCommand|View}} properties are tied to the {{Emphasis|ViewProvider}} ({{incode|ViewObject}} attribute) of the object, and are only accessible when the graphical user interface (GUI) is loaded. They are not accessible when using FreeCAD in console mode, or as a headless library.
*Propriedades da {{MenuCommand|Vista}} as propriedades relacionadas à aparência "visual" do objeto. As propriedades de visualização estão ligadas ao atributo {{Emphasis|ViewProvider}}({{incode|ViewObject}}) do objeto e 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.
* {{MenuCommand|Data}} properties, related to the "physical" parameters of the object. The {{MenuCommand|Data}} properties define the essential characteristics of the object; they exist at all times, even when FreeCAD is used in console mode, or as a library. This means that if you load a document in console mode, you can edit the radius of a circle or the length of a line, even if you cannot see the result on the screen.
*Propriedades dos {{MenuCommand|dados}} relativos aos parâmetros "físicos" do objeto. As propriedades dos {{MenuCommand|dados}}definem 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 {{MenuCommand|dados}} são consideradas mais "importantes", uma vez que, na verdade, definem a geometria de uma forma. Por outro lado, as propriedades de {{MenuCommand|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".
For this reason, {{MenuCommand|Data}} properties are considered to be more "real", as they truly define the geometry of a shape. On the other hand, {{MenuCommand|View}} properties are less important because they only affect the superficial appearance of the geometry. For example, a circle of 10 mm radius is different from a circle of 5 mm radius; the color of the circle (view property) doesn't affect its shape, but the radius does (data property). In many instances in this documentation, the word "property" is understood to refer to a "Data property" and not to a "View property".


<span id="Basic_properties"></span>
=== Propriedades básicas ===
=== Propriedades básicas ===


{{Emphasis|See also: [[Object_name|Object name]]}}
{{Emphasis|Veja também: [[Object_name/pt-br|Nome do objeto]]}}


The most basic [[scripted objects|scripted object]] won't show any {{MenuCommand|Data}} property in the property editor, except for its {{incode|Label}} attribute. The {{incode|Label}} is a user editable string that identifies the object in the [[tree view|tree view]]. On the other hand, the {{incode|Name}} attribute of an object is assigned at the moment of its creation and cannot be changed; this attribute is read-only, and is not displayed in the property editor either.
O mais básico [[scripted objects/pt-br|script de objeto]] não exibe nenhuma propriedade de {{MenuCommand|Dados}} no editor de propriedade, exceto por seu atributo {{incode|Label}}. O {{incode|Rótulo}} é uma cadeia editável pelo usuário que identifica o objeto na [[tree view|vista em árvore]]. Por outro lado, o {{incode|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
Um objeto paramétrico básico é criado da seguinte forma
Line 67: Line 73:
[[File:FreeCAD_Property_editor_View_basic.png|x264px]] [[File:FreeCAD_Property_editor_Data_basic.png|x264px]]
[[File:FreeCAD_Property_editor_View_basic.png|x264px]] [[File:FreeCAD_Property_editor_Data_basic.png|x264px]]


{{Caption|View and Data tabs of the property editor, for a basic "App::FeaturePython" scripted object.}}
{{Caption|Aba Vista e Dados do editor de propriedade, para um objeto básico "App::FeaturePython" com script.}}


Most geometrical objects that can be created and displayed in the [[3D view|3D view]] are derived from a {{incode|Part::Feature}}. See [[Part Feature|Part Feature]] for the most basic properties that these objects have.
A maioria dos objetos geométricos que podem ser criados e exibidos em [[3D view/pt-br|Vista 3D]] são derivados de uma {{incode|Parte::Característica}}. Veja a [[Part Feature/pt-br|Característica Part]] para conhecer as propriedades mais básicas desses objetos.


For 2D geometry, most objects are derived from {{incode|Part::Part2DObject}} (itself derived from {{incode|Part::Feature}}) which is the base of [[Sketch|Sketches]], and most [[Draft Workbench|Draft elements]]. See [[Part Part2DObject|Part Part2DObject]] for the most basic properties that these objects have.
Para a geometria 2D, a maioria dos objetos são derivados de {{incode|Part::Part2DObject}} (ela mesma derivada de {{incode|Part::Feature}}) sendo a base dos [[Sketch/pt-br|Sketche]], e elementos do [[Draft Workbench/pt-br|Draft]]. Veja a [[Part Part2DObject/pt-br|Part Part2DObject]] para as propriedades mais básicas destes objetos.


<span id="Actions"></span>
==Ações==
==Ações==


Clicar com o botão direito do mouse em um espaço vazio na vista ou com uma propriedade selecionada mostra apenas um comando:
Actions in the property view were implemented in 0.19.
*{{MenuCommand|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 {{MenuCommand|Mostrar todas}} está ativa, e uma propriedade é selecionada, mais ações estão disponíveis com um segundo clique do botão direito:
Right clicking in an empty space of the view, or with a property selected, shows only one command:
* {{MenuCommand|Mostrar todas}}: desabilita o comando {{MenuCommand|Mostrar todas}}, escondendo assim os dados adicionais e as propriedades de exibição.
* {{MenuCommand|Show all}}: if active, in addition to the standard properties that appear already, it shows all the hidden Data and View properties in their respective tabs.
*{{MenuCommand|Adicionar propriedade}}: Isto funciona tanto com objetos definidos em C++, quanto com [[scripted objects/pt-br|scripts de objetos]] escritos em Python.
** Data: "Proxy", "Label2", "Expression Engine", and "Visibility".
*{{MenuCommand|Expressão...}}:chama o editor de fórmula, que permite o uso de [[Expressions|expressões]] no valor da propriedade.
** View: "Proxy".
*{{MenuCommand|Hidden}}: se ativo, define a propriedade como oculta, o que significa que ela só será exibida no editor da propriedade se {{MenuCommand|Mostrar todas}} está ativo.
*{{MenuCommand|Output}}: se ativo, define a propriedade como uma saída.
*{{MenuCommand|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.
*{{MenuCommand|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 {{MenuCommand|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.
*{{MenuCommand|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.
*{{MenuCommand|Touched}}:se estiver ativo, ele é atingido e está pronto para ser recalculado.
*{{MenuCommand|EvalOnRestore}}: se estiver ativo, ele é avaliado quando o documento é restaurado.


<span id="Example_of_the_properties_of_a_PartDesign_object"></span>
When the {{MenuCommand|Show all}} option is active, and one property is selected, more actions are available with a second right click:
==Exemplo de propriedades de um objeto PartDesign==
* {{MenuCommand|Show all}}: deactivates the {{MenuCommand|Show all}} command, hiding the additional Data and View properties.
* {{MenuCommand|Add Property}}: adds a dynamic property to the object; this works with both C++ defined objects, and Python [[scripted objects|scripted objects]].
* {{MenuCommand|Expression...}}: brings up the formula editor, which allows using [[Expressions|expressions]] in the property value.
* {{MenuCommand|Hidden}}: if active, sets the property as hidden, meaning that it will only be displayed in the property editor if {{MenuCommand|Show all}} is active.
* {{MenuCommand|Output}}: if active, sets the property as output.
* {{MenuCommand|NoRecompute}}: if active, sets the property as not recomputed when the document is recomputed; this is useful when a property should be kept unaffected by other updates.
* {{MenuCommand|ReadOnly}}: if active, sets the property to be read-only; it won't be editable in the property editor any more until this switch is turned off. The {{MenuCommand|Expression...}} menu entry is no longer available. {{Emphasis|Note:}} It may be still possible to change the property via a dialog that updates the property.
* {{MenuCommand|Transient}}: if active, sets the property as transient. The value of a transient property is not saved to file. When opening a file, it is instantiated with its default value.
* {{MenuCommand|Touched}}: if active, it becomes touched, and ready for recompute.
* {{MenuCommand|EvalOnRestore}}: if active, it is evaluated when the document is restored.


Nesta seção mostramos algumas propriedades comuns visíveis para um [[PartDesign Body/pt-br|Corpo PartDesign]] e uma [[PartDesign Feature/pt-br|Função PartDesign]]. As propriedades específicas de um objeto podem ser encontradas na página de documentação específica para esse objeto.
==Example of the properties of a PartDesign object==


<span id="View"></span>
In this section we show some common properties that are visible for a [[PartDesign Body|PartDesign Body]], and one [[PartDesign Feature|PartDesign Feature]]. The specific properties of an object can found in the specific documentation page of that object.
===Vista===


A maioria dessas propriedades são herdadas do objeto básico [[Part_Feature/pt-br|Part Feature]].
===View===

Most of these properties are inherited from the [[Part_Feature|Part Feature]] basic object.


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
[[File:FreeCAD_Properties_View.png|490px|left]]
[[File:FreeCAD_Property_editor_View.png|490px|left]]
{{TitleProperty|Base}}
{{TitleProperty|Base}}
</div>
</div>


{{TitleProperty|Base}}
* {{PropertyView|Angular Deflection}}: it is another way to specify how finely to generate the mesh for rendering on screen or when exporting. The default value is 28.5 degrees, or 0.5 radians. The smaller the value the smoother the appearance will be in the [[3D view|3D view]], and the finer the mesh that will be exported.

* {{PropertyView|Bounding Box}}: indicates if a box showing the overall extent of the object is displayed.
* {{PropertyView|Angular 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 [[3D view/pt-br|Vista 3D]], e mais fina será a malha exportada.
* {{PropertyView|Deviation}}: sets the accuracy of the polygonal representation of the model in the [[3D view|3D view]] (tessellation). Lower values indicate better quality. The value is in percent of object's size.
* {{PropertyView|Display Mode}}: display mode of the entire Body, {{Value|Flat lines}} (default), {{Value|Shaded}}, {{Value|Wireframe}}, {{Value|Points}}.
* {{PropertyView|Bounding Box}}: indica se uma caixa mostrando a extensão global do objeto é exibida.
* {{PropertyView|Deviation}}: define a precisão da representação poligonal do modelo na [[3D view/pt-br|vista 3D]] (tesselação). Valores mais baixos indicam melhor qualidade. O valor está em porcentagem do tamanho do objeto.
* {{PropertyView|Display Mode Body}}: display mode of the Tip of the Body, {{Value|Through}} (default), {{Value|Tip}}.
* {{PropertyView|Draw Style}}: {{Value|Solid}}, {{Value|Dashed}}, {{Value|Dotted}}, {{Value|Dashdot}}; defines the style of the edges in the [[3D view|3D view]].
* {{PropertyView|Display Mode}}: modo de exibição de corpo inteiro,{{Value|Flat lines}} (padrão), {{Value|Shaded}}, {{Value|Wireframe}}, {{Value|Points}}.
* {{PropertyView|Lighting}}: {{Value|One side}}, {{Value|Two side}} (default).
* {{PropertyView|Display Mode Body}}:modo de exibição da ponta do corpo, {{Value|Through}} (padrão), {{Value|Tip}}.
* {{PropertyView|Draw Style}}: {{Value|Solid}}, {{Value|Dashed}}, {{Value|Dotted}}, {{Value|Dashdot}}; define o estilo das bordas na [[3D view/pt-br|vista 3D]].
* {{PropertyView|Line Color}}: the RGB color of the edges, it defaults to {{value|(25, 25, 25)}}.
* {{PropertyView|Line Width}}: the thickness of the edges, it defaults to {{value|2}} pixels.
* {{PropertyView|Lighting}}: {{Value|One side}}, {{Value|Two side}} (padrão).
* {{PropertyView|Line Color}}: cor RGB das bordas, é por padrão {{value|(25, 25, 25)}}.
* {{PropertyView|Line Width}}: a espessura das bordas, é por padrão {{value|2}} pixels.
* {{PropertyView|On Top When Selected}}: {{value|Disabled}}, {{value|Enabled}}, {{value|Object}}, {{value|Element}}.
* {{PropertyView|On Top When Selected}}: {{value|Disabled}}, {{value|Enabled}}, {{value|Object}}, {{value|Element}}.
* {{PropertyView|Point Color}}: the RGB color of the vertices, it defaults to {{value|(25, 25, 25)}}.
* {{PropertyView|Point Color}}: a cor RGB dos vértices, por padrão {{value|(25, 25, 25)}}.
* {{PropertyView|Point Size}}: the size of the vertices, it defaults to {{value|2}} pixels.
* {{PropertyView|Point Size}}: o tamanho dos vértices, é por padrão {{value|2}} pixels.
* {{PropertyView|Selectable}}: whether the object is selectable or not.
* {{PropertyView|Selectable}}:se o objeto é selecionável ou não.
* {{PropertyView|Selection Style}}: {{value|Shape}}, {{value|BoundBox}}.
* {{PropertyView|Selection Style}}: {{value|Shape}}, {{value|BoundBox}}.
* {{PropertyView|Shape Color}}: the RGB color of the shape, it defaults to {{value|(204, 204, 204)}}.
* {{PropertyView|Shape Color}}: a cor RGB da forma, é por padrão {{value|(204, 204, 204)}}.
* {{PropertyView|Show In Tree}}: if it is {{TRUE}}, the object appears in the tree view. Otherwise, it is set as invisible.
* {{PropertyView|Show In Tree}}: se estiver definido para {{TRUE}}, to objeto aparece na estrutura em árvore. Caso contrário, é definido como invisível.
* {{PropertyView|Transparency}}: the degree of transparency from {{value|0}} (default) to {{value|100}}.
* {{PropertyView|Transparency}}: o grau de transparência de {{value|0}} (padrão) a {{value|100}}.
* {{PropertyView|Visibility}}: whether the object is visible in the [[3D view|3D view]] or not. Toggle with the {{KEY|Space}} bar in the keyboard.
* {{PropertyView|Visibility}}: se o objeto esta visível na [[3D view/pt-br|vista 3D]] ou não. Alternar com o {{KEY|Space}} no teclado.
{{clear}}
{{clear}}


{{clear}}

<span id="Data"></span>
=== Data ===
=== Data ===


In this case we observe the properties of the [[PartDesign Revolution|PartDesign Revolution]] feature.
Neste caso, observamos as propriedades da função [[PartDesign Revolution/pt-br|Revolução PartDesign]].


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
[[File:FreeCAD_Properties_Data.png|490px|left]]
[[File:FreeCAD_Property_editor_Data.png|490px|left]]
{{TitleProperty|Base}}
{{TitleProperty|Base}}
</div>
</div>


{{TitleProperty|Base}}
* {{PropertyData|Label}}: the user defined name given to the object, this can be changed as desired.

* {{PropertyData|Label}}: o nome definido pelo usuário dado ao objeto, isto pode ser alterado conforme desejado.


{{TitleProperty|Part Design}}
{{TitleProperty|Part Design}}
* {{PropertyData|Refine}}: whether to refine the fusion done with other objects.
* {{PropertyData|Refine}}: se a fusão feita com outros objetos deve ser refinada.


{{TitleProperty|Revolution}}
{{TitleProperty|Revolution}}
* {{PropertyData|Base}}: the point in space that specifies where the revolution takes place. It cannot be modified directly, only when editing the feature.
* {{PropertyData|Base}}: 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.


* {{PropertyData|Axis}}: the axis around which the revolution will be performed. It cannot be modified directly, only when editing the feature.
* {{PropertyData|Axis}}: o eixo em torno do qual a revolução será realizada. Ele não pode ser modificado diretamente, somente quando se edita o recurso.


* {{PropertyData|Angle}}: the angle that specifies how much of the base element is rotated. By default it is {{value|360 deg}}, but it can be any fraction of that.
* {{PropertyData|Angle}}: o ângulo que especifica quanto do elemento base é girado. Por padrão é {{value|360°}}, mas pode ser qualquer fração disso.


{{TitleProperty|Sketch Based}}
{{TitleProperty|Sketch Based}}


* {{PropertyData|Midplane}}: if the base object is a [[Sketch|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 {{PropertyData|Angle}} is different from {{value|360 deg}}.
* {{PropertyData|Midplane}}:se o objeto base for um [[Sketch/pt-br|Sketch]], quando esta propriedade for {{TRUE}}, ela fará a revolução com o esboço servindo como o plano de simetria. Isto é visível se o {{PropertyData|Angle}} diferir de {{value|360°}}.
* {{PropertyData|Reversed}}: by default it is {{TRUE}}. Whether to perform the revolution in one direction or the other.
* {{PropertyData|Reversed}}: por padrão é {{TRUE}}. Seja para realizar a revolução em uma direção ou em outra.


{{clear}}
{{clear}}
Line 157: Line 171:
== Scripting ==
== Scripting ==


{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].
{{Emphasis|Veja também:}} [[FreeCAD Scripting Basics/pt-br|FreeCAD Noções básicas Script]].


See [[scripted objects|scripted objects]] for the full information on adding properties to objects defined through [[Python|Python]].
Consulte a página de [[scripted objects/pt-br|objetos com scripts]] para obter informações completas sobre como adicionar propriedades a objetos definidos através de um script [[Python|Python]].

A maioria das propriedades visíveis no editor de propriedades são acessíveis a partir do [[Python console|console Python]]. Geralmente estas propriedades são apenas atributos da classe que define o objeto selecionado. Por exemplo, se o editor de propriedade exibir a propriedade {{PropertyData|Group}}, isso significa que o objeto tem o atributo {{incode|Group}}.


Most properties that are visible in the property editor can be accessed from the [[Python console|Python console]]. These properties are just attributes of the class that defines the selected object. For example, if the property editor shows the {{PropertyData|Group}} property, this means that the object has the {{incode|Group}} attribute.
{{Code|code=
{{Code|code=
print(obj.Group)
print(obj.Group)
}}
}}


These attributes (properties) are added with the {{incode|addProperty}} method of the base object. At least it is necessary to specify the type of [[property|property]], and its name.
Estes atributos (propriedades) são adicionados com o método {{incode|addProperty}} do objeto base. Como mínimo, é necessário especificar o tipo de [[property/pt-br|propriedade]] e seu nome.

{{Code|code=
{{Code|code=
obj.addProperty("App::PropertyFloat", "Custom")
obj.addProperty("App::PropertyFloat", "Custom")
Line 172: Line 188:
}}
}}


Properties follow the {{incode|CapitalCamelCase}} or {{incode|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.
As propriedades seguem a convenção {{incode|CapitalCamelCase}} ou {{incode|PascalCase}}, o que significa que cada palavra começa com uma letra maiúscula e não nenhum sublinhado. Quando o editor de propriedade exibe estes nomes, ele deixa um espaço entre cada letra maiúscula, facilitando a leitura.


{{Code|code=
{{Code|code=
Line 181: Line 197:


[[File:FreeCAD_Property_editor_Custom.png]]
[[File:FreeCAD_Property_editor_Custom.png]]
{{Caption|Property editor showing the Data properties of a [[PartDesign Body|PartDesign Body]], with two additional properties, "Custom" and "Custom Camel Property".}}
{{Caption|Editor de propriedade mostrando as propriedades de dados de um [[PartDesign Body/pt-br|PartDesign Body]], com duas propriedades adicionais, "Custom" e "Custom Camel Property".}}


In similar way the {{MenuCommand|View}} properties are added, not to the base object, but to its {{incode|ViewObject}}. Then, it follows that properties like {{PropertyView|Angular Deflection}}, {{PropertyView|Bounding Box}}, {{PropertyView|Display Mode}}, {{PropertyView|Display Mode Body}}, {{PropertyView|Line Color}}, and others, can be examined and changed from the [[Python console|Python console]].
Da mesma forma, as propriedades {{MenuCommand|View}}são adicionadas, não ao objeto base, mas ao seu {{incode|ViewObject}}.Então, segue-se que propriedades como {{PropertyView|Angular Deflection}}, {{PropertyView|Bounding Box}}, {{PropertyView|Display Mode}}, {{PropertyView|Display Mode Body}}, {{PropertyView|Line Color}}, e outros, podem ser examinados e alterados a partir no [[Python console/pt-br|console Python]].


{{Code|code=
{{Code|code=
Line 194: Line 210:


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

{{Code|code=
{{Code|code=
print(obj.PropertiesList)
print(obj.PropertiesList)

Latest revision as of 15:36, 20 May 2023

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

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

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

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:se o objeto base for um Sketch, quando esta propriedade for true, ela fará a revolução com o esboço servindo como o plano de simetria. Isto é visível se o DadosAngle diferir de 360°.
  • DadosReversed: por padrão é true. Seja para realizar a revolução em uma direção ou em outra.

Scripting

Veja também: FreeCAD Noções básicas Script.

Consulte a página de objetos com scripts para obter informações completas sobre como adicionar propriedades a objetos definidos através de um script Python.

A maioria das propriedades visíveis no editor de propriedades são acessíveis a partir do console Python. Geralmente estas propriedades são apenas atributos da classe que define o objeto selecionado. Por exemplo, se o editor de propriedade exibir a propriedade DadosGroup, isso significa que o objeto tem o atributo Group.

print(obj.Group)

Estes atributos (propriedades) são adicionados com o método addProperty do objeto base. Como mínimo, é necessário especificar o tipo de propriedade e seu nome.

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

As propriedades seguem a convenção CapitalCamelCase ou PascalCase, o que significa que cada palavra começa com uma letra maiúscula e não há nenhum sublinhado. Quando o editor de propriedade exibe estes nomes, ele deixa um espaço entre cada letra maiúscula, facilitando a leitura.

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

Editor de propriedade mostrando as propriedades de dados de um PartDesign Body, com duas propriedades adicionais, "Custom" e "Custom Camel Property".

Da mesma forma, as propriedades Viewsão adicionadas, não ao objeto base, mas ao seu ViewObject.Então, segue-se que propriedades como VistaAngular Deflection, VistaBounding Box, VistaDisplay Mode, VistaDisplay Mode Body, VistaLine Color, e outros, podem ser examinados e alterados a partir no console Python.

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)