TechDraw Workbench

Introduction
The TechDraw Workbench is used to produce basic technical drawings from 3D models created with another workbench such as Part, PartDesign, or Arch, or imported from other applications. Each drawing is a Page, which can contain various Views of drawable objects such as Part::Features, PartDesign::Bodies, App::Part groups, and Document Object groups. The resulting drawings can be used for things like documentation, manufacturing instructions, contracts, permits, etc.

Dimensions, sections, hatched areas, annotations, and SVG symbols can be added to the page, which can be further exported to different formats like DXF, SVG, and PDF.

TechDraw was officially included in FreeCAD starting with version 0.17; it is intended to replace the unsupported Drawing Workbench. Both workbenches are still provided in v0.17, but the Drawing Workbench may be removed in future releases. To keep up with TechDraw plans and developments, visit the TechDraw Roadmap.

If your primary goal is the production of complex 2D drawings and DXF files, and you don't need 3D modelling, FreeCAD may not be the right choice for you. You may wish to consider a dedicated software program for technical drafting instead, such as LibreCAD or QCad.



Pages
These are tools for creating Page objects.


 * TechDraw_PageDefault.svg Insert Default Page: adds a new page using the default template.


 * TechDraw_PageTemplate.svg Insert Page using Template: adds a new page using a selected template.


 * TechDraw_RedrawPage.svg Redraw Page: forces an update of the selected page.


 * TechDraw_PrintAll.svg Print All Pages: prints all the pages in a document.

Views
These are tools for creating View objects.


 * TechDraw View.svg Insert View: adds a 2D projection view of an object.


 * TechDraw ActiveView.svg Insert Active View: inserts a view of the active 3D view.


 * TechDraw_ProjectionGroup.svg Insert Projection Group: invokes a dialog to create multiple views of an object from different directions.


 * TechDraw_SectionView.svg Insert Section View: inserts a cross-section view of an existing view.


 * TechDraw_DetailView.svg Insert Detail View: inserts a detail view of a portion of an existing view.


 * TechDraw_DraftView.svg Insert Draft Workbench Object: inserts a view of a Draft Workbench object.


 * TechDraw_ArchView.svg Insert Arch Workbench Object: inserts a view of an Arch Workbench Section Plane object.


 * TechDraw_SpreadsheetView.svg Insert Spreadsheet View: inserts a view of a Spreadsheet Workbench sheet.


 * TechDraw_MoveView.svg Move View: moves a view and its dependents to a different page.


 * TechDraw_ShareView.svg Share View: shares a view between multiple pages.


 * TechDraw_ProjectShape.svg Project Shape: creates a projection of a shape in the 3D view.

Stacking
These are tools for changing the stacking order which controls the apparent depth of views on a page.


 * TechDraw_StackTop.svg Move view to top of stack: moves views to the top of the stacking order.


 * TechDraw_StackBottom.svg Move view to bottom of stack: moves views to the bottom of the stacking order.


 * TechDraw_StackUp.svg Move view up one level: moves views up one level in the stacking order.


 * TechDraw_StackDown.svg Move view down one level: moves views down one level in the stacking order.

Clips
These are tools to create and manage Clip objects (clipped views).


 * TechDraw_ClipGroup.svg Insert Clip Group: inserts a clip group into a page.


 * TechDraw_ClipGroupAdd.svg Add View to Clip Group: adds an existing view to a clip group.


 * TechDraw_ClipGroupRemove.svg Remove View from Clip Group: removes a view from a clip group.

Decorations
These are tools to decorate pages or views:


 * TechDraw_Hatch.svg Hatch Face using Image File: applies a hatch pattern from a file to a face.


 * TechDraw_GeometricHatch.svg Apply Geometric Hatch to Face: applies a hatch pattern to a face using an Autodesk PAT specification.


 * TechDraw_Symbol.svg Insert SVG Symbol: inserts a symbol from a SVG file into a page.


 * TechDraw_Image.svg Insert Bitmap Image: inserts a PNG or JPG bitmap image into a page.


 * TechDraw_ToggleFrame.svg Turn View Frames On/Off: turns on/off frames and labels surrounding a view.

