Draft Shape2DView: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 56: Line 56:
See also: [[property_editor|Property editor]].
See also: [[property_editor|Property editor]].


A Draft Shape2DView is derived from a [[Part_Part2DObject|Part Part2DObject]] and inherits all its properties. It also has the following additional properties:
A Draft Shape2DView object is derived from a [[Part_Part2DObject|Part Part2DObject]] and inherits all its properties. It also has the following additional properties:


=== Data ===
=== Data ===

Revision as of 17:12, 27 May 2021

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
None

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

See also: Property editor.

A Draft Shape2DView object is derived from a Part Part2DObject and inherits all its properties. It also has the following additional properties:

Data

Draft

  • DataBase (Link)
  • DataFace Numbers (IntegerList)
  • DataFuse Arch (Bool)
  • DataHiddenLines (Bool): if it is true it will show the hidden lines of the projection.
  • DataIn Place (Bool): if it is true, together with "Cutlines" or "Cutfaces" modes, the resulting projection will appear co-planar with the Arch SectionPlane.
  • DataProjection (Vector): 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 (Enumeration): 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.
  • DataSegment Length (Float): specifies the size in millimeters of linear segments if DataTessellation is true.
  • DataTessellation (Bool): 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.
Note: set a larger value first, and then change it to a smaller value to get better resolution.
  • DataVisible Only (Bool): if it is true the projection will be recomputed only if it is visible.

View

Draft

  • ViewPattern (Enumeration): not used.
  • ViewPattern Size (Float): not used.

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To create a 2D projection use the make_shape2dview method (introduced in version 0.19) of the Draft module. This method replaces the deprecated makeShape2DView method.

shape2dview = make_shape2dview(baseobj, projectionVector=None, facenumbers=[])
  • baseobj is the object to be projected.
  • projectionVector is the projection vector. If not supplied the Z axis is used.
  • facenumbers is a list of face numbers (0-based). If supplied only these faces are considered.
  • shape2dview is returned with the created 2D projection.

Change the ProjectionMode property of the created object if required. It can be: "Solid", "Individual Faces", "Cutlines", "Cutfaces" or "Solid faces".

Example:

import FreeCAD as App
import Draft

doc = App.newDocument()

box = doc.addObject("Part::Box", "Box")
box.Length = 2300
box.Width = 500
box.Height = 1000

shape1 = Draft.make_shape2dview(box)

shape2 = Draft.make_shape2dview(box, App.Vector(1, -1, 1))

shape3 = Draft.make_shape2dview(box, App.Vector(-1, 1, 1), [0, 5])
shape3.ProjectionMode = "Individual Faces"

doc.recompute()