Commit Graph

33385 Commits

Author SHA1 Message Date
Rodrigo Olaya Moreno
ae3a575dba Fix RGB rounding bug in material appearance editor (#26134)
* Fix RGB rounding bug in material appearance editor
* Update code to use color
* getColorHash no longer needs range
2025-12-23 20:20:16 -06:00
Chris
a456a0b739 sketcher: fix issue #25992 keep snapped position when releasing mosue for updated sketch points (#26102)
* sketcher: fix issue #25992 keep snapped position when releasing mosue for updated sketch points

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

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-12-23 20:06:51 -06:00
sliptonic
1ffe8a9fef CAM: Fix pure vertical linking move (#26195) 2025-12-23 12:19:32 -06:00
sliptonic
37923948bf Merge pull request #26316 from tarman3/millfacing_icon
CAM: MillFacing - Fix icon active state
2025-12-23 10:58:30 -06:00
sliptonic
7038666753 Merge pull request #26413 from MTronics/issue_#26343_CAM_relation_to_stock_gets_lost
Issue #26343: CAM Tasks panel ignores selected Stock
2025-12-23 10:21:45 -06:00
sliptonic
9caa20b9eb CAM: fix tolerance issue with hole detection (#26404) 2025-12-23 09:12:52 -06:00
sliptonic
270dbcd8dc Merge pull request #26409 from Connor9220/ToolbitsUnitsMigration
CAM: Add migration for Toolbit Units property
2025-12-23 09:08:06 -06:00
Roy-043
127a862023 BIM: ifc_tools.py fix handling of IfcGridAxis
Fix errors found after this linter warning:
https://github.com/FreeCAD/FreeCAD/pull/26219/changes#diff-2f58fe8ffd31a6d9302296668f6280d27d696e1507b259cc42fde224ef10da0eL759
2025-12-23 14:04:46 +00:00
pre-commit-ci[bot]
8e97719f40 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-12-23 12:07:53 +00:00
MTronics
819278c91b Issue #26343: CAM Tasks panel ignores selected Stock
The current code in \src\Mod\CAM\Path\Main\Gui\Job.py (line 719) ignores selected stock selections. In case of e.g. cloned stock objects it defaults to the first item in the combolist, showing a wrong stock selection.

The cause lies in comparing different strings to find a label match, but one string object is generic (short name) while the other one has a suffix created during the clone process. The strings never match and the ridgid string comparison fails. I recommend using a partial (needle in haystack) string comparison.
2025-12-23 12:48:14 +01:00
Billy Huddleston
94153a6a7f CAM: Add migration for Toolbit Units property
This PR adds migration for toolbit units by automatically infering the
Units (Metric/Imperial) from toolbit parameter strings and sets the
Units property if missing. It adds a utility function to detect units
from JSON. This is done at the JSON level during migration to ensure
that all toolbits have the correct Units property set.

src/Mod/CAM/Path/Tool/toolbit/migration.py:
- Infer Units from parameter strings if not set during migration
- Set Units property and log inference
- Refactor migration logic for clarity and reliability

src/Mod/CAM/Path/Tool/toolbit/models/base.py:
- Use Path.Log.debug instead of print when adding Units property

src/Mod/CAM/Path/Tool/toolbit/util.py:
- Add units_from_json() to infer Metric/Imperial from parameter strings
2025-12-23 00:32:47 -05:00
PaddleStroke
224eeb070c Assembly: Fix deletion of joint references to bodies 2025-12-22 22:08:07 -06:00
sliptonic
3ee17d33ac Merge pull request #22304 from tarman3/taskpanel
CAM: Task panel - Select shapes from several objects
2025-12-22 17:07:37 -06:00
sliptonic
d185387958 Merge pull request #23149 from Dimitris75/OCL-Adaptive
CAM: Add OCL Adaptive Algorithm to Waterline Operation
2025-12-22 16:47:54 -06:00
sliptonic
42c096d2bd Merge pull request #25049 from phaseloop/v-routing
CAM: improved VCarve routing using "virtual edge backtracking"
2025-12-22 16:44:13 -06:00
sliptonic
bacaec50f7 Merge pull request #24819 from tarman3/copyOp
CAM: OperationCopy - Allow for all and Recursive copy Dressup
2025-12-22 16:41:36 -06:00
sliptonic
615e0041be Merge pull request #24872 from tarman3/toggle_operation
CAM: ToggleOperation - Allow for Job and Operations group
2025-12-22 16:41:05 -06:00
wandererfan
2ea1f99367 [TD]fix handling of non-standard page sizes 2025-12-22 18:46:32 +01:00
marbocub
4bb84c87f1 Fix rotation expression errors in handleLegacyTangentPlaneOrientation() (#26058)
* Fix rotation expression handling

- Make added rotation angle unit the same as the original expression unit
- Keep rotated angle expressions within the accepted [-180, +180] range
2025-12-22 11:18:00 -06:00
Kacper Donat
9876a5acc9 PartDesign: Revolution - add FuseOrder
In older versions of FreeCAD the boolean order was base + result. After
TNP mitigation the order was changed to be result + base. For the
resulting shape that does not matter, but order of edges can differ if
arguments are in a different order.

This can impact refine algorithm which may pick other face as the base
one and result in a differnt shape after refining. This commit restores
previous order. For most files it should not make any difference, but it
may fix some older files.

To support all cases we introduce FuseOrder compatibility property that
will be set to FeatureFirst for files saved with 1.0 to preserve
behavior.
2025-12-22 11:17:27 -06:00
wandererfan
dcf9e34bbc [TD]fix tearing of page edges 2025-12-22 11:16:15 -06:00
Roy-043
09c9141f9e Part: fix Part_EditAttachment unitless input error (#25923) 2025-12-22 11:12:46 -06:00
Florian Foinant-Willig
5a61610689 fix %r format spec 2025-12-22 11:04:47 -06:00
marbocub
b9e8370404 Sketcher: add reverse mapping correction to Carbon Copy (#25745)
* Sketcher: add reverse mapping correction to Carbon Copy

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

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

* Replace M_PI with std::numbers::pi

* Replace vector initialization with Base::Vector3d::UnitX/UnitY, apply suggestions from code review

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

* Fix guard clause logic, apply suggestions from code review

* Replace std::numbers::pi with pi via `using std::numbers`

* Fix issues reported by the linter

---------

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-12-22 15:00:49 +01:00
chris
e660ca5a29 partdesign: pd: fix for issue #25794 2025-12-22 14:58:07 +01:00
Chris
37a83a48b9 Part Design: Add sketch sub element names for refs in revolutions (#26227)
* part design: partdesign: pd: fix regression issue #26223 add sketch sub element names for refs in revolutions

* refractor code to remove else blocks as every condition has a return statement, make lsp happy
2025-12-22 14:56:53 +01:00
Alfredo Monclus
111c6df9b0 PartDesign: fix hole clearance not appearing in the taskpanel when switching type 2025-12-22 14:56:09 +01:00
Alfredo Monclus
35bcb14d89 PartDesign: fix thread depth not shown in taskpanel 2025-12-22 14:55:45 +01:00
Chris Hennes
9e5e52c0ff PD: Fix missing silent mode check in GetTopoShapeVerifiedFace
Also ensure that all calls to this method actually verify the result.
2025-12-22 14:34:25 +01:00
Furgo
28fb82fac4 BIM: incremental UX improvements, iteration 1 (#25147) 2025-12-22 13:34:56 +01:00
Kacper Donat
ffd4487f6d PartDesign: Chamfer - migrate Size and Size2 for older files (#26137)
* PartDesign: Chamfer - migrate Size and Size2 for older files

* Apply suggestions from code review

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-12-22 11:52:55 +00:00
freecad-gh-actions-translation-bot
310419d45e Update translations from Crowdin 2025-12-22 12:40:21 +01:00
Louis Gombert
7eaff5f20f Part: clean mesh before adding triangulation in setupCoinGeometry
Calling BRepMesh_IncrementalMesh repeatedly would accumulate BRep_CurveRepresentation instances attached to the BRep_TEdges of the shape. We now clean added triangulations before adding a new one, which improves performance in the long run.

Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-12-22 12:01:18 +01:00
Roy-043
584614bb01 BIM: fix deletion of BuildingPart in strict IFC mode (#26219)
* BIM: fix deletion of BuildingPart in strict IFC mode

Add `sg = FreeCADGui.ActiveDocument.ActiveView.getSceneGraph()` to `onDelete`.

* BIM: fix deletion of BuildingPart in strict IFC mode

Explicitly call `obj.ViewObject.Proxy.attach(obj.ViewObject)`.

* BIM: fix deletion of BuildingPart in strict IFC mode

In `ifc_vp_buildingpart` call `attach` from `ArchBuildingPart.ViewProviderBuildingPart`.
2025-12-21 20:16:17 -06:00
Chris
dc896b58ca Sketcher: Allow live preview of sketch placement (#26033)
along with unit tests
2025-12-21 17:34:30 +01:00
Furgo
f0e4be61fe BIM: Initialize SketchArch variable before use (#26336) 2025-12-21 10:36:35 +01:00
Furgo
e9d2822add BIM: fix lock removal of Sill property 2025-12-21 10:27:12 +01:00
Furgo
ab16aa0161 BIM: rename ArchWindow's Sill property to SillHeight and handle one-w… (#26277)
* BIM: rename ArchWindow's Sill property to SillHeight and handle one-way migration

* BIM: properly remove the locked "Sill" property
2025-12-20 22:26:52 +01:00
Louis Gombert
9b827c0436 SVG export: improve performance (#26149)
* SVG export: use a set to match edges instead of a list

Lookup in edge list becomes O(1), significantly improving SVG export speed

* [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-12-20 22:23:55 +01:00
tarman3
9f7861135d CAM: Array - Fix ViewProviderArray and icon 2025-12-20 10:45:20 +02:00
tarman3
e4ee222ae6 CAM: MillFacing - Fix icon active state 2025-12-20 10:17:56 +02:00
Chris Hennes
746cd9a944 Addon Manager: Update to 2025.12.19
Minor bug fixes and translation update.
2025-12-20 06:58:03 +01:00
Roy-043
3461e0fed7 Part: fix Part_EditAttachment nesting handling (#26298)
* Part: fix Part_EditAttachment nesting handling

Fixes #26264.

The previous 'fix' (#25887) did not consider that the object to-be-attached may not be in the global space.

The code in this PR has been tested on the forum:
https://forum.freecad.org/viewtopic.php?p=862968#p862968

* [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-12-19 20:40:37 -06:00
chris
b1e6730da8 sketcher: fixes issue #26167 no polygon distort when repositioning / constraining 2025-12-19 11:22:20 +01:00
Yash Suthar
e5b3d5a6da Part: added floating point fallback in PropertyLinks::_updateElementReference
Signed-off-by: Yash Suthar <yashsuthar983@gmail.com>
2025-12-19 10:52:26 +01:00
sliptonic
de7c2359ac Merge pull request #26260 from Connor9220/UpdateTSPSolver
CAM: Add open-route optimizations to point-based TSP solver
2025-12-18 16:11:32 -06:00
Billy Huddleston
79aa87c593 CAM: Add open-route optimizations to point-based TSP solver
Improves the point-based TSP solver to match tunnel solver behavior
for open routes (no endpoint constraint). Now applies 2-opt and
relocation optimizations that allow reversing or relocating segments
to the end of the route, resulting in better path optimization when
the ending point is flexible. Now links tsp_solver with
Python3::Python and uses add_library for compatibility with FreeCAD
and Fedora packaging.

src/Mod/CAM/App/tsp_solver.cpp:
- Add optimization limit variables for controlled iteration
- Add 2-opt and relocation optimizations for open routes
- Use Base::Precision::Confusion() for epsilon values
- Track last improvement step for efficient loop control

src/Mod/CAM/App/CMakeLists.txt:
- Switch tsp_solver from pybind11_add_module to add_library
- Link tsp_solver with pybind11::module and Python3::Python
- Update include directories for consistency
2025-12-18 12:15:22 -05:00
PaddleStroke
9697e11c4b Measure: getPlacement const (#26216)
* Measure: getPlacement const

* Update MeasureBase.h

* Update MeasureBase.cpp

* Update MeasureArea.h

* Update MeasureArea.cpp

* Update MeasureLength.h

* Update MeasurePosition.cpp

* Update MeasureLength.cpp

* Update MeasureRadius.cpp

* Update MeasurePosition.cpp

* Update MeasurePosition.h

* Update MeasureRadius.h

* Update MeasurePosition.h
2025-12-18 14:04:32 +01:00
Kacper Donat
2ea7c39563 Compiler warning cleanup (#26229)
* App: Compiler warning cleanup

* Gui: Compiler warning cleanup

* Assembly: Compiler warning cleanup

* Measure: Compiler warning cleanup

* Sketcher: Compiler warning cleanup

* TechDraw: Compiler warning cleanup

* PartDesign: Compiler warning cleanup
2025-12-18 07:50:26 +01:00
freecad-gh-actions-translation-bot
9b07585b88 Update translations from Crowdin 2025-12-17 21:10:10 -06:00