Standard Teil

From FreeCAD Documentation
Revision as of 21:34, 15 May 2022 by FBXL5 (talk | contribs)

Std Baugruppe

Menüeintrag
None
Arbeitsbereich
All
Standardtastenkürzel
Keiner
Eingeführt in Version
0.17
Siehe auch
Std Gruppe, PartDesign Körper

Beschreibung

Std Teil, intern App-Part genannt, ist ein Sammelbehälter zur allgemeinen Verwendung, der eine Gruppe von Objekten (Baugruppe) zusammenhält, so dass sie zusammen als Einheit in der 3D-Ansicht bewegt werden können.

Das 'Std Part'-Element wurde entwickelt, um als Grundbaustein zur Zusammenstellung von mechanischen Zusammenbauten (Baugruppen) zu dienen. Es dient zum Anordnen von Objekten, die eine Part TopoForm haben, wie Part Grundkörper, PartDesign Körper und andere Part Formelement. Das 'Std Part' stellt ein Ursprungsobjekt mit lokalen X-, Y- und Z-Achsen und Standardebenen zur Verfügung, die als Bezug für die Positionierung der enthaltenen Objekte dienen können. Zusätzlich können 'Std Parts' in andere 'Std Parts' eingebettet werden, um eine Gesamtbaugruppe aus kleineren Unterbaugruppen zu erstellen.

Obwohl es hauptsächlich für Festkörper gedacht ist, kann das 'Std Part' zur Handhabung aller Objekte verwendet werden, die die Eigenschaft Placement besitzen. Daher kann es auch Mesh Formelemente, Skizzen und andere Objekte enthalten, die von der Klasse App-GeoFeature abgeleitet werden.

Die PartDesign Körper-Schaltfläche darf nicht mit der Std Part-Schaltfläche verwechselt werden. Das erste ist ein entsprechendes Objekt aus dem PartDesign Arbeitsbereich, um ein einzeln zusammenhängenden Körper als PartDesign Formelemente zu erstellen. Beim anderen wird Standard Teil nicht zur Erstellung von Objekten verwendet, sondern um unterschiedliche Objekte zur Erzeugung von Baugruppen im Raum zu positionieren.

Das Werkzeug Std Part wird nicht durch einen bestimmten Arbeitsbereich festgelegt, sondern durch das Grundsystem. Daher befindet es sich in der structure toolbar, die es in allen Arbeitsbereichen gibt. Mit der Schaltfläche Std Gruppe können Objekte in der Baumansicht frei gruppiert werden, ohne ihre Position zu berücksichtigen. Dieses Objekt beeinflußt die Positionen seiner Elemente nicht. Es ist im wesentlichen nur ein Ordner mit dem die Baumansicht geordnet werden kann.

Links: Elemente innerhalt eines 'Std Part's in der Baumansicht. Rechts: Objekte im Raum, positioniert bezogen auf den Ursprung von 'Std Part'.

Anwendung

  1. Die Schaltfläche Baugruppe erstellen betätigen. Ein leeres Teil wird erzeugt und ist automatisch aktiv.
  2. In der Baumansicht ein Objekt wählen und durch Drag & Drop auf dieses Teil ziehen, um es zum Teil hinzuzufügen.
  3. Um Objekte aus einem Teil zu entfernen, zieht man es per Drag & Drop aus dem Teil auf die Dokumentenbeschriftung oben in der Baumansicht.

Hinweise

  • Ab Version v0.19 kann ein bestimmtes Objekt nur zu einer einzigen Baugruppe gehören.
  • Durch einen Doppelklick auf die Baugruppe in der Baumansicht oder über das Kontextmenü mit einem Rechtsklick und der Wahl von Toggle active part kann eine Baugruppe aktiviert oder deaktiviert werden. Ist eine andere Baugruppe aktiv, wird sie deaktiviert, siehe auch Aktiver Status

Eigenschaften

Ein Std Teil wird intern App Part(App::Part Klasse) genannt und stammt aus einer App GeoFeature (App::GeoFeature Klasse). Deshalb hat es die meisten Eigenschaften mit letzterem gemein.

Diese Eigenschaften stehen im Eigenschaftseditor zur Verfügung. Versteckte Eigenschaften werden durch den Befehl Alle anzeigen im Kontextmenü des Eigenschaftseditors angezeigt.

Daten

Basis

  • Daten-EigenschaftTyp (Zeichenfolge): eine Beschreibung für dieses Objekt. Standardmäßig ist es eine leere Zeichenfolge "".
  • Daten-EigenschaftId (Zeichenfolge): eine Identifikations- oder Teilenummer für dieses Objekt. Standardmäßig handelt es sich um eine leere Zeichenfolge "".
  • Daten-EigenschaftLizenz (Zeichenfolge): ein Feld zur Angabe der Lizenz für dieses Objekt. Standardmäßig ist es eine leere Zeichenfolge "".
  • Daten-EigenschaftLizenzURL (Zeichenfolge): ein Feld zur Angabe der Webadresse zur Lizenz oder zum Vertrag für dieses Objekt. Standardmäßig ist es eine leere Zeichenfolge "".
  • DatenFarbe (Farbe): ein Tupel von vier Fließkomma RGBA Werten (r,g,b,a) um die Farbe des Objekts zu festzulegen; standardmäßig ist es (1.0, 1.0, 1.0, 1.0), das als [255,255,255] zur Basis 255, white color angezeigt wird.
  • Daten-EigenschaftPositionierung (Positionierung): die Position des Objekts in der 3D Ansicht. Die Platzierung wird durch einen Base Punkt (Vektor) und eine Drehung (Achse und Winkel) definiert. Siehe Positionierung.
    • Daten-EigenschaftWinkel: den Drehwinkel um die Daten-EigenschaftAchse. Standardmäßig lautet er . (Null Grad).
    • Daten-EigenschaftAchse: der Einheitsvektor, der die Drehachse für die Positionierung festlegt. Jede Komponente ist ein Fließkommawert zwischen 0 und 1. Wenn irgendein Wert über 1 liegt, wird der Vektor so normiert, dass die Größenordnung des Vektors 1 ist. Standardmäßig ist dies die positive Z Achse, (0, 0, 1).
    • Daten-EigenschaftPosition: ein Vektor mit den 3D Koordinaten des Basispunkts. Standardmäßig ist dies der Ursprung (0, 0, 0).
  • Daten-EigenschaftKennzeichen (Zeichenfolge): der vom Benutzer bearbeitbare Name dieses Objekts, es ist eine beliebige UTF8 Zeichenfolge.
  • Daten-EigenschaftGruppe (VerknüpfungListe): eine Liste der verknüpften Objekte. Standardmäßig ist sie leer [].

