Commit Graph

3723 Commits

Author SHA1 Message Date
Chris Hennes
3d65ae46d5 Merge pull request #23746 from 3x380V/cmake
CMake: Use scoped include and library directories
2025-09-10 21:54:51 -05:00
FEA-eng
689740d3d3 Sketcher: Remove redundant title case from task panel option of the Mirror tool (#23822)
* Sketcher: Update DrawSketchHandlerSymmetry.h

* [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-09-10 18:07:42 +00:00
Chris Hennes
58a8d589a7 Update translations 2025-09-09 2025-09-10 08:53:41 +02:00
PaddleStroke
dc22fb4b9b Sketcher: Constraint symbol size follow-up (#23590)
* Sketcher: Constraint symbol size follow-up

* Update SketcherSettings.cpp

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

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

* Update SketcherSettingsDisplay.ui

* Update EditModeCoinManager.cpp

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

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

* remove enabled property

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-09 01:00:26 +02:00
wmayer
93db4c7d8a CMake: Replace include_directories with target_include_directories 2025-09-08 19:04:34 +02:00
luzpaz
d9da6c8def Fix various typos
Found via codespell
2025-09-08 00:21:16 -05:00
Chris Hennes
325730dd9c Merge pull request #23384 from 3x380V/units
Base: Units update
2025-09-07 20:22:54 -05:00
theo-vt
eab485656f Sketcher: fix invalid constraint on first dimension (#23024)
* Sketcher: Scale: Reorder operations and delete original modified constraints to ensure validity

* Sketcher: replace boolean parameters for deletion with enum and expose solver override on some deletion functions in the python API

* Use correct flag in ::delGeometry

* Set default value of false to noSolve

* Sketcher: autoscale: use deleteAllGeometry

* Sketcher: Scale: revert to checking constraints for geoId validity and handle horizontal&vertical
2025-09-07 18:03:15 +02:00
Ladislav Michl
01b547912f Base: QuantityFormat: avoid storing formatting defaults
User defined precision and fractional inch are stored on QuantityFormat
construction making changes persistent to object life time.
Change that so until not explicitely overriden, user defined values
are always returned.

Co-authored-by: Matthias Danner <28687794+matthiasdanner@users.noreply.github.com>
2025-09-05 17:31:54 +02:00
Chris Hennes
fd20bdd6d8 Update translations 2025-09-03 2025-09-04 11:37:11 +02:00
George Peden
eef738b312 Feature/sketcher constraint symbol size (#23366)
* Sketcher: Initial wiring up of independent contraint symbol size.

* Sketcher: Align constraint symbol size controls with other preferences

- Refactored the Sketcher preferences UI to place the "Constraint symbol size" checkbox and spinbox in separate grid columns, matching the layout of other settings.
- Ensured the spinbox aligns visually with other value fields for a more consistent and professional appearance.
- Preserved the enable/disable behavior of the spinbox based on the checkbox state.

* Update constraint size label

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

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

* style: simplify constraint icon size logic and remove stray blank line

* Sketcher: optional constraint symbol size defaults to font size preference (per PR comment)

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-02 22:58:56 -05:00
tetektoza
7c4131c4ef Sketcher: Disable autoscale if new constraint value is below precision
As the title says - we can get into a scenario where user can specify
constraint equal to 0.0, or similar small value and the scale factor
will become 0 as well, resulting in all geometry trying to be rescaled
to degenerate geometry.

So this patch filters those values out, and bails out from auto-scaling
leaving only solver to handle this value.
2025-09-01 10:55:12 -05:00
Chris Hennes
e706122bbb Update translations 2025-08-30 2025-09-01 17:44:54 +02:00
matthiasdanner
6d5800c862 Sketcher: Fix Assertion Crash when selecting a Constraint in a group (#23491)
* Sketcher: Fix Assertion Crash when selecting a Constraint in a group

* Update src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp

---------

Co-authored-by: Matthias Danner <28687794+matthiasdanner@users.noreply.github.com>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-09-01 06:28:13 +00:00
Chris Hennes
2f9f8eda18 Merge pull request #22998 from Rexbas/prevent-showing-context-menu
Navigation: Prevent showing context menu after panning or rubber band selection
2025-08-31 22:41:05 -05:00
tetektoza
66e099aedb Merge pull request #23192 from tetektoza/fix/22253_fix_losing_expression_during_sketcher_tools_usage
Sketcher: Copy expressions when rotating/moving geometry
2025-08-31 20:12:22 -05:00
Bas Ruigrok
e469eb5ccb Sketcher: Cancel rubber band selection with RMB
Cleanup
2025-08-31 18:36:38 -05:00
Bas Ruigrok
39329e547f Sketcher: Don't show the context menu after rubber band selection 2025-08-31 17:24:28 -05:00
tetektoza
7b85239093 Sketcher: Use different colors for touch/window selection (#23261)
* Sketcher: Use different colors for touch/window selection

As the title says. I think it was missing, so currently right to left
motion makes the box selection in Sketcher green with dashed lines,
whereas motion from left to right makes it blue with solid lines.

* [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-08-31 21:36:24 +02:00
tetektoza
3b76d77ed8 Sketcher: Introduce Select All (Ctrl + A) (#23289)
* Sketcher: Introduce Select All (Ctrl + A)

As the title says, this allows selecting all geometries on the sketch
with CTRL + A shortcut, plus also allows to select "Select All" option
from Edit menu.

* Sketcher: Use fmt instead of std::stringstream in selectAll

* Sketcher: Fix typo in selectAll

Co-authored-by: João Matos <joao@tritao.eu>

---------

Co-authored-by: João Matos <joao@tritao.eu>
2025-08-29 16:52:43 +02:00
Chris Hennes
b1b97e44f1 Update translations 2025-08-28 16:14:49 +02:00
PaddleStroke
8b9ad3b509 Sketcher: Circle DSH: move diameter constraint. Fix #22267 (#22862)
* Sketcher: Circle DSH: move diameter constraint. Fix #22267

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

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

* Improve. To squash

* [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-08-25 21:37:37 -05:00
tetektoza
9f04f5f371 Sketcher: Set total angle to make evaluation choose it when typing in OVP (#23193)
* Sketcher: Set total angle to make evaluation choose it when typing in OVP

When typing an angle value (e.g., "315 deg") in the sketcher rotate tool,
the result differed from manually moving the mouse to achieve the same rotation.
The angle would "flip" to equivalent but opposite directions (315 deg became -45 deg)
due to smart angle selection logic choosing the "closer" alternative.

The parameter enforcement system (`doEnforceControlParameters`) calculated cursor
positions for keyboard input but never directly set the `totalAngle` value.
The mouse logic's smart angle selection algorithm then calculated totalAngle
independently, potentially choosing equivalent but opposite angle directions
(e.g., -45 deg instead of +315 deg) based on proximity to the previous angle value.

Solution is to basically predefine `totalAngle` if user has typed it so
this "smart logic" will always choose the `totalAngle` that user typed.

* Sketcher: Set total angle for arc tool

* Sketcher: Set total angle for Arc Slot tool
2025-08-25 11:10:17 -05:00
paddle
e2346dabd6 Sketcher: Port and fix internal faces from RealThunder's branch
Co-authored-by: Zheng Lei <realthunder.dev@gmail.com>
Co-authored-by: Kacper Donat <kacper@kadet.net>
Co-authored-by: Pierre-Louis Boyer <pierrelouis.boyer@gmail.com>
2025-08-25 17:09:10 +02:00
PaddleStroke
150e6c9b99 Sketcher: fix constraint icon size (#22940)
* Sketcher: fix constraint icon size

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

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

* [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-08-25 15:59:46 +02:00
tetektoza
9bff63e38d Sketcher: Fix construction lines becoming solid after box selection
Currently if user tries to use box selection while having transformed
normal line to a construction line, the line becomes solid unless it
gets moved or new geometry is created.

The root cause of that is the `draw(true, false)` call which uses
outdated solver geometry where construction=false is being specified.
Solver updates lazily, which results in construction lines in normal
sublayer instead of construction.

So, this patch changes it to `draw(false, false)` after box selection.
This ensures the redraw uses current SketchObject geometry with
up-to-date construction flags. This should be safe, as box selection is
purely visual and we do not need geometry calculations in this
operation.
2025-08-24 22:48:14 -05:00
matthiasdanner
19a082b63c Sketcher: Fix constraint selection in groups (#22937)
* Fix constraint selection in groups

* include paddlestrokes refactoring and fix for more than 2 constraints in a group

---------

Co-authored-by: Matthias Danner <28687794+matthiasdanner@users.noreply.github.com>
Co-authored-by: PaddleStroke <pierrelouis.boyer@gmail.com>
2025-08-24 22:08:32 -05:00
Max Wilfinger
9fc40b33de Fix source string mistakes reported on Crowdin (#23157)
* Fix source string mistakes reported on Crowdin

* Update src/Mod/Draft/Resources/ui/TaskPanel_CircularArray.ui

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/Resources/ui/TaskPanel_CircularArray.ui

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/draftfunctions/upgrade.py

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/draftfunctions/upgrade.py

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/draftguitools/gui_downgrade.py

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/Resources/ui/TaskPanel_SetStyle.ui

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

---------

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>
2025-08-24 20:51:32 -05:00
PaddleStroke
fc463ee5d7 Sketcher: Revert DPI adjustment error #22941 (#23237)
* Revert #22941

* [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-08-20 15:25:32 +02:00
Valentin Rusu
1c67ab7be2 Fix segfault where DatumLine does not have a refSubSHape 2025-08-19 11:54:32 +02:00
PaddleStroke
569deff94d Sketcher: Coinmanager: remove dpi (#22941)
* Sketcher: Coinmanager: remove dpi

* [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-08-18 11:06:37 -05:00
Chris Hennes
3e1cc8302a Update translations 2025-08-18 17:55:24 +02:00
captain0xff
ed770bf849 Sketcher: fix cropping of some icons on hidpi screens 2025-08-18 01:02:13 +02:00
Matthias Danner
a7b501c95c remove edit value option from non dimensional constraints 2025-08-15 13:51:14 +02:00
PaddleStroke
78b4e4211c Sketcher: Move root point to a SoSkipBoundingGroup (#22874) 2025-08-11 14:09:15 -03:00
paddle
35f151d99e Sketcher: Refactor TaskSketcherMessages to move most of the logic into Core to be reused by Assembly 2025-08-10 15:17:35 +02:00
paddle
ccb28af4a1 Sketcher: Rename "Solver messages" to "Sketch edit". Add setting button to the solver message box. In which there're grid, snap and ordering widgets. 2025-08-10 15:15:53 +02:00
Matthias Danner
2477b9a976 Fix crash on set constraints to virtual space
Reverting fix for show only filtered constraints
2025-08-09 13:59:17 -05:00
Bas Ruigrok
7dbb67cbe8 Sketcher: Add missing finishEditing() for points 2025-08-08 06:49:14 -05:00
Max Wilfinger
764b9cca0e Sketcher: Fix UI strings
Closes: #22770
2025-08-04 20:13:04 +02:00
luzpaz
f73e863a02 Fix various typos (#22836)
* Fix various typos
Found via codespell

* [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-08-04 11:14:15 -05:00
Johannes Wüller
3321b13218 Sketcher: Fix external geometry out-of-bounds vector access (#22181)
* Sketcher: Fix external geometry out-of-bounds vector access

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
Co-authored-by: Ajinkya Dahale <AjinkyaDahale@users.noreply.github.com>
Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>
2025-07-29 18:36:17 +00:00
theo-vt
2da7c9ff17 Sketcher: Change the style of the curves in creation to match the construction/defining flag (#22407)
* Sketcher: Change EditCurvesDrawStyle to match either CurvesDrawStyle or CurvesConstructionDrawStyle in editDraw()

* Match color as well

* Match pattern scale as well

* Use enum instead of boolean flag

* Update src/Mod/Sketcher/Gui/Utils.h

---------

Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-07-28 02:33:25 +00:00
Kacper Donat
4823ccb6a1 Merge pull request #22736 from chennes/sketcherCodeQLCleanup
Sketcher CodeQL cleanup
2025-07-26 11:21:53 +02:00
Chris Hennes
29da89febd Sketcher: Clean up some old commented out code 2025-07-25 19:12:30 -05:00
Chris Hennes
cdf0097dec Sketcher: Fix increment of parabola constraint tag
It is an invisible and unstated assumption of the redundant-constraint
removal code that the "tag" of a constraint can be used as the index
into the SketchObject's Constraint list. This is true for all objects
except a parabola, which, when creating its internal alignment focus
constraints, incremented the ConstraintCounter for *each* of the
internal constraints, instead of only once.
2025-07-25 22:03:10 +02:00
Luz Paz
9efd70ffa4 Fix various source comment typos
Found via codespell
2025-07-25 10:25:54 -05:00
Chris Hennes
3679a2adca Sketcher: Extract "processFace" function
Tool-aided refactor, no functional changes.
2025-07-25 10:08:29 -05:00
Chris Hennes
403056fa20 Sketcher: Resolve "Declaration hides variable"
Reduce some code duplication via helper method.
2025-07-25 09:48:34 -05:00
Chris Hennes
ab91372e28 Sketcher: Resolve "Type confusion" CodeQL critical warning 2025-07-25 09:21:43 -05:00