TechDraw View

From FreeCAD Documentation

TechDraw View

Menu location
TechDraw → TechDraw Views → Insert View
Workbenches
TechDraw
Default shortcut
None
Introduced in version
-
See also
TechDraw ProjectionGroup, TechDraw SpreadsheetView, TechDraw ArchView, TechDraw Symbol, TechDraw Image

Description

The TechDraw View tool adds a representation of one or more objects to a Drawing page. introduced in version 1.0: It can create a Projection Group Item (a single view), a Projection Group, a Spreadsheet View, an Arch View, a Symbol or an Image View.

In version 0.21 and below the tool can only create a Part View, which is very similar to a Projection Group Item.

View of a solid box with hidden lines

Usage Projection Group Item and Projection Group

  1. Optionally rotate the 3D view. The camera direction in the 3D view can be used to set the projection direction of the primary view.
  2. Select one or more objects with a DataShape property in the 3D view or Tree view. You can also select Std Parts or Std Groups that contain such objects. When selecting in the 3D view the first selected face can be used to set the projection direction of the primary view. Do not select objects by picking a face in the 3D view if you want to use the current camera direction.
  3. If there are multiple drawing pages in the document: optionally add the desired page to the selection by selecting it in the Tree view.
  4. There are several ways to invoke the tool:
    • Press the Insert View button.
    • Select the TechDraw → TechDraw Views → Insert View option from the menu.
  5. If there are multiple drawing pages in the document, and if no page is displayed in the Main view area and you have not yet selected a page, the Page Chooser dialog box opens:
    1. Select the desired page.
    2. Press the OK button.
  6. The Part View task panel opens. introduced in version 1.0
  7. Optionally adjust the parameters:
    • Scale: select Page, Automatic or Custom. If the last option is selected: enter the scale numerator and denominator.
    • Direction: use the available buttons to adjust the projection direction and rotation of the primary view:
      • The [#.## #.## #.##] button in the center shows the current projection direction. The initial value depends on the Use 3d Camera Direction preference. Press the button to adjust the view direction and rotation manually.
      • Press the , , or button to rotate the projection direction 90° around the horizontal or vertical axis of the view.
      • Press the or button to rotate the view 90° around the projection direction.
      • Press the button to set projection direction of the primary view to the standard front view.
      • Press the button to set it to the first selected face, if available, or else to the current camera direction.
    • Secondary Projections: optionally create secondary projections in addition to the primary view. At least one secondary projection has to be specified for all controls in this section to be displayed.
  8. After changing some parameters pressing the Apply button can be required to update the view(s).
  9. Press the OK button.
  10. A Projection Group Item or, if there are one or more secondary projections, a Projection Group is inserted.

Part View task panel

Usage other view types

introduced in version 1.0

  1. Optionally select a spreadsheet in the Tree view or an Arch section plane in the 3D view or Tree view.
  2. Follow steps 3, 4 and 5 as explained above.
  3. If you have not selected a spreadsheet or an Arch section plane:
    1. A warning dialog box opens.
    2. Check the Do not show this message again checkbox to avoid this dialog box in the future.
    3. Press the OK button.
    4. A file browser opens.
    5. Select an SVG or image file.
  4. A Spreadsheet View, an Arch View, a Symbol or an Image View is inserted.
  5. In case of a Spreadsheet View: adjust the cell range of the view by changing its DataCell Start and DataCell End properties.
  6. In case of a Symbol or Image View: optionally change its DataScale property to adjust its size.

Properties Part View

See also: Property editor.

A Part View, formally a TechDraw::DrawViewPart object, has the following properties:

Data

Base

  • DataX (Distance): The view's horizontal position on the page. (1)
  • DataY (Distance): The view's vertical position on the page. (1)
  • DataLock Position (Bool): Prevents Views from being dragged in the Gui when true. The View can still be moved by changing X,Y properties. (1)
  • DataRotation (Angle): Counterclockwise rotation of the View on the page in degrees. (1)
  • DataScale Type (Enumeration): The scale type. Options: (1)
    • Page: Use the Page's scale setting.
    • Automatic: Fit the view to the page.
    • Custom: Use the scale defined by DataScale.
  • DataScale (FloatConstant): The view will be rendered on the page in Scale:1 ratio to the Source. (1)
  • DataCaption (String): Optional short text caption. (1)

Cosmetics

  • Data (Hidden)Cosmetic Vertexes (TechDraw::PropertyCosmeticVertexList)
  • Data (Hidden)Cosmetic Edges (TechDraw::PropertyCosmeticEdgeList)
  • Data (Hidden)Center Lines (TechDraw::PropertyCenterLineList)
  • Data (Hidden)Geom Formats (TechDraw::PropertyGeomFormatList)

HLR Parameters

  • DataCoarse View (Bool): If true, TechDraw will use a polygon approximation to calculate drawing geometry. If false, TechDraw will use a precision algorithm. CoarseView can be much faster for complex models. The quality of the drawing is reduced, since every curve is approximated as a series of short line segments. Vertices are not displayed in CoarseView since each short segment would result in two new Vertices and the display becomes cluttered. Linear Dimensions can be added to a CoarseView, but are unlikely to be useful.
  • DataSmooth Visible (Bool): Visible Smooth lines on/off.
  • DataSeam Visible (Bool): Visible Seam lines on/off.
  • DataIso Visible (Bool): Visible Isometric(u,v) lines on/off.
  • DataHard Hidden (Bool): Hidden lines on/off.
  • DataSmooth Hidden (Bool): Hidden Smooth lines on/off.
  • DataSeam Hidden (Bool): Hidden Seam lines on/off.
  • DataIso Hidden (Bool): Hidden Isometric(u,v) lines on/off.
  • DataIso Count (Integer): Number of Isometric(u,v) lines to draw on each face.
  • DataScrub Count (Integer): The number of times FreeCAD should try to clean the HLR result. introduced in version 0.21

Projection

  • DataSource (LinkList): Links to the drawable objects to be depicted.
  • DataXSource (XLinkList): Links to the drawable objects in an external file.
  • DataDirection (Vector): This vector controls the direction from which you are viewing the object. +X is right, -X is left, +Y is rear, -Y is front (looking into the screen), +Z is up and -Z is down. So a Front view is (0,-1,0) and an isometric view is (1,-1,1).
  • DataXDirection (Vector): This vector controls the rotation of the view around the Direction.
  • DataPerspective (Bool): true for perspective projection, false for orthogonal projection.
  • DataFocus (Distance): Distance from camera to projection plane for perspective projections. Needs to be adjusted to fit the object. Too far and the perspective is lost, too close and the object is distorted.

View

Base

  • ViewKeep Label (Bool): Always show view label if true. (1)
  • ViewStack Order (Integer): Over or under lap relative to other views. (1) introduced in version 0.21

Broken View

  • ViewBreak Line Style (Enumeration): Set break line style if applicable. introduced in version 1.0
  • ViewBreak Line Type (Enumeration): Adjusts the type of break line depiction on broken views if applicable: None, ZigZag or Simple. introduced in version 1.0

Decoration

  • ViewArc Center Marks (Bool): Circular arc center marks on/off.
  • ViewCenter Scale (Float): Circular arc center mark size adjustment, if enabled.
  • ViewHoriz Center Line (Bool): Show a horizontal centerline through the view.
  • ViewShow All Edges (Bool): Temporarily show invisible lines.
  • ViewVert Center Line (Bool): Show a vertical centerline through the view.

Faces

Highlight

  • ViewHighlight Adjust (Float): Adjust the rotation of the Detail highlight if applicable.
  • ViewHighlight Line Color (Color): Set the highlight line color if applicable.
  • ViewHighlight Line Style (Enumeration): Set the highlight line style if applicable.

Lines

  • ViewExtra Width (Length): Not implemented yet.
  • ViewHidden Width (Length): The thickness of hidden lines, if enabled.
  • ViewIso Width (Length): The thickness of isometric(u,v) surface lines and Dimension lines.
  • ViewLine Width (Length): The thickness of visible lines. See Line Groups.

Section Line

  • ViewInclude Cut Line (Bool): Show/hide section cut line if applicable. introduced in version 1.0
  • ViewSection Line Color (Color): Set the section line color if applicable.
  • ViewSection Line Marks (Bool): Show/hide marks at direction changes for Complex Section if applicable. introduced in version 0.21
  • ViewSection Line Style (Enumeration): Set the section line style if applicable.
  • ViewShow Section Line (Bool): Show/hide the section line if applicable.

(1) these properties are common to all View types.

Properties Projection Group Item

See also: Property editor.

A Projection Group Item, formally a TechDraw::DrawProjGroupItem object, is derived from a Part View, formally a TechDraw::DrawViewPart object, and inherits all its properties. It also has the following additional properties:

Data

Base

  • DataType (Enumeration): The view type (Front, Left, etc.).
  • DataRotation Vector (Vector): Deprecated use DataXDirection instead.

Properties Projection Group

See TechDraw ProjectionGroup.

Properties Spreadsheet View

See TechDraw SpreadsheetView.

Properties Arch View

See TechDraw ArchView.

Properties Symbol

See TechDraw Symbol.

Properties Image View

See TechDraw Image.

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

A Part View can be created with macros and from the Python console by using the following functions:

import FreeCAD as App

doc = App.ActiveDocument
box = doc.addObject("Part::Box", "Box")

page = doc.addObject("TechDraw::DrawPage", "Page")
template = doc.addObject("TechDraw::DrawSVGTemplate", "Template")
template.Template = App.getResourceDir() + "Mod/TechDraw/Templates/A4_LandscapeTD.svg"
page.Template = template

# Toggle the visibility of the page to ensure its width and height are updated (hack):
page.Visibility = False
page.Visibility = True

view = doc.addObject("TechDraw::DrawViewPart", "View")
page.addView(view)
view.Source = [box]
view.Direction = (0, 0, 1)

view.X = page.PageWidth / 2
view.Y = page.PageHeight / 2

doc.recompute()