TechDraw Roadmap: Difference between revisions

From FreeCAD Documentation
 
(23 intermediate revisions by the same user not shown)
Line 2: Line 2:
__NOTOC__
__NOTOC__


Here is a rough roadmap of areas to be addressed in the [[TechDraw_Workbench|TechDraw Workbench]] in 2023.
The [[TechDraw_Workbench|TechDraw Workbench]] was introduced officially as part of FreeCAD in version 0.17.

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


===Current Activity===
===Current Activity===
* refactoring code into more maintainable pieces


===Primary Focus for 2023===
* v0.20 release preparation - linux display problems [https://github.com/FreeCAD/FreeCAD/issues/6698 6698]


There are 2 main areas to be addressed in 2023:
===Upcoming===
* conversion between drawing geometry and model geometry
These items have working code in the development environment and will be implemented early in the v0.21 development cycle.
** these conversions are scattered throughout the code
* Navigation modes (implemented)
** 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 [https://github.com/FreeCAD/FreeCAD/pull/8989 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 [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===
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 [https://github.com/WandererFan/FreeCAD/tree/SymbolsAndTraces SymbolsAndTraces] research project and @Evgeniy's schematic workbench.


===Work Completed in 2022===
These items were implemented in 2022:
* Navigation modes
* New face detection algorithm
* New face detection algorithm
* PrintAll function
* PrintAll function
* Bitmap hatching [https://github.com/FreeCAD/FreeCAD/issues/6582 6582] (implemented)
* Bitmap hatching fix
* Extension line gaps [https://github.com/FreeCAD/FreeCAD/issues/6774 6774] (implemented)
* Extension line gaps
* Section dialog live/deferred update option
* Section dialog live/deferred update option (implemented as part of complex section)
* Convert all templates to "plain svg"
* Convert all templates to "plain svg" (implemented for latin script templates)
* View stacking order [https://github.com/FreeCAD/FreeCAD/issues/6012 6012]
* 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 have semi-working code or are well defined and will be implemented at some point in the v0.21 cycle.
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
* Projection group dialog upgrade including live/deferred update option
* Expanded dimension dialog that includes ability to update 2d and 3d references. Possible retirement of current "Link Dimension" function.
* Ability to specify file preferences as relative paths [https://github.com/FreeCAD/FreeCAD/issues/6707 6707]
* Ability to specify file preferences as relative paths [https://github.com/FreeCAD/FreeCAD/issues/6707 6707]


These items are expected to be in v0.21, but have not been analyzed in detail.
* ability to specify units by dimension or page instead of system wide.
* 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]
* weld symbol upgrades including ISO/AWS symbology and help text [https://github.com/FreeCAD/FreeCAD/issues/6313 6313]


These items are candidates for v0.21, but require investigation
* ordinate dimensions [https://github.com/FreeCAD/FreeCAD/issues/6587 6587]
* ordinate dimensions [https://github.com/FreeCAD/FreeCAD/issues/6587 6587]
* broken view [https://github.com/FreeCAD/FreeCAD/issues/5694 5694]
* broken view [https://github.com/FreeCAD/FreeCAD/issues/5694 5694]
Line 40: Line 69:
* Feature Control Frames (GD&T)
* Feature Control Frames (GD&T)
* Threaded hole representation
* Threaded hole representation


There are a number of smaller feature requests that will probably be implemented in v0.21, possibly as macros.





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