TechDraw Roadmap: Difference between revisions

From FreeCAD Documentation
No edit summary
 
(52 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
[[File:preferences-techdraw.svg|64px]]
[[File:preferences-techdraw.svg|64px]]
__NOTOC__
__NOTOC__
<translate>


Here is a rough roadmap of areas to be addressed in the [[TechDraw_Workbench|TechDraw Workbench]] in 2023.
<!--T:1-->
The [[TechDraw Workbench]] was introduced officially as part of FreeCAD in version 0.17. It is relatively new and hasn't had the years of development that have benefited some other workbenches. Still, TechDraw now meets it's original design goal and can now "produce basic technical drawings based on the 3D model".


===Current Activity===
<!--T:31-->
* refactoring code into more maintainable pieces
Here is a rough roadmap of areas to be addressed in the future (in no particular order).


===Primary Focus for 2023===
===Current Activity=== <!--T:2-->
* bug fixes in preparation for v0.19 release
* usability issues in preparation for v0.19 release


There are 2 main areas to be addressed in 2023:
===Upcoming=== <!--T:47-->
* conversion between drawing geometry and model geometry
* center line between edges
** these conversions are scattered throughout the code
* color/weight/style/visibility setting for individual lines in a View.
** the most visible impact is the difficulty in specifying cosmetic geometry
* change from "real time update" to "update on demand"
** cosmetic vertex/edge/centerline now rotates with the parent view.
* Coverity and PVS-Studio code quality fixes


* the "lesser topological naming problem"
===Recent Changes=== <!--T:18-->
** primarily making dimensions survive the renaming of reference geometry
* various bug fixes, backports
*** Phase1 (reference geometry has a new name, but still exists) implemented by [https://github.com/FreeCAD/FreeCAD/pull/8989 PR #8989]
* cosmetic vertices
*** First attempt at Phase2 (handling situation where reference geometry has legitimately changed) stalled. Rethinking.
* Annotation toolbar
** also affects face hatching
** also affects edge appearance attributes


===Work Completed in 2023===
==Changes for v0.19== <!--T:44-->
* remove redundant edges from HLR result PR #9280
* dimension reference name change handling PR #8989
* RichTextAnnotation fix text size & position in svg export PR #10019
* improve SVG hatch drawing speed PR #9995 and PR #9885
* add large ANSI format templates PR #9825
* fix precision errors in 3d window direction/orientation PR #9577
* add shaft/hole fit annotation PR #8455
* add ANSI Y14.5 compatible font PR #8198
* Replacement for Qt XMLPatterns [https://github.com/FreeCAD/FreeCAD/pull/9104 PR #9104] (Thanks Werner!)
* zoom improvements PR #10547, #10456
* hatch speed improvements PR #9995, #9985


===Other Items for 2023===
===View Options=== <!--T:27-->
These items would be nice to address in 2023:
The ability to create a view from a 3D window or from existing 2D geometry. <br/>
* drawing overlay
- an experimental version of creating a view from the 3D window (Insert Active View) has been implemented. It works, but requires further development.
** allow graphics to be added to a drawing page as on a transparent overlay in traditional drafting. This will build on the [https://github.com/WandererFan/FreeCAD/tree/SymbolsAndTraces SymbolsAndTraces] research project and @Evgeniy's schematic workbench.


===Navigation Models=== <!--T:45-->
TechDraw does not support the various navigation model used in the rest of FreeCAD (CAD, Blender, etc).


===Work Completed in 2022===
===Standards Compliance=== <!--T:46-->
These items were implemented in 2022:
TechDraw does not fully conform with any standard. The ability to select a drawing standard and have the various idiosyncrasies respected is required. <br/>
* Navigation modes
- thanks to @tpavlicek dimensions are formatted to a selected standard and style.
* New face detection algorithm
* PrintAll function
* Bitmap hatching fix
* Extension line gaps
* Section dialog live/deferred update option (implemented as part of complex section)
* Convert all templates to "plain svg" (implemented for latin script templates)
* View stacking order
* Use separate thread for hidden line removal, face finding, section and detail cuts
* replace ActiveView Svg creation with simple screen capture
* complex section views
* easier dimensions from 3d geometry
* simple dimension reference repair dialog


===2022 Plan Items Not Completed===
===HLR vs Face Occlusion=== <!--T:20-->
These items are still on the infamous TODO list. They will be worked on as and if time allows.
TechDraw PartViews use the OCC Hidden Line Removal algorithms to project the Shape. HLR is computation intensive, and some (many? most?) views do not require hidden lines to be displayed. A new method of generating views is required. This may require getting the image directly from the 3D display.
* Projection group dialog upgrade including live/deferred update option
* Ability to specify file preferences as relative paths [https://github.com/FreeCAD/FreeCAD/issues/6707 6707]
* ability to specify units by dimension or page instead of system wide.
* weld symbol upgrades including ISO/AWS symbology and help text [https://github.com/FreeCAD/FreeCAD/issues/6313 6313]
* ordinate dimensions [https://github.com/FreeCAD/FreeCAD/issues/6587 6587]
* broken view [https://github.com/FreeCAD/FreeCAD/issues/5694 5694]
* improved handling of Draft/Arch objects
* include sketcher points in drawings
* Feature Control Frames (GD&T)
* Threaded hole representation


===GD&T, ControlFrames, Symbols=== <!--T:21-->
This area of TD is weak and needs to be upgraded.


{{TechDraw Tools navi{{#translation:}}}}
===Draft/Arch coexistence=== <!--T:29-->
{{Userdocnavi{{#translation:}}}}
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.
[[Category:Roadmap{{#translation:}}]]

===Templates=== <!--T:28-->
Making a template with editable text fields requires significant expertise with [[SVG]] and an SVG editor like Inkscape. Making the template creation process simpler will be a priority in the v0.18 development cycle.

===Drawing Tools=== <!--T:4-->

<!--T:5-->
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=== <!--T:6-->

<!--T:7-->
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.

==="non-Vertex" Dimensions=== <!--T:12-->

<!--T:32-->
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. Also the ability to create Dimensions based solely on the 3D model even if there is no corresponding projected geometry.


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

<!--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.
* "broken view" - the ability to depict very large objects on the page.
* helix projections - https://forum.freecadweb.org/viewtopic.php?f=3&t=9513&start=10
* colour management
* thread notation
* "view groups"

<!--T:43-->
{{Userdocnavi}}

<!--T:19-->
[[Category:User Documentation]]
[[Category:TechDraw]]
</translate>

Latest revision as of 12:45, 12 September 2023


Here is a rough roadmap of areas to be addressed in the TechDraw Workbench in 2023.

Current Activity

  • refactoring code into more maintainable pieces

Primary Focus for 2023

There are 2 main areas to be addressed in 2023:

  • conversion between drawing geometry and model geometry
    • these conversions are scattered throughout the code
    • the most visible impact is the difficulty in specifying cosmetic geometry
    • cosmetic vertex/edge/centerline now rotates with the parent view.
  • the "lesser topological naming problem"
    • primarily making dimensions survive the renaming of reference geometry
      • Phase1 (reference geometry has a new name, but still exists) implemented by PR #8989
      • First attempt at Phase2 (handling situation where reference geometry has legitimately changed) stalled. Rethinking.
    • also affects face hatching
    • also affects edge appearance attributes

Work Completed in 2023

  • remove redundant edges from HLR result PR #9280
  • dimension reference name change handling PR #8989
  • RichTextAnnotation fix text size & position in svg export PR #10019
  • improve SVG hatch drawing speed PR #9995 and PR #9885
  • add large ANSI format templates PR #9825
  • fix precision errors in 3d window direction/orientation PR #9577
  • add shaft/hole fit annotation PR #8455
  • add ANSI Y14.5 compatible font PR #8198
  • Replacement for Qt XMLPatterns PR #9104 (Thanks Werner!)
  • zoom improvements PR #10547, #10456
  • hatch speed improvements PR #9995, #9985

Other Items for 2023

These items would be nice to address in 2023:

  • drawing overlay
    • allow graphics to be added to a drawing page as on a transparent overlay in traditional drafting. This will build on the SymbolsAndTraces research project and @Evgeniy's schematic workbench.


Work Completed in 2022

These items were implemented in 2022:

  • Navigation modes
  • New face detection algorithm
  • PrintAll function
  • Bitmap hatching fix
  • Extension line gaps
  • Section dialog live/deferred update option (implemented as part of complex section)
  • Convert all templates to "plain svg" (implemented for latin script templates)
  • View stacking order
  • Use separate thread for hidden line removal, face finding, section and detail cuts
  • replace ActiveView Svg creation with simple screen capture
  • complex section views
  • easier dimensions from 3d geometry
  • simple dimension reference repair dialog

2022 Plan Items Not Completed

These items are still on the infamous TODO list. They will be worked on as and if time allows.

  • Projection group dialog upgrade including live/deferred update option
  • Ability to specify file preferences as relative paths 6707
  • ability to specify units by dimension or page instead of system wide.
  • weld symbol upgrades including ISO/AWS symbology and help text 6313
  • ordinate dimensions 6587
  • broken view 5694
  • improved handling of Draft/Arch objects
  • include sketcher points in drawings
  • Feature Control Frames (GD&T)
  • Threaded hole representation