TechDraw Roadmap

From FreeCAD Documentation
Revision as of 15:31, 20 January 2017 by Wandererfan (talk | contribs)


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).

Coming Soon

  • TechDraw HiResolution. In some situations, drawings use 1mm as the pixel size. This is why embedded images are not very high quality. Fixing this is a big job, but would allow textured fills for Faces as well as improving embedded image quality.
  • Technical crosshatching. This is Face hatching based solely on lines of varying styles and weights. This also includes hatching that is (mostly) compatible with AutoDesk "PAT" patterns.
  • Improvements in the handling of broken references for Dimensions. These are aimed at detecting "topological naming" issues and handling them gracefully.
  • Removal of children when parent is deleted (exProjection Group and Secondary Views, Pages and Views)
  • Arrowhead style preference.
  • Reliability fixes in ProjectionGroup and Section.

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.

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. *** several wiki entries have recently been updated.

"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.

Dimensions can be adversely affected by geometry changes - both in the 2D drawing and the 3D model. This is related to the widely discussed "topological naming" problem.

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.

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

  • improvements in findShapeOutline.
  • improvements in face detection.