Draft ArbeitsebenenProxy

From FreeCAD Documentation
Revision as of 12:24, 24 June 2023 by FBXL5 (talk | contribs)

Draft Arbeitsebenen-Proxy

Menüeintrag
Dienstprogramme → Arbeitsebenen-Proxy erstellen
Arbeitsbereich
Draft, Arch
Standardtastenkürzel
Keiner
Eingeführt in Version
-
Siehe auch
Draft EbeneAuswählen

Beschreibung

Der Befehl Draft ArbeitsebenenProxy erstellt einen Stellvertreter der Arbeitsebene, um die aktuelle Draft Arbeitsebene zu sichern. Ein Arbeitsebenen-Proxy kann zum schnellen wiederherstellen einer Arbeitsebene verwendet werden. Kameraposition und Sichtbarkeit der Objekte in der 3D-Ansicht werden auch im Arbeitsebenen-Proxy gespeichert und können, wahlweise, auch wiederhergestellt werden.

Drei Proxies der Bearbeitungsebene mit unterschiedlichen Ausrichtungen und Versätzen

Anwendung

  1. Wahlweise die Arbeitsebene wechseln.
  2. Wahlweise die 3D-Ansicht wechseln.
  3. Wahlweise die Sichtbarkeit von Objekten im Dokument ändern.
  4. Es gibt mehrere Möglichkeiten, den Befehl aufzurufen:
  5. Ein Arbeitsebenen-Proxy wird erstellt.
  6. Zum Ausrichten einer Arbeitsebene an einem Arbeitsebenen-Proxy klickt man doppelt auf den Arbeitsebenen-Proxy in der Baumansicht oder verwendet ihn mit dem Befehl Draft EbeneAuswählen.

Kontextmenü

For a Draft WorkingPlaneProxy these additional options are available in the Tree view context menu:

  • Write camera position: updates the AnsichtView Data property of the working plane proxy with the current 3D view camera settings.
  • Write objects state: updates the AnsichtVisibility Map property of the working plane proxy with the current visibility state of objects in the document.

Notes

Eigenschaften

Siehe auch: Eigenschafteneditor.

Ein Draft ArbeitsebenenProxy wird von einem App FeaturePython-Objekt abgeleitet und erbt alle seine Eigenschaften. Außerdem besitzt es die folgenden zusätzlichen Eigenschaften:

Daten

Basis

  • DatenPlacement (Placement): specifies the position of the working plane proxy in the 3D view. See Placement.
  • Daten (Hidden)Shape (Shape): specifies the shape of the working plane proxy.

Ansicht

Basis

  • AnsichtLine Color (Color): specifies the color of all elements of the working plane proxy.
  • AnsichtLine Width (Float): specifies the line width of the axes and arrow symbols.
  • AnsichtRestore State (Bool): specifies if the AnsichtVisibility Map is restored when the working plane is aligned with the working plane proxy.
  • AnsichtRestore View (Bool): specifies if the AnsichtView Data is restored when the working plane is aligned with the working plane proxy.
  • AnsichtTransparency (Percent): specifies the transparency of the face of the working plane proxy.
  • AnsichtView Data (FloatList): specifies the camera position and settings.
  • Ansicht (Hidden)Visibility Map (Map): specifies the visibility state of objects.

Draft

  • AnsichtArrow Size (Length): specifies the size of the arrow symbols displayed at the tip of the three axes.
  • AnsichtDisplay Size (Length): specifies the length and width of the working plane proxy.

Skripten

Siehe auch: Autogenerierte API-Dokumentation und FreeCAD Grundlagen Skripten.

Zum Erstellen eines Draft Arbeitsebenen-Proxys verwendet man die Methode make_workingplaneproxy des Draft-Moduls.

  • Erzeugt ein WPProxy Objekt aus der gegebenen Platzierung, die ein FreeCAD.Placement ist.
    • Eine Platzierung wird durch einen Basispunkt, gegeben durch seinen FreeCAD.Vector, und eine FreeCAD.Rotation definiert.
# This code only works if the Draft Workbench is active!

import FreeCAD as App
import FreeCADGui as Gui
import Draft

doc = App.newDocument()

workplane = App.DraftWorkingPlane
place = workplane.getPlacement()

proxy = Draft.make_workingplaneproxy(place)
proxy.ViewObject.DisplaySize = 3000
proxy.ViewObject.ArrowSize = 200

axis2 = App.Vector(1, 1, 1)
point2 = App.Vector(3000, 0, 0)
place2 = App.Placement(point2, App.Rotation(axis2, 90))

proxy2 = Draft.make_workingplaneproxy(place2)
proxy2.ViewObject.DisplaySize = 3000
proxy2.ViewObject.ArrowSize = 200

workplane.setFromPlacement(proxy2.Placement, rebase=True)
Gui.Snapper.setGrid()

doc.recompute()