Dimensions
These are tools for creating and working with Dimension objects.

Linear dimensions can be based on two points, on one line, or on two lines.


 * TechDraw_LengthDimension.svg Insert Length Dimension: adds a length dimension.


 * TechDraw_HorizontalDimension.svg Insert Horizontal Dimension: adds a horizontal length dimension.


 * TechDraw_VerticalDimension.svg Insert Vertical Dimension: adds a vertical length dimension.


 * TechDraw_RadiusDimension.svg Insert Radius Dimension: adds a radius dimension to a circle or circular arc.


 * TechDraw_DiameterDimension.svg Insert Diameter Dimension: adds a diameter dimension to a circle or a circular arc.


 * TechDraw_AngleDimension.svg Insert Angle Dimension: adds an angle dimension between two straight edges.


 * TechDraw_3PtAngleDimension.svg Insert 3-Point Angle Dimension: adds an angle dimension using three vertices.


 * TechDraw_HorizontalExtentDimension.svg Insert Horizontal Extent Dimension: adds a horizontal extent dimension.


 * TechDraw_VerticalExtentDimension.svg Insert Vertical Extent Dimension: adds a vertical extent dimension.


 * TechDraw_LinkDimension.svg Link Dimension to 3D Geometry: links an existing dimension to the 3D geometry.


 * TechDraw_Balloon.svg Insert Balloon Annotation: adds a "balloon" annotation to a page.


 * TechDraw_LandmarkDimension.svg Insert Landmark Dimension: adds a landmark distance dimension.

Annotations
The annotation tools are for "marking up" a drawing with additional information.


 * TechDraw_Annotation.svg Insert Annotation: adds a plain text block as annotation.


 * TechDraw_LeaderLine.svg Add Leaderline to View: adds a leaderline to a view.


 * TechDraw_RichTextAnnotation.svg Insert Rich Text Annotation: adds an rich text block as annotation to a leaderline or a view.


 * TechDraw_CosmeticVertex.svg Add Cosmetic Vertex: adds a Vertex which is not part of the source geometry.


 * TechDraw_Midpoints.svg Add Midpoint Vertices: adds Cosmetic Vertices at midpoints of selected edges.


 * TechDraw_Quadrants.svg Add Quadrant Vertices: adds Cosmetic Vertices at quarter points of selected (circular) edges.


 * TechDraw_FaceCenterLine.svg Add Centerline to Faces: adds a centerline to selected face(s).


 * TechDraw 2LineCenterLine.svg Add Centerline between 2 Lines: adds a centerline between 2 lines.


 * TechDraw 2PointCenterLine.svg Add Centerline between 2 Points: adds a centerline between 2 points.


 * TechDraw_2PointCosmeticLine.svg Add Cosmetic Line Through 2 points: adds a cosmetic line connecting 2 vertices.


 * TechDraw_CosmeticEraser.svg Remove Cosmetic Object: removes cosmetic objects from a page.


 * TechDraw_DecorateLine.svg Change Appearance of Lines: changes the appearance of selected line(s).


 * TechDraw_ShowAll.svg Show/Hide Invisible Edges: shows/hides invisible lines/edges in a view.


 * TechDraw_WeldSymbol.svg Add Welding Information to Leader: adds welding specifications to an existing leaderline.


 * TechDraw_SurfaceFinishSymbol.svg Add Surface Finish Symbol: adds a surface finish symbol to a page.

Extensions
These are tools to improve your TechDraw drawings.

