Jump to content

Std Part (Parte - Padrão)

From FreeCAD Documentation
This page is a translated version of the page Std Part and the translation is 10% complete.
Outdated translations are marked like this.

Std Part

Menu location
Nenhum
Workbenches
Todas
Default shortcut
None
Introduced in version
0.17
See also
Grupo Std, Corpo PartDesign

Descrição

Parte Std (também chamada internamente de Parte App) é um contêiner usado para organizar e agrupar objetos. Ele permite que esses objetos sejam movimentados juntos como uma única unidade na vista 3D.

O elemento **Parte Std** foi desenvolvido como um bloco básico para criar montagens mecânicas. Ele é especialmente útil para organizar objetos que possuem uma Forma Topológica (TopoShape) de Parte, como Primitivas de Parte, Corpos PartDesign e outras Funcionalidades de Parte.

A **Parte Std** inclui um Objeto de Origem com eixos locais X, Y e Z, além de planos padrão, que podem ser usados como referência para posicionar os objetos contidos. Além disso, é possível aninhar **Partes Std** dentro de outras **Partes Std**, permitindo criar uma montagem maior a partir de submontagens menores.

Embora seja principalmente destinado a corpos sólidos, a **Parte Std** pode ser usada para gerenciar qualquer objeto que possua a propriedade de Posicionamento. Isso significa que ela também pode conter Elementos de Malha, Esboços e outros objetos derivados da classe App GeoFeature.

Não confunda o Corpo PartDesign com o Parte Std.

O primeiro é um objeto específico usado na Bancada PartDesign, destinado a modelar um sólido único e contínuo por meio de Recursos PartDesign. Por outro lado, a **Parte Std** não é utilizada para modelagem, mas sim para organizar diferentes objetos no espaço, com o objetivo de criar montagens.

A ferramenta Parte Std não é definida por uma bancada específica, mas sim pelo sistema base, portanto, ela está disponível na barra de ferramentas de estrutura, que pode ser encontrada em todas as bancadas de trabalho.

Para agrupar objetos de forma arbitrária, sem considerar sua posição, use Grupo Std; este objeto não afeta o posicionamento dos elementos que contém, sendo essencialmente apenas uma pasta usada para manter a Vista em Árvore organizada.

Esquerda: elementos dentro de uma Parte Std na Vista em Árvore. Direita: objetos posicionados no espaço, referenciados à Origem da Parte Std.

Usage

  1. Press the New Part button.
  2. An empty Part is created and automatically becomes active.
  3. To add objects to the Part, select them in Tree View, and drag and drop them onto the Part.
  4. To remove objects from the Part, drag them out of the Part, and onto the document label at the top of the Tree View.
  5. Objects can also be added and removed by editing the DadosGroup property of the Part.

Notes

  • An object can only belong to a single Part.
  • 3D operations like Part Boolean cannot be applied to Parts. For example, you cannot select two Parts, and perform a Part Fuse or Part Cut.

Properties

The Std Part, internally called App Part (App::Part class), is derived from the App GeoFeature (App::GeoFeature class) and inherits almost all its properties. It also has several additional properties. Notably properties that help it manage information in the context of an assembly, for example, DadosType, DadosId, DadosLicense, DadosLicenseURL and DadosGroup.

These are the properties available in the Property View. Hidden properties can be shown by using the Show hidden command in the context menu of the Property View.

See Part Feature for an explanation of some of the properties listed below.

Data

Base

  • DadosType (String): a description for this object. By default, it is an empty string "".
  • DadosMaterial (Link): the material for this object.
  • Dados (Hidden)Meta (Map): map with additional meta information. By default, it is empty {}.
  • DadosId (String): an identification or part number for this object. By default, it is an empty string "".
  • Dados (Hidden)Uid (UUID): the universally unique identifier (UUID) (128-bit number) of the object. This is assigned at creation time.
  • DadosLicense (String): a field to specify the license for this object. By default, it is an empty string "".
  • DadosLicense URL (String): a field to specify the web address to the license or contract for this object. By default, it is an empty string "".
  • DadosColor (Color): a tuple of four floating point RGBA values to define the color of the object.
  • DadosPlacement (Placement)
  • Dados (Hidden)_ Element Map Version (String)
  • DadosLabel (String)
  • Dados (Hidden)Label2 (String)
  • Dados (Hidden)Expression Engine (ExpressionEngine)
  • Dados (Hidden)Visibility (Bool)
  • Dados (Hidden)Origin (Link): the App Origin object that is the positional reference for all elements listed in DadosGroup.
  • DadosGroup (LinkList): a list of referenced objects. By default, it is empty [].
  • Dados (Hidden)_ Group Touched (Bool): whether the group is touched or not.

