Commit Graph

470 Commits

Author SHA1 Message Date
Roy-043
0734b518b4 Merge pull request #11477 from Roy-043/Draft-improved-handling-of-snap-prefs
Draft: improved handling of snap prefs
2023-11-21 18:40:42 +01:00
Roy-043
59ba9146b8 Draft: improved handling of snap prefs
* Some trackers had 2 color nodes.
* Added a setColor function to some trackers.
* Added a set_snap_style function to the Snapper class.
2023-11-21 17:14:17 +01:00
Roy-043
84deb09f0b Draft: make mod key prefs non-global 2023-11-20 21:17:18 +01:00
Roy-043
1193491f40 Draft: gridShowHuman did not work
* The gridBorder pref was ignored.
* BimProject has been renamed to BimProjectManager.
2023-11-20 19:54:24 +01:00
Roy-043
99d23ee7f4 Draft: store more command modes in prefs
With this PR the following 5 command modes are automatically stored in the preferences:
* "ContinueMode"
* "RelativeMode"
* "GlobalMode"
* "fillmode" (existing preference, removed from the Preferences Editor)
* "SubelementMode"

Additionally:
Three commands (Draft_Ellipse, Draft_Rectangle and Draft_Stretch) call `setRelative` after the 1st point has been specified and would permanently switch on relativeMode. After this PR this switch is temporary.
2023-11-18 21:03:26 +01:00
Roy-043
9511ef6fb7 Merge pull request #11440 from Roy-043/Draft-make-Draft_Edit-prefs-non-global
Draft: make Draft_Edit prefs non-global
2023-11-18 19:45:00 +01:00
Roy-043
6e6be51bf0 Draft: make Draft_Edit prefs non-global 2023-11-18 19:18:23 +01:00
Roy-043
05f064d35b Draft: constraining did not respect global mode
Fixes #10496.
2023-11-18 13:36:35 +01:00
Roy-043
acac040b6e Draft: Draft_Join should call join_wires
Also removed an obsolete comment.
2023-11-16 21:02:19 +01:00
Roy-043
cb94603731 Draft: menu texts of snaps to sentence case 2023-11-15 14:59:38 +01:00
Roy-043
50e5130060 Draft: cleanup related to PR11336
See #11336
2023-11-14 11:51:34 +01:00
Roy-043
7521751f79 Typos 2023-11-14 00:04:33 +01:00
Roy-043
bbc53afc37 Draft: more file extensions also in caps 2023-11-13 23:12:18 +01:00
Roy-043
88cd41416e Draft: Draft_SelectPlane did not trigger the grid 2023-11-12 20:16:34 +01:00
Roy-043
89c967008d Draft: Improve grid behavior
This PR improves the behavior of the Draft grid:
* Options in the preferences: "Always show the grid" and "Show the grid during commands".
* The parameters are used for new views. In existing views the grid can be toggled either during a command or when no command is active.
* When switching to a different workbench all grids are hidden unless GridHideInOtherWorkbenches is set to `False`. This can be a Fine-tuning parameter IMO.

Notes:
* The defaultCameraHeight parameter becomes obsolete. It was only used in very specific circumstances.
* The code of PR #8818 becomes obsolete. It makes more sense to use `App.activeDraftCommand` instead of adding a `tool` argument to some functions. Will do some related cleanup later.
* Improved alignment for the related preference ui. The checkbox interaction has been fixed as well.
2023-11-10 14:02:38 +01:00
Roy-043
80b83201df Draft: renaming of anno style could fail
The error occurred if the style was in use.
2023-11-06 11:40:24 -06:00
Roy-043
f200e8f54a Draft: Updates related to the PlaneGui class (step 4)
Related issue:
#5603.

For gui_snapper.py and gui_trackers.py an intermediate solution has been adopted. They still rely on App.DraftWorkingPlane, but now use a small function to retreive it.

