Draft Shape2DView

From FreeCAD Documentation
Revision as of 10:34, 20 May 2021 by Mario52 (talk | contribs) (Marked this version for translation)
This documentation is a work in progress. Please don't mark it as translatable since it will change in the next hours and days.

Draft Shape2DView

Menu location
Modification → Shape 2D view
Workbenches
Draft, Arch, Part, TechDraw
Default shortcut
None
Introduced in version
-
See also
-

Description

The Draft Shape2DView tool produces a 2D projection from a selected 3D solid object such as those created with the Part, PartDesign, and Arch Workbenches.

The resulting projection is a Draft object and is placed in the 3D view. This object can be displayed on a TechDraw Workbench page, using the TechDraw DraftView tool. Alternatively, TechDraw has its own tools to create projected views, the TechDraw View and TechDraw ProjectionGroup tools; however, these tools are meant for preparing technical drawings, so they create the views only in the drawing page, and not in the 3D view.

Projection of solid shapes into the XY plane

Usage

  1. Rotate the view so it reflects the direction of the desired projection. For example, a top view will project the object on the XY plane.
  2. Select a 3D object.
  3. Press the Draft Shape2DView button. If no object is selected, you will be invited to select one.

The projected object will be created below the selected object, lying on the XY plane. It's position can be changed by changing its properties. The projection direction can also be changed after creation with the property editor.

Note: If the selected object is an Arch SectionPlane, the projection will use the contents and direction of that Section plane; in this case, the "Projection" property will be ignored.

Options

There are no options for this tool. Either it works with the selected object or not.

Properties

  • DataProjection: specifies the direction of the projection as a vector. For example, (0,0,1) is a projection looking through the Z axis, which would be projected on the XY plane; (1,0,0) is a projection looking through the X axis, which would be projected on the YZ plane; (0,1,0) is a projection looking through the Y axis, which would be projected on the XZ plane. The values can also be negative, in which case the direction of projection is inverted.
  • DataProjection Mode: it can be "Solid", "Individual Faces", "Cutlines", "Cutfaces" and "Solid faces" (introduced in version 0.20).
    • The default projection is "Solid", which projects the entire selected shape.
    • If only some faces of the base object are selected, the "Individual Faces" mode will project only those faces.
    • If the selected object is an Arch SectionPlane, the "Cutlines" mode will project only the edges being cut by the section plane.
    • If the selected object is an Arch SectionPlane, the "Cutfaces" mode will display the cut areas of solids as faces.
    • If "Solid faces" is selected, the projection will be obtained by cutting all individual faces one by one. This is useful when the "Solid" method gives wrong results.
  • DataIn Place: if it is true, together with "Cutlines" or "Cutfaces" modes, the resulting projection will appear co-planar with the Arch SectionPlane. introduced in version 0.17
  • DataHiddenLines: if it is true it will show the hidden lines of the projection.
  • DataTessellation: if it is true it will perform tessellation of ellipses and splines, that is, it will represent curves with very fine line segments.
Note: this may be computationally intensive if DataSegment Length is very small.
  • DataSegment Length: specifies the size in millimeters of linear segments if DataTessellation is true.
Note: set a larger value first, and then change it to a smaller value to get better resolution.
  • DataVisible Only: if it is true the projection will be recomputed only if it is visible.

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

The Draft Shape2DView tool can be used in macros and from the Python console by using the following function:

Shape2DView = makeShape2DView(baseobj, projectionVector=None, facenumbers=[])
  • Creates Shape2DView as a projection of the given baseobj.
    • If facenumbers is given, it is a list of face numbers to be considered for the projection.
  • If a projectionVector is given, it is used; otherwise the default projection is along the Z axis.

The ProjectionMode attribute needs to be overwritten with the desired mode, which can be "Solid", "Individual Faces", "Cutlines", or "Cutfaces".

Example:

import FreeCAD, Draft

Box = FreeCAD.ActiveDocument.addObject("Part::Box", "Box")
Box.Length = 2300
Box.Width = 800
Box.Height = 1000

Shape1 = Draft.makeShape2DView(Box)

Shape2 = Draft.makeShape2DView(Box, FreeCAD.Vector(1, -1, 1))

Shape3 = Draft.makeShape2DView(Box, FreeCAD.Vector(-1, 1, 1), [4,5])
Shape3.ProjectionMode = "Individual Faces"

FreeCAD.ActiveDocument.recompute()