Attributes and modifications

 * TechDraw_ExtensionSelectLineAttributes.svg Select Line Attributes, Cascade Spacing and Delta Distance: selects the attributes (style, width and color) for new cosmetic lines and centerlines, and specifies the cascade spacing and delta distance.


 * TechDraw_ExtensionChangeLineAttributes.svg Change Line Attributes: changes the attributes (style, width and color) of cosmetic lines and centerlines.


 * TechDraw_ExtensionExtendLine.svg Extend Line: extends a cosmetic line or centerline at both ends.


 * TechDraw_ExtensionShortenLine.svg Shorten Line: shortens a cosmetic line or centerline at both ends.


 * TechDraw_ExtensionLockUnlockView.svg Lock/Unlock View: locks or unlocks the position of a view.


 * TechDraw_ExtensionPositionSectionView.svg Position Section View: orthogonally aligns a section view with its source view.


 * TechDraw_ExtensionPosHorizChainDimension.svg Position Horizontal Chain Dimensions: aligns horizontal dimensions to create a chain dimension.


 * TechDraw_ExtensionPosVertChainDimension.svg Position Vertical Chain Dimensions: aligns vertical dimensions to create a chain dimension.


 * TechDraw_ExtensionPosObliqueChainDimension.svg Position Oblique Chain Dimensions: aligns oblique dimensions to create a chain dimension.


 * TechDraw_ExtensionCascadeHorizDimension.svg Cascade Horizontal Dimensions: evenly spaces horizontal dimensions.


 * TechDraw_ExtensionCascadeVertDimension.svg Cascade Vertical Dimensions: evenly spaces vertical dimensions.


 * TechDraw_ExtensionCascadeObliqueDimension.svg Cascade Oblique Dimensions: evenly spaces oblique dimensions.


 * TechDraw_ExtensionAreaAnnotation.svg Calculate the area of selected faces: calculates the area of selected faces and inserts an area annotation.


 * TechDraw_ExtensionCustomizeFormat.svg Customize format label: customizes the formatting of a balloon text or dimension text. GD&T symbols and other special character can be added.

Centerlines and threading

 * TechDraw_ExtensionCircleCenterLines.svg Add Circle Centerlines: adds centerlines to circles and arcs.


 * TechDraw_ExtensionHoleCircle.svg Add Bolt Circle Centerlines: adds centerlines to a circular pattern of circles.


 * TechDraw_ExtensionThreadHoleSide.svg Add Cosmetic Thread Hole Side View: adds a cosmetic thread to the side view of a hole.


 * TechDraw_ExtensionThreadHoleBottom.svg Add Cosmetic Thread Hole Bottom View: adds a cosmetic thread to the top or bottom view of holes.


 * TechDraw_ExtensionThreadBoltSide.svg Add Cosmetic Thread Bolt Side View: adds a cosmetic thread to the side view of a bolt/screw/rod.


 * TechDraw_ExtensionThreadBoltBottom.svg Add Cosmetic Thread Bolt Bottom View: adds a cosmetic thread to the top or bottom view of bolts/screws/rods.


 * TechDraw_ExtensionVertexAtIntersection.svg Add Cosmetic Intersection Vertex(es): adds cosmetic vertex(es) at the intersection(s) of selected edges.


 * TechDraw_ExtensionDrawCosmCircle.svg Add Cosmetic Circle: adds a cosmetic circle based on two vertexes.


 * TechDraw_ExtensionDrawCosmArc.svg Add Cosmetic Arc: adds a cosmetic counter clockwise arc based on three vertexes.


 * TechDraw_ExtensionDrawCosmCircle3Points.svg Add Cosmetic Circle 3 Points: adds a cosmetic circle based on three vertexes.


 * TechDraw_ExtensionLineParallel.svg Add Cosmetic Parallel Line: adds a cosmetic line parallel to another line through a vertex.


 * TechDraw_ExtensionLinePerpendicular.svg Add Cosmetic Perpendicular Line: adds a cosmetic line perpendicular to another line through a vertex.