Simply switching to the PlaneGui class is problematic for the trackers as this results in an endless recursion (wp->grid->wp->...). Using the old App.DraftWorkingPlane (which is kept up-to-date by PlaneGui) solves this for now. I will try to return to this later (which may be after the next release though).
2023-10-31 15:41:21 +01:00
Roy-043
539a3fa245 Merge pull request #11117 from Roy-043/Draft-Updates-related-to-the-PlaneGui-class-(step-2)
Draft: Updates related to the PlaneGui class (step 2)
2023-10-27 10:49:56 +02:00
Roy-043
b5b122fba7 Draft: Draft_SelectPlane was not correctly finished in case of a pre-selection
Fixes #11157.
2023-10-24 10:44:46 +02:00
Vincenzo Calligaro
c8b3d42064 [Feature Request] [Draft] [UI/UX] new Draft_Hyperlink command (#10878)
* Draft: added the new Draft_Hyperlink command

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>

* Draft: added the new Draft_Hyperlink command
 * Updated regex condition for more Windows file paths and network resources
 * Added check for file existence
 * Modified syntax for Win32/CygWin case
 * Declared ret variable outside if statement

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>

* Draft: added the new Draft_Hyperlink command
 * Replaced os.startfile and subprocess.call with QDesktopServices.openUrl
 * Removed unused Python dependencies

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>

---------

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2023-10-23 17:42:47 +02:00
Roy-043
d065f13f67 Draft: Updates related to the PlaneGui class (step 2)
Related issue:
#5603.

Additionally:
Fixed the issue where the texts of Arch_Space objects were not exported to DXF.
2023-10-23 16:25:12 +02:00
Roy-043
76eb1bef10 Draft: Fix Gui.doCommand issue in gui_planeproxy caused by PR11080 (#11134)
The previous code resulted in a syntax error.
2023-10-22 11:15:00 +02:00
Roy-043
2335c6beff Draft: Updates related to the PlaneGui class
Related issue:
#5603.
2023-10-18 09:50:50 +02:00
Roy-043
cd802d7bcb Draft: Make Facebinders link-aware
Forum topic:
https://forum.freecad.org/viewtopic.php?t=81997

Additionally:
* Fixed offset and extrusion for non-planar faces.
* Improved the addSubobjects function,
* Cleaned up the code a little bit.
2023-10-18 09:50:18 +02:00
Roy-043
308391a806 Draft: Update gui_selectplane.py
Related issue:
#5603

Previous PR:
#11010

* This PR implements the new PlaneGui class for the Draft_SelectPlane command.
* As mentioned in the previous PR, almost all working plane related code has been removed from gui_selectplane.py.
* The task panel has a new button "Next" to switch to the next working plane in the history.
* Both the "Previous" and "Next" buttons are only enabled if there is a corresponding step in the history.
* PlaneGui stores a working plane per 3D view, but the other commands have to be updated before that system is fully functional.
* Code to update the toolbar when switching to a different view will be added later.
2023-10-17 15:05:28 +02:00
Roy-043
355c7111ad Draft: Fix angular dimension issue caused by #10556
Forum topic:
https://forum.freecad.org/viewtopic.php?t=81956

This PR basically reverts PR #10556.

The angular offset required for the Draft_Arc command is handled in the gui_arc.py file instead. Also removed the unused `urotated` variable from that file.
2023-10-17 15:05:12 +02:00
Roy-043
3e45d030cf Draft: Fix cursor scaling issue
Fixes #6793
2023-10-09 14:01:21 +02:00
Roy-043
887e8f63fc Draft: gui_edit called displayPoint without mask (#10693)
Forum topic:
https://forum.freecad.org/viewtopic.php?t=81186
2023-09-16 17:08:50 +02:00
Roy-043
1c39dabdb6 Draft: arcTracker did not take Working Plane rotation into account
Steps to verify the issue:
1. Open FreeCAD.
2. Switch to Std_ViewTop.
3. Click one of the curved arrows of the Navigation Cube.
4. Switch to the Draft WB.
5. Make sure Draft_SelectPlane is set to "Auto".
6. Start Draft_Arc and click 2 points (for the radius and the start angle).
7. Result: The displayed arc does not match the start angle or the current point.

Additonally:
* Removed the normal argument from `__init__`. The tracker does not work properly with just a normal. AFAICT there is no code that specifies this normal.
* Minor improvement to `getAngle`: Switched the vectors.
2023-09-05 15:39:17 +02:00
Yorik van Havre
50513232ac Merge pull request #10505 from Roy-043/Draft-Fix-angle-range-issue-of-make_circle
Draft: Fix angle range issue of make_circle
2023-09-04 11:29:13 +02:00
Roy-043
a8e4b3a18f Ammended files based on review 2023-09-03 12:43:34 +02:00
Roy-043
341649e1d1 Draft: Correct mistake in PR10160 (#10506)
`self.gui_tools_repository` is an instance of a class that manages a dictionary, it is not a dictionary itself.
2023-09-02 23:37:16 +02:00
Roy-043
5cc0cc22db Typo... 2023-09-02 23:04:41 +02:00
Roy-043
0d2b3f566a Draft: Fix angle range issue of make_circle 2023-09-02 20:48:40 +02:00
Roy-043
08c8f1d0da Draft: Remove unused import WorkingPlane 2023-08-29 18:59:40 +02:00
Roy-043
9fde9f53fa Draft: Fix Draft_Mirror preview 2023-08-29 16:25:42 +02:00
Roy-043
c2a843a5dd Draft: Reduce occurrences of App.DraftWorkingPlane 2 (#10390) 2023-08-28 10:17:58 +02:00
Roy-043
af87661093 Draft: Reduce occurrences of App.DraftWorkingPlane (#10388) 2023-08-28 10:16:36 +02:00
Roy-043
32c47e64a3 Draft: Make gui_tool_utils.get_support nesting aware (#10373)
The get_support function did not work for objects nested in, for example, Std_Parts.

Additionally improved and cleaned up the code, and reduced the docstrings.
2023-08-27 12:41:25 +02:00
Roy-043
15e5f60d00 Draft: remove superfluous code from gui_points.py (#10379) 2023-08-27 12:41:01 +02:00
Roy-043
29eb25e8aa Draft: Add wp attribute to DraftTool class (#10386)
It makes sense to have this attribute. It will also facilitate the coming work related to the Plane class.

Additionally: Removed the `not self.doc` check from `Activated` as `IsActive` already handles this.
2023-08-27 12:40:30 +02:00
Roy-043
ac7fba867c Draft: Remove unused arguments from gui_tool_utils.get_point (#10347) 2023-08-25 03:49:06 +02:00
Roy-043
979d83a22b Draft: Housekeeping and minor improvements for some draftguitools (#10339) 2023-08-25 03:47:39 +02:00
Roy-043
649dde9808 Draft: Add placement_from_points to geometry.py
Changed getPlacementFromPoints function in WorkingPlane.py to a compatibility function that calls placement_from_points.
2023-08-23 11:17:17 +02:00
sliptonic
9f49202dc3 Merge pull request #10230 from chennes/draftTranslateDraftAxisLabels
Draft: translate draft axis labels
2023-08-21 11:10:25 -05:00
Chris Hennes
f6b85d3721 Draft: Translate task titles for draft tools (#10227) 2023-08-17 16:01:15 +02:00
Chris Hennes
ddaa34f0fc Draft: Translate Dimension and axis labels 2023-08-14 08:14:32 -07:00
Roy-043
b83e401836 Draft: Avoid dictionary.keys() where possible (#10160) 2023-08-13 11:46:25 +02:00
luzpaz
3110980e6e Fix various typos 2023-07-15 11:17:45 +02:00
Roy-043
4d7277138b Draft: fix near snap for meshes (#9719) 2023-06-05 09:58:50 +02:00