Draft Workbench: Difference between revisions

From FreeCAD Documentation
No edit summary
mNo edit summary
Line 1: Line 1:
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 but will be integrated soon.
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.


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 [[Talk:Draft_Module|discussion page]].
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 [[Talk:Draft_Module|discussion page]].
Line 8: Line 8:


[[Image:Draftscreenshot.jpg|center|The draft interface with the buttons toolbar and the function toolbar]]
[[Image:Draftscreenshot.jpg|center|The draft interface with the buttons toolbar and the function toolbar]]
Once installed, the draft workbench will be available 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 command bar, you can also change general things like current line color and width.
The draft workbench is available 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 command bar, you can also change general things like current line color and width. As a sidenote, the command bar (and, IMHO, the whole QT interface) looks much better if you choose the "cleanlooks" style in FreeCAD general preferences...


=== Before starting ===
=== Before starting ===

Revision as of 03:01, 27 March 2009

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.

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 (a bit outdated but still valid) workplan of the whole thing here.

General use

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

The draft workbench is available 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 command bar, you can also change general things like current line color and width. As a sidenote, the command bar (and, IMHO, the whole QT interface) looks much better if you choose the "cleanlooks" style in FreeCAD general preferences...

Before starting

The Draft module doesn't work well in 3D at the moment. So, the best thing to do is to put yourself in orthographic 2D view before starting to draw. To do that, open or create a new document, then press the O key (or menu view -> orthographic view) to switch to orthographic mode. Then press the 2 key (or menu view -> standard views -> top) to put you in top view. Now, you are ready to draw. You can also configure freecad (menu edit -> preferences) to always start in orthographic mode.

Quickstart

All draft commands follow more or less the same rules: Drawing tools will ask you to pick points on the screen or enter numeric coordinates, while modification tools will ask you to choose an object to work on first, in case no object is selected. In almost all commands, pressing the Control key will allow you to snap to existing points, Shift will constrain your movement horizontally, verically or in relation to an existing segment, and in some tools Alt will give you extra options such as creating a new object instead of transforming an existing one. The Esc key will always cancel the active command. Below you will find a more complete description of all available tools:

Tools

Importing & exporting

These are functions for opening, importing or exporting 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. Exporting will save the selected objects to a file. If nothing is selected, then all objects will be exported. Be aware that since the purpose of the Draft module is to work with 2d objects, those importers focus only on 2d objects, and, although DXF and OCA formats do support objects definitions in 3D space (objects are not necessarily flat), they won't import volumetric objects like meshes, 3D faces, etc, but rather lines, circles, texts or flat shapes. Currently supported file formats are:

Drawing objects

These are tools for creating objects.

Modifying objects

These are tools for modifying existing objects. They work on selected objects, but if no object is selected, you will be invited to select one.

  • Move: Moves objects from one location to another
  • Rotate: Rotates objects from a start angle to an end angle
  • Offset: Moves segments of an object about a certain distance
  • Upgrade: Joins objects into a higher-level object
  • Downgrade: Explodes objects into lower-level objects
  • Trim/Extend (Trimex): Trims or extends an object
  • Apply style: Applies current color and linewidth to objects

Common behaviours

  • Snapping: Allows to place new points on special places on existing objects
  • Constraining: Allows to place new points horizontally or vertically in relation to previous points
  • Working with manual coordinates: Allows to enter manual coordinates instead of clicking on screen
  • Copying: 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.