Draft Workbench

From FreeCAD Documentation
Revision as of 18:38, 7 December 2008 by Yorik (talk | contribs) (simplified layout)

The draft Module is a work-in-progress and quite experimental module made to add basic 2d drawing functionality to FreeCAD. It is written entirely in python, and is also intended to showcase how far you can extend FreeCAD entirely in python, without even touching the source code. This module is currently developed outside of the main FreeCAD development structure.

Currently it is not really usable for production work, but already contains a couple of working basic functions. Feel free to test, and give us a feedback on the discussion page.

I also maintain a workplan of the whole thing here.

Installation

The draft Module is currently not part of the FreeCAD package, so you'll need to download it from here: http://yorik.orgfree.com/scripts/Draft.zip The zipfile here above contains just a "draft" directory. To install the module, simply place that draft directory into the "Mod" directory of FreeCAD, as explained in the Installing more workbenches page.

Please note that the draft module requires two specific python modules to be installed and working on your system, PyQt4 and Pyvy. Instructions for installing or compiling these modules can be found on the extra python modules page. But if you are using an official FreeCAD package from the FreeCAD website, those two modules are usually already included in the package and you don't need to worry about it!

General use

The draft interface with the buttons toolbar and the function toolbar
The draft interface with the buttons toolbar and the function toolbar

Once installed, the draft workbench will be availible in your workbenches list. When you activate it, two toolbars will appear; a classical toolbar containing the standard draft commands listed below and a special command bar that has no tool icon on it, but that is used by the different functions to display their controls. On that toolbar, you can also change general things like current line color and width.

One thing is important to know, the draft workbench doesn't put you automatically in orthographic projection (why would it?). So before drawing, make sure you are in orthographic projection and in the appropriate view, since at the moment not all the commands work in 3D.

Import functions

These are functions for opening/importing other file formats. Opening will open a new document with the contents of the file, while importing will append the file content to the current document.

Autodesk DXF

File Menu > Open
File Menu > Import

This function opens a DXF file (any version from 12 to 2007) in a new drawing. The color and linetype of objects is currently not used. DXF object types currently read by this script + implementation in FreeCAD:

  • lines: converted to FreeCAD Line
  • polylines and lwpolylines: converted to FreeCAD Wire w/ arcs straigthened
  • circle: converted to FreeCAD Circle
  • arc: converted to FreeCAD Arc
  • layer: layers containing objects are conveted to FreeCAD Group
  • texts and mtexts: converted to FreeCAD Texts (Annotations)

Other DXF entities, like blocks, etc... are currently not imported because there is no corresponding FreeCAD object. As new functionality gets implemented, it will be possibleto import more entity types.

SVG

File Menu > Open
File Menu > Import

A function to import SVG files as workable 2D objects, in opposition to the built-in drawing module which imports svg files as sheet drawings. SVG objects that get imported at the moment:

  • PATH objects with M, C, L or A commands: converted to FreeCAD polygon
  • RECT objects: converted to FreeCAD polygon

Drawing functions

These are tools for creating objects

2-point Line

File:Draft Polyline.png Multiple-point Line (Polyline)

Circle

Arc

Rectangle

Text

Modification functions

These are tools for modifying objects

Move

draft Toolbar > Move
Context menu > draft > Move 
draft Menu > Move
FreeCAD command: Draft_Move

This tool moves the selected objects from one point to another.

  • Pressing CTRL will snap you to availible snap locations. A filled symbol appears to notify you.
  • Pressing SHIFT will constrain you vertically or horizontally in relation to the center.
  • Pressing ESCAPE will cancel the move.
  • SPACE will switch you between relative and absolute coordinates.
  • C switches the copy mode on/off. With Copy on, objects will be copied instead of moved.
  • Pressing ALT will make a copy, even if the Copy check button is off.

Rotate

draft Toolbar > Rotate
Context menu > draft > Rotate
draft Menu > Rotate
FreeCAD command: Draft_Rotate

