Draft WorkingPlaneProxy: Difference between revisions
(More complete code) |
({{Draft Tools navi}} and {{Userdocnavi}}) |
||
Line 98: | Line 98: | ||
FreeCADGui.Snapper.setGrid() |
FreeCADGui.Snapper.setGrid() |
||
}} |
}} |
||
{{Draft Tools navi}} |
|||
{{Userdocnavi}} |
|||
{{clear}} |
{{clear}} |
Revision as of 01:02, 21 November 2018
Draft SetWorkingPlaneProxy |
Menu location |
---|
Draft → Utilities → Create WP Proxy |
Workbenches |
Draft, Arch |
Default shortcut |
None |
Introduced in version |
- |
See also |
Draft SelectPlane |
Description
This command will place a Plane Proxy object aligned to the current Working Plane.
This proxy object can be used like a face to quickly change the working plane using the Draft SelectPlane tool. The camera position and visibility property of the objects in the 3D view can be stored in the proxy object, and can be restored when using the Draft SelectPlane tool.
How to use
- Make sure the Working Plane is set as you want.
- Go to the menu Draft → Utilities → File:Draft SetWorkingPlaneProxy.png Create WP Proxy.
The working plane stored in the Proxy object can be restored by double-clicking the object in the tree view, or by selecting the Proxy object and using the Draft SelectPlane.
Notes:
- The position of the camera is stored in the Proxy object upon creation. This position can be updated anytime by right-clicking the Proxy object in the tree view, and selecting "Write camera position".
- The visibility state of all objects in the current document is also stored in the Proxy object upon creation. This state can be updated anytime by right-clicking the Proxy object in the tree view, and selecting "Write objects state".
- The size and appearance of the proxy object can be set in the view properties.
- Plane proxies can be manipulated, moved and rotated, like any other FreeCAD object, so that they are in the desired position.
- If the RestoreView property is set to True, the camera position will also be restored to the saved position on double-clicking the Proxy object or using Draft SelectPlane
- If the RestoreState property is set to True, the objects hidden/shown state will also be restored to the saved position on double-clicking the Proxy object or using Draft SelectPlane. If new objects have been added to the document after the state was stored in the Proxy object, the visibility of these new objects will be unchanged
Properties
Data
- DataPlacement: specifies the position of the proxy object and the corresponding working plane.
- DataPosition: specifies the coordinates of the proxy object.
- DataAngle: specifies the rotation angle of the proxy object.
- DataAxis: specifies the axis to use for the rotation angle.
View
- ViewDisplay Size: specifies the size of the proxy object in the 3D view. If the proxy object is created in the tree view but no element is visible, increase this value until it is visible.
- ViewArrow Size: specifies the size of the arrows indicating the three axes of the plane proxy.
- ViewRestore View: if it is
true
the camera position will be restored when using the proxy with Draft SelectPlane or by double-clicking it. - ViewRestore State: if it is
true
the visibility state of all objects in the current document will be restored when using the proxy with Draft SelectPlane or by double-clicking it.
Scripting
See also: Draft API and FreeCAD Scripting Basics.
Working plane proxy objects can be used in macros and from the Python console by using the following function:
WPProxy = makeWorkingPlaneProxy(placement)
- Creates a
WPProxy
object from the givenplacement
which is aFreeCAD.Placement
.- A placement is defined by a base point, given by its
FreeCAD.Vector
, and aFreeCAD.Rotation
.
- A placement is defined by a base point, given by its
The size of the Plane Proxy can be changed by overwriting its ViewObject.DisplaySize
and ViewObject.ArrowSize
attributes, with units in millimeters.
The Plane Proxy has a "Face" object as its Shape
attribute. This face can be used to set the current working plane by calling its alignToFace()
method.
Example:
import FreeCAD, FreeCADGui, Draft
currentWP = FreeCAD.DraftWorkingPlane
place = currentWP.getPlacement()
WPProxy = Draft.makeWorkingPlaneProxy(place)
WPProxy.ViewObject.DisplaySize = 3000
WPProxy.ViewObject.ArrowSize = 200
YAxis = FreeCAD.Vector(0, 1, 0)
point2 = FreeCAD.Vector(3000, 0, 0)
place2 = FreeCAD.Placement(point2, FreeCAD.Rotation(YAxis, 90))
WPProxy2 = Draft.makeWorkingPlaneProxy(place2)
WPProxy2.ViewObject.DisplaySize = 3000
WPProxy2.ViewObject.ArrowSize = 200
Axis = FreeCAD.Vector(1, 1, 1)
point3 = FreeCAD.Vector(-3000, 3000, 0)
place3 = FreeCAD.Placement(point3, FreeCAD.Rotation(Axis, 90))
WPProxy3 = Draft.makeWorkingPlaneProxy(place3)
WPProxy3.ViewObject.DisplaySize = 3000
WPProxy3.ViewObject.ArrowSize = 200
FreeCAD.ActiveDocument.recompute()
currentWP.alignToFace(WPProxy3.Shape)
FreeCADGui.Snapper.setGrid()
- Drafting: Line, Polyline, Fillet, Arc, Arc by 3 points, Circle, Ellipse, Rectangle, Polygon, B-spline, Cubic Bézier curve, Bézier curve, Point, Facebinder, ShapeString, Hatch
- Annotation: Text, Dimension, Label, Annotation styles, Annotation scale
- Modification: Move, Rotate, Scale, Mirror, Offset, Trimex, Stretch, Clone, Array, Polar array, Circular array, Path array, Path link array, Point array, Point link array, Edit, Subelement highlight, Join, Split, Upgrade, Downgrade, Wire to B-spline, Draft to sketch, Set slope, Flip dimension, Shape 2D view
- Draft Tray: Select plane, Set style, Toggle construction mode, AutoGroup
- Snapping: Snap lock, Snap endpoint, Snap midpoint, Snap center, Snap angle, Snap intersection, Snap perpendicular, Snap extension, Snap parallel, Snap special, Snap near, Snap ortho, Snap grid, Snap working plane, Snap dimensions, Toggle grid
- Miscellaneous: Apply current style, Layer, Manage layers, Add a new named group, Move to group, Select group, Add to construction group, Toggle normal/wireframe display, Create working plane proxy, Heal, Show snap toolbar
- Additional: Constraining, Pattern, Preferences, Import Export Preferences, DXF/DWG, SVG, OCA, DAT
- Context menu:
- Layer container: Merge layer duplicates, Add new layer
- Layer: Activate this layer, Select layer contents
- Text: Open hyperlinks
- Wire: Flatten
- Working plane proxy: Write camera position, Write objects state
- 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, Start, Surface, TechDraw, Test Framework, Web
- Hubs: User hub, Power users hub, Developer hub