TechDraw Roadmap: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 4: Line 4:


<!--T:1-->
<!--T:1-->
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).
The TechDraw workbench is new and hasn't had the years of development that have benefited some other workbenches. Still, TechDraw can now "produce basic technical drawings based on the 3D model".

Here is a rough roadmap of areas to be addressed in the future (in no particular order).


===Current Activity=== <!--T:2-->
===Current Activity=== <!--T:2-->
Line 10: Line 12:
<!--T:3-->
<!--T:3-->
* Preparation for upcoming version 0.17 feature freeze/release.
* Preparation for upcoming version 0.17 feature freeze/release.

===Recent Changes=== <!--T:18-->

<!--T:27-->
* CoarseView option added. This uses a faster polygon approximation algorithm for Hidden Line Removal and can be dramatically faster that the more precise algorithm. There is some loss of drawing quality with this option. (props to @terok!)
* DrawViewMulti has been deprecated. DrawViewPart, DrawViewSection, ProjectionGroup and DrawViewDetail can all now use multiple objects as Source. Groups can now be used as Source also.
* The unit test suite for TechDraw has be significantly improved.
* The symbol library macro is now available for TechDraw as well as Drawing (props to @chakree!)
* Views may now be locked in position on the Page.


===Draft/Arch coexistence=== <!--T:29-->
===Draft/Arch coexistence=== <!--T:29-->
There are inconsistencies between the way the Draft/Arch and TechDraw modules represent shapes. This limits the suitability of TechDraw for Draft/Arch users.
There are inconsistencies between the way the Draft/Arch and TechDraw modules represent shapes. This limits the suitability of TechDraw for Draft/Arch users. One notable short-coming is that TechDraw is unable to apply Dimensions to the Svg images it receives from Draft/Arch.

===Projection Group=== <!--T:21-->
The Projection Group has had many changes recently. It's execution speed should be much better. The error prone direction tables have been replace by geometric calculations. There is still a problem with restoring Projection Groups to the same orientation they had when saved.


===Drawing Tools=== <!--T:4-->
===Drawing Tools=== <!--T:4-->
Line 38: Line 46:


==="non-Vertex" Dimensions=== <!--T:12-->
==="non-Vertex" Dimensions=== <!--T:12-->
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.
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. A related request is for an "arbitrary" measurement that can be added when an actual value can not be calculated automatically.

===Python Bindings=== <!--T:22-->

<!--T:23-->
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=== <!--T:24-->
The self-test suite for TechDraw is quite limited at the moment. This should be expanded by an enthusiastic Python programmer!


===Bug Fixes/Feature Requests=== <!--T:16-->
===Bug Fixes/Feature Requests=== <!--T:16-->


<!--T:17-->
<!--T:17-->
See the bug tracker for up to date information.
* the inability of Qt to export fills/hatches to SVG continues to be a problem, particularly for users of Draft and Arch workbenches.
* 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.
* "broken view" - the ability to depict very large objects on the page.
* "slanted" extension lines - https://forum.freecadweb.org/viewtopic.php?t=22014
* "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
* helix projections - https://forum.freecadweb.org/viewtopic.php?f=3&t=9513&start=10
* use DrawViewMulti for individual views in DrawProjectGroup


===Technical Debt=== <!--T:26-->
===Technical Debt=== <!--T:26-->
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.
The 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=== <!--T:18-->

<!--T:27-->
* added LineGroups to control default line widths
* rotation property now rotates the part within the frame
* view x,y positioning made consistent across view types
* correct handling of Template change
* added TechDraw to FreeCAD translation system


<!--T:28-->
<!--T:28-->

Revision as of 00:56, 31 January 2018


The TechDraw workbench is new and hasn't had the years of development that have benefited some other workbenches. Still, TechDraw can now "produce basic technical drawings based on the 3D model".

Here is a rough roadmap of areas to be addressed in the future (in no particular order).

Current Activity

  • Preparation for upcoming version 0.17 feature freeze/release.

Recent Changes

  • CoarseView option added. This uses a faster polygon approximation algorithm for Hidden Line Removal and can be dramatically faster that the more precise algorithm. There is some loss of drawing quality with this option. (props to @terok!)
  • DrawViewMulti has been deprecated. DrawViewPart, DrawViewSection, ProjectionGroup and DrawViewDetail can all now use multiple objects as Source. Groups can now be used as Source also.
  • The unit test suite for TechDraw has be significantly improved.
  • The symbol library macro is now available for TechDraw as well as Drawing (props to @chakree!)
  • Views may now be locked in position on the Page.

Draft/Arch coexistence

There are inconsistencies between the way the Draft/Arch and TechDraw modules represent shapes. This limits the suitability of TechDraw for Draft/Arch users. One notable short-coming is that TechDraw is unable to apply Dimensions to the Svg images it receives from Draft/Arch.

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. A related request is for an "arbitrary" measurement that can be added when an actual value can not be calculated automatically.

Bug Fixes/Feature Requests

See the bug tracker for up to date information.

Technical Debt

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

Return to TechDraw Module main page.