Part

  • Dados (Hidden)_ Part_ Shape Cache (ShapeCache): Shape cache. Not available if DadosGroup is empty.

View

Base

  • Vista (Hidden)Transform Origin (Placement)

Display Options

  • VistaDisplay Mode (Enumeration): Group.
  • VistaShow In Tree (Bool)
  • VistaVisibility (Bool)

Selection

  • VistaOn Top When Selected (Enumeration)
  • VistaSelection Style (Enumeration)

Detailed explanation

Active status

An open document can contain multiple Parts. But only one Part can be active. The active Part is displayed in the Tree View with the background color specified by the Active container object value in the Preferences Editor. It will also be shown with bold text.

To activate or de-activate a Part:

  • Double click on it on the Tree View, or
  • Open the context menu (right click) and select Active Object.

Document with two Std Parts, of which the second one is active.

Origin

The Origin consists of the three standard axes (X, Y, Z) and three standard planes (XY, XZ and YZ). Sketches and other objects can be attached to these elements when creating them.

Left: Part Origin in the Tree View. Right: representation of the Origin elements in the 3D View.

Note: the Origin is an App Origin object (App::Origin class), while the axes and planes are objects of type App::Line and App::Plane respectively. Each of these elements can be hidden and unhidden individually with the Space bar; this is useful to choose the correct reference when creating other objects.

Note 2: all elements inside the Part are referenced to the Part's Origin which means that the Part can be moved and rotated in reference to the global coordinate system without affecting the placement of the elements inside.

Visibility management

The Part's visibility supersedes the visibility of any object it contains. If the Part is hidden, the objects it contains will be hidden as well, even if their individual VistaVisibility property is set to true. If the Part is visible, then each object's VistaVisibility determines whether the object is shown or not.

The visibility of the Std Part determines whether the objects grouped under it are shown in the 3D View or not. Left: the Part is hidden, so none of the objects will be shown in the 3D View. Right: the Part is visible, so each object controls its own visibility.

Scripting

See also: FreeCAD Scripting Basics and scripted objects.

See Part Feature for the general information on adding objects to the document.

A Std Part (App Part) is created with the addObject() method of the document. Once a Part exists, other objects can be added to it with the addObject() or addObjects() methods.

import FreeCAD as App

doc = App.newDocument()
part = App.ActiveDocument.addObject("App::Part", "Part")

obj1 = App.ActiveDocument.addObject("PartDesign::Body", "Body")
obj2 = App.ActiveDocument.addObject("Part::Box", "Box")

part.addObjects([obj1, obj2])
App.ActiveDocument.recompute()

You cannot create a scripted App::Part. However, you can add App::Part behavior to a scripted Part::FeaturePython object by using the following code:

class MyGroup(object):
    def __init__(self, obj=None):
        self.Object = obj
        if obj:
            self.attach(obj)

    def dumps(self):
        return

    def loads(self, _state):
        return

    def attach(self, obj):
        obj.addExtension("App::OriginGroupExtensionPython")
        obj.Origin = FreeCAD.ActiveDocument.addObject("App::Origin", "Origin")

    def onDocumentRestored(self, obj):
        self.Object = obj

class ViewProviderMyGroup(object):
    def __init__(self, vobj=None):
        if vobj:
            vobj.Proxy = self
            self.attach(vobj)
        else:
            self.ViewObject = None

    def attach(self, vobj):
        vobj.addExtension("Gui::ViewProviderOriginGroupExtensionPython")
        self.ViewObject = vobj

    def dumps(self):
        return None

    def loads(self, _state):
        return None

App.ActiveDocument.addObject("Part::FeaturePython",
                             "Group",
                             MyGroup(),
                             ViewProviderMyGroup(),
                             True)