Commit Graph

3710 Commits

Author SHA1 Message Date
aprospero
4c7fb9625b Draft: parametrize Draft vector utils precision (#20199)
* parametrize draft vector utils precision

* fix: a single function didn't get the complete latest update.

* compatibility: reintroduce DraftVecUtils.precision() as deprecated.
2025-04-07 23:12:02 +00:00
xtemp09
893e4a2ff1 Make some context menu actions translatable (#20401)
* Make some context menu actions translatable

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-07 08:43:04 -05:00
Luz Paz
30ce3023fa Draft: fix source typo
Corrected source variable name so it wouldn't show up in codespell check
2025-04-05 22:59:33 -05:00
luzpaz
7a12d2f96f Fix various typos (#20651)
* Fix various typos
Found via `codespell -q 3 -L aci,addmin,ake,aline,alle,alledges,alocation,als,ang,anid,anormal,anull,aply,apoints,ba,beginn,behaviour,bloaded,bottome,brushin,bu,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childrens,childs,colour,colours,commen,connexion,currenty,documentin,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,findn,fle,freez,graphin,groupe,hist,iff,incrementin,indexin,indicies,initialisation,initialise,initialised,initialises,initialisiert,inout,ist,itsel,kilometre,leadin,localy,lod,mantatory,matc,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oce,oder,ontop,orgin,orginx,orginy,ot,pard,parm,parms,pres,programm,que,rady,recurrance,renderin,re-use,re-used,re-using,rin,ro,rougly,sectionin,seperator,sergent,serie,shs,sinc,siz,som,stpo,strack,substraction,te,technic,thist,thru,tread,tru,ue,uint,unter,uupper,uptodate,vas,vertexes,vew,wallthickness,whitespaces -S "./.git,*.po,*.ts,*.pdf,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml,./src/Base/StackWalker.cpp,./build/doc/SourceDoc,./tools/build/WindowsInstaller/lang,./src/Mod/TechDraw/Templates/locale"`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-05 22:58:20 -05:00
Roy-043
440dfa8203 Merge pull request #20634 from Roy-043/Draft-make-Draft_SelectPlane-recognize-the-new-Part_DatumPlane-object
Draft: make Draft_SelectPlane recognize the new Part_DatumPlane object
2025-04-05 10:46:09 +02:00
Roy-043
9ada83aebd Merge pull request #20574 from luzpaz/typo-source-draft
Draft: fix source typo in draftobjects/patharray.py
2025-04-04 14:42:30 +02:00
Roy-043
83db2c260c Draft: make Draft_SelectPlane recognize the new Part_DatumPlane object
Forum topic:
https://forum.freecad.org/viewtopic.php?t=96058
2025-04-04 14:26:28 +02:00
Roy-043
2e45e8d6e1 Merge pull request #20395 from paullee0/DraftFaces_05_Bind_Improve-Fuse_and_Warning
[Draft-Faces] Bind: Improve fuse and warning
2025-04-01 16:16:43 +02:00
Roy-043
62a64e0613 Merge pull request #20529 from Roy-043/Draft-fix-alignment-of-dim-arrows
Draft: fix alignment of dim arrows
2025-04-01 16:13:01 +02:00
Luz Paz
b9d03abc7b Draft: fix source typo in draftobjects/patharray.py 2025-04-01 10:05:08 -04:00
Kevin Martin
0986dadb2f Correct non-gui DXF C++ importer to not generate pending python exceptions (#20328)
* Add a test case for DXF import

* Test gui flag rather than look for import error to make gui decision

The new code is cleaner and faster and avoids any exception stuff

* Properly avoid trying to use Layer's View object in non-GUI

The code was trying to avoid this but had a Python None object rather than a null C++ pointer and so tried setting a property on None. This left an unhandled exception state which acted as a booby trap that caused the later failure of some unrelated code.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* De-lint, remove wong "unsupported" message
Hidden layers have been supported for a while but still generated an import note about this being unsupported.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-03-31 11:20:37 -05:00
Roy-043
1c588e6614 Draft: fix alignment of dim arrows
Forum post (issue 3):
https://forum.freecad.org/viewtopic.php?t=95898#p819131

The `invert` value of dim arrows should always be `False` for the 1st and `True` for the 2nd. It should not depend on their X coords.
2025-03-30 21:20:26 +02:00
Roy-043
f5d98e6e5d Draft: fix Dim Auto Flip Tex angle checks
When checking angles Dim Auto Flip Text did not consider that angles can be almost -180 degrees and should then be treated the same as 180 degree angles.
2025-03-30 14:01:10 +02:00
Paul Lee
b05c02b6f1 [Draft-Faces] Bind: Improve fuse and warning - Further Fix
Github Discussion:
- Fix problem Roy-043 pointed out https://github.com/FreeCAD/FreeCAD/pull/20395#pullrequestreview-2726624360

FC Forum:
- https://forum.freecad.org/viewtopic.php?p=819121#p819121
2025-03-30 10:29:36 +08:00
Roy-043
4ac8f0b141 Draft: fix status bar widgets display timing issue
Fixes #17044.
2025-03-28 06:09:54 +01:00
Roy-043
354cc84935 Draft: add font name dropdown to preferences (#20400)
Fixes #20330.
2025-03-27 13:11:47 +01:00
Roy-043
0c9c23dc18 Draft: remove obsolete param functions
See #20198

These functions are no longer used in the Draft WB or in the BIM WB.

There is a small risk that 3rd party code relies on them and breaks, but that can be addressed when such is reported as a problem.
2025-03-26 15:52:40 +01:00
Roy-043
5ba1c2c9b4 Typo in docstrings 2025-03-24 20:58:31 +01:00
Roy-043
f7a7d4ed61 Draft: Update checked state of grid button when switching the grid
The checked state of the grid button was not updated when the grid was only displayed during Draft commands.
2025-03-24 20:53:39 +01:00
aprospero
7dab93abac get rid of get/set_param doublette in Draft utils
we have the same functionality already in params from draftutils
2025-03-24 11:48:42 -05:00
Roy-043
718ac63365 Merge pull request #20355 from Roy-043/Draft-move-statusbar-widget-delays-to-init_draft_statusbar.py
Draft: move statusbar hide delay to init_draft_statusbar.py
2025-03-23 10:19:53 +01:00
Paul Lee
07fcf551d0 [Draft-Faces] Bind: Improve fuse and warning
1. Face fuse per segment
   (original code has a whole face/segment disappear when a face is self-intersecting or reversed)
2. Return warning if face is self-intersecting Or reversed

Github Issue:
- https://github.com/FreeCAD/FreeCAD/issues/19721#issuecomment-2744738019
FreeCAD Forum:
- https://forum.freecad.org/viewtopic.php?p=816758#p816758
- https://forum.freecad.org/viewtopic.php?p=813062#p813062
2025-03-23 12:06:27 +08:00
Roy-043
3bb1358f32 Remove import that has become superfluous 2025-03-21 20:38:58 +01:00
Roy-043
a3fd3bc546 Draft: move statusbar widget hide delay to init_draft_statusbar.py
With this PR both the delays for `show_draft_statusbar` and `hide_draft_statusbar` are defined in the same file. This is more consistent.
2025-03-21 20:31:37 +01:00
Roy-043
037d8244f5 Draft: show and hide Tray with delay
Without this delay the Tray may not display if Draft is the start-up workbench.

When the Draft workbench is autoloaded the Tray is shown and then immediately hidden. Because of this, hiding the tray must also happen with a delay.
2025-03-21 19:56:38 +01:00
Roy-043
ea82500560 Draft: make Near snap obey 'Always snap' setting
Fixes: #19553.

Additionally:
* Removed 2 unused attributes (`self.lastSnappedObject` and `self.active`).
* Improved the readability of `snapToObject` a little bit.
* Made the return value of that function consistent (vector or None).
2025-03-20 10:14:49 +01:00
Chris Hennes
e574fa1efc Merge pull request #19899 from tritao/cmake-cleanup-targets
CMake: Cleanup targets with transitive dependencies
2025-03-17 13:15:37 -05:00
Chris Hennes
3d03bb45f8 Merge pull request #20201 from Roy-043/Draft-make-Draft_Edit-also-detect-key-up-events
Draft: make Draft_Edit also detect key up events
2025-03-17 11:57:24 -05:00
tritao
6c2c6847eb CMake: Cleanup targets with transitive dependencies 2025-03-17 12:12:06 +00:00
Roy-043
8b070255d0 Draft: make Draft_Edit also detect key up events
The key down events can be claimed by shortcuts from other workbenches. Detecting both the down and up events does not seem to cause problems.
2025-03-14 21:09:20 +01:00
Luz Paz
17102251e5 Fix various typos 2025-03-14 12:37:12 -04:00
Roy-043
2ad23cec23 Merge pull request #20151 from Roy-043/Draft-fix-handling-of-fillet-radius-input
Draft: fix handling of fillet radius input
2025-03-12 16:27:41 +00:00
Roy-043
1b17da9bf4 Draft: fix handling of fillet radius input
Fixes #20145.
2025-03-12 17:00:52 +01:00
Roy-043
5688a41c4c Updated based on comment 2025-03-12 09:47:03 +01:00
Roy-043
fcc3061746 Draft: Fix error in #20118
The code in #20118 would fail if only Near snap was active.
2025-03-11 15:57:37 +01:00
Yorik van Havre
61eedbddc4 Merge pull request #20072 from Roy-043/Draft-Implement-Dim-Auto-Flip-Text
Draft: Implement Dim Auto Flip Text
2025-03-11 12:58:03 +00:00
Roy-043
849cf3fa75 Draft: Correct Near snap override behavior
Fixes #15017.

Currently Near snap overrides all other 'on-object' snaps such as Midpoint snap and Endpoint snap. With this PR Near snap no longer 'wins' if a different snap point is within snapRange of the cursor.
2025-03-11 10:48:12 +01:00
Roy-043
5f7f9cb7ba Draft: Implement Dim Auto Flip Text
Fixes #19993.

* To determine the `FlipText` value the normal (either the working plane Z axis or its reverse) and the working plane X axis are used.
* A new fine-tuning parameter `DimAutoFlipText` can be used to disable the functionality. Its default value is `True`.
* The `FlipText` property did not work for angular dimensions and the `TextSpacing` property of angular dimensions was not multiplied by `ScaleMultiplier`. This has been corrected.
2025-03-08 15:30:31 +01:00
Roy-043
c2cf154bd6 Merge pull request #19986 from Roy-043/Draft-fix-make_sketch-hang
Draft: fix make_sketch hang
2025-03-05 11:10:28 +00:00
Roy-043
9eca869c95 Draft: fix Trimex visibility change
Fixes #19966
2025-03-04 10:13:44 +01:00
Roy-043
29c03a43a3 Draft: fix make_sketch hang
Fixes #19978

The onebyone argument of makeMissingPointOnPointCoincident and makeMissingVerticalHorizontal should be set to False.
2025-03-04 10:12:44 +01:00
Roy-043
4d48c0de55 Draft: fix Draft_Trimex boundary subelement selection
Fixes #19614

Instead of using the whole object, the hovered subelement should be used for the boundary.

With this PR the handling of the boundary is also  'nesting-aware'. This is however still not the case for the object being extended/trimmed. That object has to be in the global space.
2025-03-03 17:18:25 +01:00
Roy-043
8a0d6a23bb Draft: fix Draft_Edit isAttachedToDocument issue
Fixes #19939

The `isAttachedToDocument` method only works in certain circumstances.
https://forum.freecad.org/viewtopic.php?t=94709
2025-03-03 17:17:55 +01:00
Roy-043
ff9e84e181 Draft: fix NaN issue with Draft_Rotate
Fixes #19690

The issue was caused by a zero distance between the center and the point picked for the rotation angle.
2025-03-03 17:09:11 +01:00
Roy-043
084a0b3b4a Draft: fix polar coords regression
Fixes #19961

Regression caused by #19179.
2025-03-03 17:07:20 +01:00
Chris Hennes
7f1c43a335 Merge pull request #19636 from kadet1090/color-in-base
Base: Move App::Color to Base
2025-03-02 16:36:40 -06:00
Roy-043
6c40857f0e Draft: fix Draft_Edit issue with Gesture navigation
Fixes #19519
2025-03-02 16:13:13 -06:00
Mino-Tsuzuku
9aef91b3ca fix #19723 SVG: transform attribute is not handled collectly (#19845)
* * Move pyopen with encoding to utils.
 and modify all importing library to use pyopen with encoding.
with this change, DXF OCA AirfoilDAT with multibyte sequence always read as utf-8.

* Fix SVG transform attribute is not handler collectly.
2025-03-01 19:06:46 -06:00
Roy-043
2a645d36b8 Draft: Fix error in #19738
My bad. Goes to show that even 'simple' PRs must be tested.
2025-02-27 10:41:54 +01:00
Benjamin Bræstrup Sayoc
755229df23 Build: suppress warnings from 3rd party libraries
Warnings from 3rd parties are not relevant and are only polluting the warning output. Marking these libraries as SYSTEM suppresses warning.

https://gcc.gnu.org/onlinedocs/cpp/Invocation.html#index-I
https://gcc.gnu.org/onlinedocs/cpp/System-Headers.html
2025-02-25 14:39:05 +00:00