Draft Workbench: Difference between revisions

From FreeCAD Documentation
Line 139: Line 139:
These are tools for modifying objects
These are tools for modifying objects


===[[Image:Drafticonmove.png]] Move===
===[[Image:Draft_Move.png]] Move===


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


This tool moves the selected objects from one point to another.
This tool moves the selected objects from one point to another.
Line 152: Line 153:
* C switches the copy mode on/off. With Copy on, objects will be copied instead of moved.
* 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.
* Pressing ALT will make a copy, even if the Copy check button is off.



===[[Image:Drafticonrotate.png]] Rotate===
===[[Image:Drafticonrotate.png]] Rotate===

Revision as of 19:29, 8 November 2008

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

Draft Toolbar > Line
Context menu > draft > Line
Draft Menu > Line
FreeCAD command: Draft_Line

This tool asks the user for 2 points and draws a line betwen them. The newly created line will have the current color and width. The points can be picked with the mouse in the 3d view or by entering corrdinates with the keyboard. Following functionality is availible:

  • Picking a point on an empty area of the 3d view will return a point situated at your mouse location on the current workplane.
  • Picking a point on an object will return a point situated on the object, at your mouse location. An open "o" symbol appears to notify you.
  • Pressing CTRL will snap your point to availible snap locations. A filled "o" or square symbol appears.
  • Pressing SHIFT will constrain your new point in relation to the last one, horizontally or vertically, depending on the location of your mouse at the moment you press SHIFT. To change between horizontal and vertical, simply release SHIFT and press it again with your mouse in another location.
  • Enter numbers to insert manually a coordinate.
  • Pressing ENTER will switch you from X to Y, from Y to Z and pressing ENTER while you are editing Z will create a new point.
  • Pressing SPACE will switch between relative and absolute coordinates. In relative coordinates, the location you enter is relative to the last point.
  • Pressing CTRL+Z or pressing the "Undo" button will undo the last point.
  • Pressing ESCAPE will cancel the operation.

File:Draft Polyline.png Multiple-point Line

draft Toolbar > Polyline
Context menu > draft > Polyline
draft Menu > Polyline
FreeCAD Command: Draft_Polyline

This tool behaves exactly the same way as the previous one, except that it doesn't stop after 2 points. Besids that, a number of extra features are availible:

  • Double-clicking the last point, instead of simply clicking, will finish the line, leaving it open.
  • Pressing F or context menu > draft > Finish or pressing the "Finish" button will also finish the line, leaving it open.
  • CTRL-Clicking (snapping) on the first point will finish and close the line
  • Pressing C or context menu > draft > Close or pressing the "Close" button will also finish and close the line.

Circle

draft Toolbar > Circle
Context menu > draft > Circle
draft Menu > Circle
FreeCAD command: Draft_Circle

This tool draws a circle by asking for two points, the center and the radius. Both values can also be entered manually. The created circle will take the current line width and color. Availible features:

  • Pressing CTRL will snap you to availible snap locations. A filled symbol appears to notify you.
  • Pressing ESCAPE cancels the function.

Arc

draft Toolbar > Arc
Context menu > draft > Arc
draft Menu > Arc
FreeCAD command: Draft_Arc

This tool draws an arc by picking four points: the center, the radius, the start angle and the end angle. All these values can also be entered manually. The created arc will take the current line width and color. Availible features:

  • 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 ALT when choosing the end angle will switch you to counter-clockwise direction.
  • Pressing ESCAPE cancels the function.

Rectangle

draft Toolbar > Rectangle
Context menu > draft > Rectangle
draft Menu > Rectangle
FreeCAD command: Draft_Rectangle

This tool draws a rectangle by picking two opposite points. These two points can also be entered manually. The created rectangle will take the current line width and color. Availible features:

  • Pressing CTRL will snap you to availible snap locations. A filled symbol appears to notify you.
  • Pressing ESCAPE cancels the function.

Text

draft Toolbar > Text
Context menu > draft > Text
draft Menu > Text
FreeCAD command: Draft_Text

This tool asks the user for a location point, then, in a textbox, text can be entered. The created text height and color will be based on the current line width and color. Availible features:

  • Pressing CTRL will snap you to availible snap locations. A filled symbol appears to notify you.
  • Pressing ESCAPE cancels the function.

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.

File:Drafticonrotate.png Rotate

draft Toolbar > Rotate
Context menu > draft > Rotate
draft Menu > 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.

File:Drafticonoffset.png Offset

draft Toolbar > Offset
Context menu > draft > Offset
draft Menu > 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.

File:Drafticonupgrade.png Upgrade

draft Toolbar > Upgrade
Context menu > draft > Upgrade
draft Menu > 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)

File:Drafticondowngrade.png Downgrade

draft Toolbar > Downgrade
Context menu > draft > Downgrade
draft Menu > 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.