Ansicht

Display Options

  • AnsichtDisplay Mode (Enumeration): Group.
  • AnsichtShow In Tree (Bool): if it is true, the object appears in the Tree view. Otherwise, it is set as invisible.
  • AnsichtVisibility (Bool): if it is true, the object appears in the 3D view; otherwise it is invisible. By default this property can be toggled on and off by pressing the Space bar in the keyboard.

Selection

  • AnsichtOn Top When Selected (Enumeration): Disabled (default), Enabled, Object, Element.
  • AnsichtSelection Style (Enumeration): Shape (default), BoundBox. If the option is Shape, the entire shape (vertices, edges, and faces) will be highlighted in the 3D view; if it is BoundBox only the bounding box will be highlighted.

Detaillierte Beschreibung

Aktiver Status

Ein geöffnetes Dokument kann mehrere Zusammenstellungen enthalten. Eine aktive Zusammenstellung wird in der Baumansicht mit einem im Menü Aktiver Behälter angegebenen Wert zur Hintergrundfarbe angezeigt. Der Wert kann im Voreinstellungseditor geändert werden. Der voreingestellte Wert ist hellblau. Eine aktive Zusammenstellung wird auch mit der Schrifteigenschaft 'fett' angezeigt.

Eine Zusammenstellung aktivieren oder deaktivieren:

  • Doppelklick auf die Zusammenstellung in der Baumansicht oder
  • das Kontextmenü mit einem Rechtsklick öffnen und Toggle active part wählen.

Dokument mit zwei Std Teilen, in der das zweite aktiv ist.

Ursprung

Der Ursprung besteht aus den drei Standardachsen (X, Y, Z) und drei Standardebenen (XY, XZ und YZ). An diese können Skizzen und andere Ojekte angehängt werden, wenn sie erstellt werden.

Links: Teil Ursprung in der Baumansicht. Rechts: Ansicht der Ursprungselemente in der 3D-Ansicht.

Hinweis: der Ursprung ist ein App-Origin-Objekt (App::OriginGroupExtension Klasse), während die Achsen und Ebenen Objekte des Typs App::Line bzw. App::Plane sind. Jedes dieser Elemente kann mit der Leertaste individuell versteckt und wieder angezeigt werden. Damit kann sicher die korrekte Referenz gewählt werden, wenn andere Objekte erzeugt werden.

Hinweis 2: alle Elemente innerhalb einer Zusammenstellung beziehen sich auf den Ursprung der Zusammenstellung. Das bedeutet, dass die Zusammenstellung bezogen auf das globale Koordinatensystem verschoben oder gedreht werden kann, ohne Auswirkung auf die Positionierung der Elemente in der Zusammenstellung.

Anzeigeverwaltung

Die Sichtbarkeit der Zusammenstellung verdrängt die Sichtbarkeit jedes darin enthaltenen Objekts. Wenn die Zusammenstellung ausgeblendet ist, werden auch die darin enthaltenen Objekte ausgeblendet, auch wenn ihre jeweilige Eigenschaft AnsichtSichtbarkeit auf true (wahr) gesetzt ist. Ist die Zusammenstellung sichtbar, entscheidet die Eigenschaft AnsichtSichtbarkeit jedes Objektes, ob das Objekt angezeigt wird oder nicht.

Die Sichtbarkeitseigenschaft von 'Std Part' entscheidet, ob die Objekte, die unter der Zusammenstellung zusammengestellt sind, in der 3D-Ansicht angezeigt werden oder nicht. Links: die Zusammenstellung ist verborgen und keines der Objekte wird in der 3D-Ansicht angezeigt. Rechts: die Zusammenstellung ist sichtbar und jedes Objekt kontrolliert seine Sichtbarkeit selbst.

Skripten

Zu allgemeinen Informationen zum Hinzufügen von Objekten in das Dokument, siehe Part Formelement.

Eine 'Std Part' (Anwendung Teil)-Zusammenstellung wird mit der addObject()-Methode des Dokumentes erstellt. Sobald eine Zusammenstellung existiert, können andere Objekte mit der addObject()- oder der addObjects()-Methode der Zusammenstellung hinzugefügt werden.

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

Du kannst kein geskriptetes App::Part erstellen. Du kannst aber App::Part-Verhalten zu einem geskripteten Part::FeaturePython-Objekt durch Verwenden des folgenden Codes hinzufügen:

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

    def __getstate__(self):
        return

    def __setstate__(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 __getstate__(self):
        return None

    def __setstate__(self, _state):
        return None

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