TechDraw Roadmap: Difference between revisions
Wandererfan (talk | contribs) No edit summary |
Wandererfan (talk | contribs) |
||
(50 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. <br]> |
|||
- thanks to @fjullien, @reox and others, the Balloon feature has been enhanced to provide base functionality in this area. |
|||
{{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. <BR/> |
|||
- leaderlines, a rich text annotation, welding symbols, cosmetic vertices and edges and centerlines have been added. |
|||
===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
- primarily making dimensions survive the renaming of reference geometry
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
TechDraw
- Pages: Insert Default Page, Insert Page using Template, Redraw Page, Print All Pages
- Views: Insert View, Insert Active View, Insert Projection Group, Insert Section View, Insert Complex Section View, Insert Detail View, Insert Draft Workbench Object, Insert Arch Workbench Object, Insert Spreadsheet View, Insert Clip Group, Share View, Project Shape
- Stacking: Move view to top of stack, Move view to bottom of stack, Move view up one level, Move view down one level
- Decorations: Hatch Face using Image File, Apply Geometric Hatch to Face, Insert SVG Symbol, Insert Bitmap Image, Turn View Frames On/Off
- Dimensions: Insert Length Dimension, Insert Horizontal Dimension, Insert Vertical Dimension, Insert Radius Dimension, Insert Diameter Dimension, Insert Angle Dimension, Insert 3-Point Angle Dimension, Insert Horizontal Extent Dimension, Insert Vertical Extent Dimension, Link Dimension to 3D Geometry, Insert Balloon Annotation, Insert Axonometric Length Dimension, Insert Landmark Dimension, Adjust Geometric References of Dimension
- Annotations: Insert Annotation, Add Leaderline to View, Insert Rich Text Annotation, Add Cosmetic Vertex, Add Midpoint Vertices, Add Quadrant Vertices, Add Centerline to Faces, Add Centerline between 2 Lines, Add Centerline between 2 Points, Add Cosmetic Line Through 2 points, Add Cosmetic Circle, Change Appearance of Lines, Show/Hide Invisible Edges, Add Welding Information to Leader, Add Surface Finish Symbol, Add Hole or Shaft Tolerances
- Extensions:
- Attributes and modifications: Select Line Attributes, Cascade Spacing and Delta Distance, Change Line Attributes, Extend Line, Shorten Line, Lock/Unlock View, Position Section View, Position Horizontal Chain Dimensions, Position Vertical Chain Dimensions, Position Oblique Chain Dimensions, Cascade Horizontal Dimensions, Cascade Vertical Dimensions, Cascade Oblique Dimensions, Calculate the area of selected faces, Calculate the arc length of selected edges, Customize format label
- Centerlines and threading: Add Circle Centerlines, Add Bolt Circle Centerlines, Add Cosmetic Thread Hole Side View, Add Cosmetic Thread Hole Bottom View, Add Cosmetic Thread Bolt Side View, Add Cosmetic Thread Bolt Bottom View, Add Cosmetic Intersection Vertex(es), Add an offset vertex, Add Cosmetic Circle, Add Cosmetic Arc, Add Cosmetic Circle 3 Points, Add Cosmetic Parallel Line, Add Cosmetic Perpendicular Line
- Dimensions: Create Horizontal Chain Dimensions, Create Vertical Chain Dimensions, Create Oblique Chain Dimensions, Create Horizontal Coordinate Dimensions, Create Vertical Coordinate Dimensions, Create Oblique Coordinate Dimensions, Create Horizontal Chamfer Dimension, Create Vertical Chamfer Dimension, Create Arc Length Dimension, Insert '⌀' Prefix, Insert '〼' Prefix, Remove Prefix, Increase Decimal Places, Decrease Decimal Places
- Export: Export Page as SVG, Export Page as DXF
- Additional: Line Groups, Templates, Hatching, Geometric dimensioning and tolerancing, Preferences
User documentation
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub