Commit Graph

679 Commits

Author SHA1 Message Date
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
Valentin Rusu
1c67ab7be2 Fix segfault where DatumLine does not have a refSubSHape 2025-08-19 11:54:32 +02: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
Chris Hennes
29da89febd Sketcher: Clean up some old commented out code 2025-07-25 19:12:30 -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
Ajinkya Dahale
114d3dcd87 Sketcher: Improve constraint transfer in SketchObject::trim()
Provide new geos to `deriveConstraintsForPieces` manually, since they are
not (and likely cannot be at time of calling) added to the sketch. This will
make sure that the method has sufficient information to properly transfer/create
new constraints.
2025-07-19 03:25:38 +05:30
Ajinkya Dahale
018ac7b9dd Sketcher: Skip checks in deriveConstraintsForPieces when risky
Possibly fixes #22352.

It is possible to call the method when new geos are not yet created or added to
the sketch. In such cases, the values obtained can be "dirty", and is likely a
seg-fault.
2025-07-19 03:25:38 +05:30
theo-vt
b0dcce6c66 Sketcher: Only autoscale if the datum being edited is the scale defining datum (#22419) 2025-07-18 09:58:30 -05:00
theo-vt
c8bddd2f2b Sketcher: assign the old geometries' GeometryId[s] to new geometries after scaling (#22263)
* Reassign facade ids after scale operation if deleting geometries

* Fix failing CI
2025-07-14 17:39:03 +02:00
Fermín Olaiz
1881686e72 Fix crash on out-of-bound vector access (#22397) 2025-07-09 19:07:11 +02:00
Max Wilfinger
cf082f7642 Sketcher: Update UI strings for consistency (#22167)
* Sketcher: Update UI strings for consistency

* Update src/Mod/Sketcher/App/Sketch.cpp

Co-authored-by: Ryan K <114723629+ryankembrey@users.noreply.github.com>

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

Co-authored-by: Ryan K <114723629+ryankembrey@users.noreply.github.com>

* Update src/Mod/Sketcher/App/SketchObject.cpp

Co-authored-by: Ryan K <114723629+ryankembrey@users.noreply.github.com>

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

Co-authored-by: Ryan K <114723629+ryankembrey@users.noreply.github.com>

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

Co-authored-by: Ryan K <114723629+ryankembrey@users.noreply.github.com>

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

Co-authored-by: Ryan K <114723629+ryankembrey@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Ryan K <114723629+ryankembrey@users.noreply.github.com>

* Apply suggestions from code review

* Apply suggestions from code review

---------

Co-authored-by: Ryan K <114723629+ryankembrey@users.noreply.github.com>
2025-06-30 22:51:46 +00:00
Chris Hennes
484904e9e1 Sketcher: Remove redundant checks
Also cleanup missing curly braces.
2025-06-20 22:48:31 +02:00
Chris Hennes
ac51f11660 Sketcher: Remove dead code 2025-06-20 22:41:59 +02:00
paddle
2161725848 Part: FaceMakerRing from RealThunder's branch.
Co-authored-by: Zheng Lei <realthunder.dev@gmail.com>
Co-authored-by: Pierre-Louis Boyer <pierrelouis.boyer@gmail.com>
2025-06-16 10:33:35 -05:00
theo-vt
353c4eca55 Sketcher: Sketch autoscale (#21084)
* Working scale prototype

* Call viewAll to fit geometries in the viewport post-scaling

* Exclude angle dimensions

* Scale the viewport rather than calling viewAll

* Scale dimension annotation along geometries

* Early return when counting more than one dimensional constraint

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

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

* Disable sketch autoscale if there are external geometries in the sketch

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

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

* Add a setting to disable the feature _ and eventually parametrize

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

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

* Check for objects in the viewport in the sketch's ancestry to decide wheter or not to autoscale

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

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

* More consistent camera scaling

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

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

* Check for visual indicator in the whole document

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

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

* Find visible items in nested assemblies

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

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

* Check visual elements in assemblies nested in assemblies

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

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

* Set the dimension even if the scaling fails

* Allow constraints that interact with the origin axis/root

* Remove unused variable

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

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

* Misc fixes from review

* [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-06-09 18:31:44 +02:00
theo-vt
13e7952ccc PartDesign: Fix hole centered on point edge case (#21257)
* Light refactor of getTopoShape function

* Fix hole edge case

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

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

* Update src/Mod/Part/App/PartFeature.cpp

Co-authored-by: Kacper Donat <kadet1090@gmail.com>

* Update src/Mod/Part/App/PartFeature.cpp

Co-authored-by: Kacper Donat <kadet1090@gmail.com>

* Update src/Mod/Part/App/PartFeature.cpp

Co-authored-by: Kacper Donat <kadet1090@gmail.com>

* Update src/Mod/Part/App/PartFeature.cpp

Co-authored-by: Kacper Donat <kadet1090@gmail.com>

* Refactor simplifyCompound()

* Use Base::Flags<GetShapeOption>

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

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

* Shorten enum name and move it from class scope to namespace scope

* [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>
Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-05-29 22:37:54 +02:00
mosfet80
41c750be47 Sketcher: Remove unused variables (#21504)
removed unused variables
2025-05-25 00:19:46 +02:00
jffmichi
46a11b6538 Sketcher: remove surplus push_back to shapes (fixes #21499) 2025-05-22 06:24:47 +02:00
Ajinkya Dahale
1cfb85a71f Sketcher: Incorporate comments from #20589
See https://github.com/FreeCAD/FreeCAD/pull/20589#pullrequestreview-2830404892.
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
a280cacb93 Sketcher: clean up import 2025-05-19 20:24:17 +02:00
Ajinkya Dahale
b7d8ed25be Sketcher: Remove some unused lambda captures 2025-05-19 20:24:17 +02:00
Ajinkya Dahale
c3c7e8d33f [Sketcher] Refactor SketchObject::delAllExternal()
Trivial changes.
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
07bce810ae [Sketcher][WIP] Refactor SketchObject::buildShape() 2025-05-19 20:24:17 +02:00
Ajinkya Dahale
1cc0ca0a3b [Sketcher] Use std::ranges in SketchObject where possible 2025-05-19 20:24:17 +02:00
Ajinkya Dahale
215fbc5187 [Sketcher] Refactor SketchObject::split() 2025-05-19 20:24:17 +02:00
Ajinkya Dahale
ace0c57dd6 [Sketcher][WIP] Refactor SketchObject::addExternal() 2025-05-19 20:24:17 +02:00
Ajinkya Dahale
8a1c4526bd [Sketcher] Refactor SketchObject::toggleExternalGeometryFlag()
Doesn't seem to be used anywhere. Remove?
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
3425eebfdc [Sketcher][WIP] Refactor SketchObject::generateId()
Should be just the same old loop and conditional rearrangement. However, not
confident that this behaves exactly the same as previously.
2025-05-19 20:24:17 +02:00
Ajinkya Dahale
82610ca8fa [Sketcher] Use replaceGeometries() in split 2025-05-19 20:24:17 +02:00
PaddleStroke
4c8fadd68d Core: restoreContent not restoring expressions (#21152) 2025-05-06 12:02:35 -05:00
bofdahof
998f4e4d45 Console: rename PascalCase named methods to camelCase 2025-05-06 17:50:21 +02:00
Ladislav Michl
c293d74566 Base: rename Exception's PascalCase methods to camelCase 2025-05-05 23:50:01 +02:00
Benjamin Nauck
3f79626799 Sketcher: Fix 513269 Variable copied when it could be moved 2025-05-03 23:38:05 +02:00
Benjamin Nauck
47a43e21b2 Sketcher: Fix · · ·
532547 Variable copied when it could be moved
2025-05-03 23:38:05 +02:00
Benjamin Nauck
6b87d7df22 Sketcher: Fix 512328 Use of auto that causes a copy 2025-05-03 23:38:05 +02:00
Benjamin Nauck
70d11e33dc Sketcher: Fix 529853 Variable copied when it could be moved 2025-05-03 23:38:05 +02:00
Benjamin Nauck
be264928fc Sketcher: Fix 515688, 513858, 515692, Variable copied
# Conflicts:
#	src/Mod/Sketcher/App/SketchObject.cpp
2025-05-03 23:38:05 +02:00
Benjamin Nauck
7f49a4e668 Sketcher: Fix 513105 Variable copied when it could be moved 2025-05-03 23:37:26 +02:00
Benjamin Nauck
de17a7acee Sketcher: 532658 Use of auto that causes a copy
Also fixes 532658
2025-05-03 23:37:26 +02:00
Benjamin Nauck
6adebe348e Sketcher: Fix 512301 Variable copied when it could be moved 2025-05-03 23:37:26 +02:00
Benjamin Nauck
53b9c54f97 Sketcher: Fix 512831 Variable copied when it could be moved 2025-05-03 23:37:26 +02:00
Benjamin Nauck
78e2a12d2d Sketcher: Fix 463717 Variable copied when it could be moved 2025-05-03 23:37:26 +02:00
Ajinkya Dahale
350a416708 Sketcher: Avoid an unnecessary geometry update when trimming 2025-04-28 11:11:57 -05:00
Ajinkya Dahale
5efb8e5e76 Sketcher: Add check for validity of geometry when trimming
Possibly solves #19425.
2025-04-17 15:37:42 +02:00
PaddleStroke
755cabc5ba Sketcher: Refactor SketchObject::Fillet() (#20544)
* Sketcher: Refactor SketchObject::Fillet()

* Update Geometry.h

* Update Geometry.cpp

* Update SketchObject.cpp

* Fix line-circle tangent issue

* Replace M_PI

* Update Geometry.cpp

* Update Geometry.cpp

* Update src/Mod/Part/App/Geometry.cpp

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>

* Update Geometry.cpp

---------

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-04-15 20:01:31 +02:00
Kacper Donat
b300c80b90 Base: Use explicit pointer syntax for freecad_cast (#20694)
* Base: Use explicit pointer syntax for freecad_cast

This aligns our custom cast with other casts

* All: Use explicit pointer syntax for freecad_cast
2025-04-11 14:11:33 +00:00
Ajinkya Dahale
23ecf94ab6 [Sketcher] Make trimmed curve(s) construction based on original 2025-04-10 09:20:18 +02:00
Ajinkya Dahale
08a66afbc8 [Sketcher] Add missing check when transforming constraints for trim
Fixes https://github.com/AstoCAD/FreeCAD/issues/24.
2025-04-10 09:20:18 +02:00