This tool rotates the selected objects. The user is asked for the rotation center, the start angle and the rotation angle.

  • Pressing CTRL will snap you to availible snap locations. A filled symbol appears to notify you.
  • Pressing SHIFT will constrain you vertically or horizontally in relation to the center.
  • Pressing ESCAPE will cancel the operation.
  • SPACE will switch you between relative and absolute coordinates.
  • C switches the copy mode on/off. With Copy on, new objects will be created instead of rotating existing objects.
  • Pressing ALT will make a copy, even if the Copy check button is off.

Offset

draft Toolbar > Offset
Context menu > draft > Offset
draft Menu > Offset
FreeCAD command: Draft_Offset

This tool offsets the selected object. Only works if only one object is selected. You are simply asked for one point, giving the distance to offsrt from the selected object.

  • Pressing CTRL will snap you to availible snap locations. A filled symbol appears to notify you.
  • Pressing SHIFT will constrain you to the current segment, instead of picking the closest one.
  • Pressing ESCAPE will cancel the operation.
  • C switches the copy mode on/off. With Copy on, new objects will be created instead of rotating existing objects.
  • Pressing ALT will make a copy, even if the Copy check button is off.

Note that the offset tool currently doesn't work with wires containing arcs. You must first explode (downgrade) them before offsetting.

Upgrade

draft Toolbar > Upgrade
Context menu > draft > Upgrade
draft Menu > Upgrade
FreeCAD command: Draft_Upgrade

This tool upgrades selected objects in different ways, following this list (in order):

  • if there are more than one faces, the faces are merged (union)
  • if there is only one face, nothing is done
  • if there are closed wires, they are transformed in a face
  • otherwise, if possible, all edges are joind into a wire (closed if applicable)

Downgrade

draft Toolbar > Downgrade
Context menu > draft > Downgrade
draft Menu > Downgrade
FreeCAD command: Draft_Downgrade

This tool downgrades selected objects in different ways, following this list (in order):

  • if there are more than one faces, the subsequent faces are subtracted from the first one
  • if there is only one face, it gets converted into a wire
  • otherwise all wires are exploded into single edges

Other functions

These is a category for tools I don't know where else to put :)

File:Drafticonapply.png Apply Style

Context menu > draft > Apply Style

This function applies current line width and color to selected objects. If groups are selected, all objects inside them will take the style too. This function is only availible when something is selected. It is also availible from the tree context menu.

Export functions

These are functions for exporting the current document to other file formats.

Autodesk DXF

File Menu > Export

The exported DXF is compatible with Autocad version 12 and up, so it should open in about any application that supports dxf format. Currently the following FreeCAD features get exported:

  • Lines get converted to dxf lines
  • Polylines get converted to single lines (provisory)
  • Circles get converted to circles
  • Arcs (open circles) get converted to arcs
  • colors are mapped from objects RGB colors to autocad color index (ACI). Black will always be "by layer"
  • layers are mapped from group names When groups are nested, the deepest group gives the layer name.

Common behaviours

Snapping

CTRL while drawing

In all tools that support snapping, following snap locations are currently availible:

  • Endpoint of lines/polylines
  • Midpoint of lines/polylines
  • Center of circles and arcs
  • Quadrant points of circles and arcs
  • Endpoints of arcs
  • Vertically or horizontally aligned points on lines/polylines, if constraining (SHIFT)
  • Intersection between straight segments

In tools that support both snapping and constraining, the combination of both behaviours (SHIFT+CTRL) can extend much the snapping possibilities.

Constraining

SHIFT while drawing

In all tools that support constraining, you can force the next point to be constrained horizontally or vertically in relation to the last point entered. The vertical or horizontal constraining depends on where your mouse lies when you press SHIFT. If you are more north or south from the last point, it will be vertical. If you are more east or west, it will be horizontal. To change, just release SHIFT and press again at another location.

Copying

ALT while drawing

All modification tools can either modify the selected objects or create a modified copy of them. Pressing ALT while using the tool will make a copy.