TechDraw Roadmap



The TechDraw workbench is still very much a work in progress. Not all functions are available, and not all functions work correctly. Here is a rough roadmap of areas to be addressed (in no particular order).

Current Activity

 * Projection Group execution speed. The parent DrawProjectionGroup seems to invoke multiple executes of the DrawProjItem children when a single execute would suffice.  If the processing for a DrawProjItem is significant, it will slow the overall execution of the group to a crawl.  This may not be fixable with the current design.

Projection Group
The Projection Group continues to be exasperating. The current version is restricted to "cardinal" directions (Front,Back,Top,Bottom,Left,Right) and their associated iso views and relies on large tables of view directions and rotations. There are almost certainly typographic errors in these tables. A proper geometric solution that supports arbitrary view directions is required.

In addition the Projection Group can be painfully slow to recalculate - much slower that equivalent individual views.

Drawing Tools
This includes the ability to add leaders, callouts and detail highlights to Views. It is a prerequisite to many enhancements, particularly in the drawing annotation area, such as feature control frames and reference highlights for detail views.

2D Geometry
A number of 2D geometry functions were recently added to the Part module. This needs to be reviewed with an eye towards replacing custom 2D geometry code in TechDraw with standard code from Part.

Internal View Consistency
It is not currently possible to create a Detail from a Section or a MultiView, or a Section from a Detail due to internal differences. Changes here would allow any View type to be a BaseView.

Documentation
The wiki entries for TechDraw are very sparse and need to be expanded considerably.

"non-Vertex" Dimensions
There is a need for Dimensions that do not rely on specific vertex/edges, but on extrema of the figure - for example, overall width/height.

Python Bindings
The python bindings for basic TechDraw functions have fallen behind the C++ functions. The python routines need to be reviewed and brought up to date.

Test Suite
The self-test suite for TechDraw is quite limited at the moment. This should be expanded by an enthusiastic Python programmer!

Internationalization
Message/hint strings need to be reviewed to ensure the appropriate translate function are used.

Bug Fixes/Feature Requests

 * the inability of Qt to export fills/hatches to SVG continues to be a problem, particularly for users of Draft and Arch workbenches.
 * "broken view" - the ability to depict very large objects on the page.
 * view rotation. The rotation property currently rotates the entire view including frame, label and caption.  Ideally, it should only rotate the part within the frame.
 * "slanted" extension lines - https://forum.freecadweb.org/viewtopic.php?t=22014
 * helix projections - https://forum.freecadweb.org/viewtopic.php?f=3&t=9513&start=10

Technical Debt
The recent rapid pace of TechDraw development has left in its wake numerous "technical imperfections" that should be addressed. One of the biggest involves appearance related Properties which belong to Feature instead of the ViewProvider. This results in unneeded recomputes of the model when only a graphic update is really required.

Recent Changes

 * HiRez for DrawViewClip
 * Improved PAT specification compliance
 * Highlight circle in Detail base view
 * PDF/SVG export improvements

Return to TechDraw Module main page.