Dimensions

 * TechDraw_ExtensionCreateHorizChainDimension.svg Create Horizontal Chain Dimensions: creates a sequence of aligned horizontal dimensions.


 * TechDraw_ExtensionCreateVertChainDimension.svg Create Vertical Chain Dimensions: creates a sequence of aligned vertical dimensions.


 * TechDraw_ExtensionCreateObliqueChainDimension.svg Create Oblique Chain Dimensions: creates a sequence of aligned oblique dimensions.


 * TechDraw_ExtensionCreateHorizCoordDimension.svg Create Horizontal Coordinate Dimensions: creates multiple evenly spaced horizontal dimensions starting from the same baseline.


 * TechDraw_ExtensionCreateVertCoordDimension.svg Create Vertical Coordinate Dimensions: creates multiple evenly spaced vertical dimensions starting from the same baseline.


 * TechDraw_ExtensionCreateObliqueCoordDimension.svg Create Oblique Coordinate Dimensions: creates multiple evenly spaced oblique dimensions starting from the same baseline.


 * TechDraw_ExtensionCreateHorizChamferDimension.svg Create Horizontal Chamfer Dimension: creates a horizontal size and angle dimension for a chamfer.


 * TechDraw_ExtensionCreateVertChamferDimension.svg Create Vertical Chamfer Dimension: creates a vertical size and angle dimension for a chamfer.


 * TechDraw_ExtensionCreateLengthArc.svg Create Arc Length Dimension: creates an arc length dimension.


 * TechDraw_ExtensionInsertDiameter.svg Insert '⌀' Prefix: inserts a '⌀' symbol at the beginning of the dimension text.


 * TechDraw_ExtensionInsertSquare.svg Insert '〼' Prefix: inserts a '〼' symbol at the beginning of the dimension text.


 * TechDraw_ExtensionRemovePrefixChar.svg Remove Prefix: removes all symbols at the beginning of the dimension text.


 * TechDraw_ExtensionIncreaseDecimal.svg Increase Decimal Places: increases the number of decimal places of the dimension text.


 * TechDraw_ExtensionDecreaseDecimal.svg Decrease Decimal Places: decreases the number of decimal places of the dimension text.

Export
These are tools for exporting pages to other applications.


 * TechDraw_ExportPageSVG.svg Export Page as SVG: saves the current page as SVG file.


 * TechDraw_ExportPageDXF.svg Export Page as DXF: saves the current page as DXF file.

Additional features

 * Line Groups: to control the appearance of various types of lines.
 * Templates: the default templates defined for the drawing pages.
 * Hatching: explanation of the different hatching techniques.
 * Geometric dimensioning and tolerancing: explanation on how to achieve geometric dimensioning and tolerancing.

Preferences

 * Preferences-techdraw.svg Preferences: preferences for the default values of the drawing page such as projection angle, colors, text sizes, and line styles.

Scripting
The TechDraw tools can be used in macros and from the Python console by using two APIs.
 * TechDraw API
 * TechDrawGui API

Limitations

 * TechDraw drawings and its API are not interchangeable with the Drawing Workbench and its API. It is possible to convert Drawing Pages to TechDraw Pages using a Python script.
 * It is possible to have both TechDraw and Drawing Pages in the same FreeCAD document, as each page is completely independent from each other.
 * There are minor differences in specifying editable texts in SVG templates compared to the Drawing module. In TechDraw the scaling of the SVG document affects the position of the editable text fields. See the forum discussion TechDraw templates scale for more details.
 * Do not cut, copy and paste TechDraw objects in the Tree view as this generally does not work out well.
 * Do not drag TechDraw objects in the Tree view with the mouse.

Tutorials

 * Basic TechDraw Tutorial: introduction to creating drawings with the TechDraw Workbench.
 * Creating a new template: instructions to create a new page template in Inkscape for using with the TechDraw Workbench.
 * TechDraw TemplateGenerator: instructions to create a macro for generating a basic template.
 * A "few" added lines of code result in a tool like the Macro TemplateHelper.


 * Measurement Of Angles On Holes: instructions for adding centerlines and subsequent angle representations on holes.
 * Miscellaneous: instructions for different settings like center marks, etc.
 * TechDraw Pitch Circle Tutorial: instructions for adding a pitch circle.

Video tutorials by sliptonic
 * TechDraw Workbench Part 1 (Basics), Part 2 (Dimensions), Part 3 (Multiview)
 * TechDraw Workbench Part 4 (Section and Detail), Part 5 (Customizing Templates)