Commit Graph

42022 Commits

Author SHA1 Message Date
Petter Reinholdtsen
fdd8e46c4d CAM: Avoid adding trailing space to all M6 lines.
The Fanuc post processor add a trailing space to all M6 lines.
This make it problematic to write test for the generated output,
when compiled with the automatic policy enforcer on github
removing trialing space from the expected output.  Avoid the
problem by removing the trailing space from the generated
output.
2025-12-11 00:57:21 +01:00
Petter Reinholdtsen
6710ad6e9d CAM: Corrected Fanuc post processor M3 handling
The thread tapping implementation in the Fanuc post processor change
behaviour of M3, G81 and G82 when the tool ShapeID matches "tap".
but the code not not expect that the parse() method will be
called with two different classes as arguments.

Rewrite the M3 handling to handle ToolController arguments
instead of crashing with an AttributeError.

Issues:

Fixes #14016
Fixes #25723
2025-12-11 00:57:21 +01:00
Petter Reinholdtsen
14ff081eba CAM: Switch Fanuc post processor default for M6T0 to disable by default. 2025-12-11 00:57:21 +01:00
Petter Reinholdtsen
5e55d55655 CAM: Made empty spindle at the end optional in Fanuc CAM post processing script
Some Fanuc machines do not understand the 'M6 T0' instructions in the
preamble.  Move it out of the preamble and controlled by a new
command line argument --no-end-spindle-empty for the machines
where running to cause a "Tool Number Alarm" and the program to crash
as tool zero is not a valid tool.

Fixes: #25677
2025-12-11 00:57:21 +01:00
Petter Reinholdtsen
4978c7369d CAM: Adjusted Fanuc post processing script to always start with a percent
The percent signal to the machine that a program follows, and is not
part of the header but a required part when uploading programs into
the machine.
2025-12-11 00:57:21 +01:00
Petter Reinholdtsen
aff382e9d1 CAM: Adjusted Fanuc post processing script to not inherit behaviour between calls
Reset line number when using --line-numbers.  Restore all default values when a
command line argument is not used.

This helps the test scripts ensure that the arguments passed during one test is the only
one taking effect during this test.
2025-12-11 00:57:21 +01:00
Petter Reinholdtsen
28ae99501b CAM: Print "Show editor" status boolean as string, not integer
This get rid of a Python style warning and make the output easier
to understand.
2025-12-11 00:57:20 +01:00
PaddleStroke
eb25021f39 Core: Add getPlacementOf replacing previous getGlobalPlacement logic. (#26059)
* Core: Add getPlacementOf replacing previous getGlobalPlacement logic.

* Update src/App/DocumentObject.cpp

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

* Update DocumentObject.cpp

* Fix error when called from python with targetObj == None

---------

Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-12-10 22:47:20 +01:00
Kacper Donat
a23ccfffff Stylesheets: Fix toolbar button size change 2025-12-10 20:15:34 +01:00
Yash Suthar
0e37f240de Link: Fixed Scale property behaviour when the object is moved
Signed-off-by: Yash Suthar <yashsuthar983@gmail.com>
2025-12-10 20:13:56 +01:00
Chris Hennes
8d0e0a4763 PD: Add deprecation warning if Midplane is set 2025-12-10 12:42:13 +01:00
jffmichi
431f0408da CAM: revert accidental icon name change from #25440 2025-12-09 05:53:05 +01:00
freecad-gh-actions-translation-bot
97b9193d71 Update translations from Crowdin 2025-12-08 22:31:48 -06:00
PaddleStroke
78f115fd8a Part: TopoShape make getElementTypeAndIndex more robust (#25913)
* Part: TopoShape make getElementTypeAndIndex more robust
* Part: Add unit tests for new regex

---------

Co-authored-by: Chris Hennes <chennes@gmail.com>
2025-12-08 11:24:13 -06:00
Chris Hennes
fb7df3a62d Merge pull request #25903 from WandererFan/CosVertexCrashInScript
TechDraw: Prevent crash on adding cosmetic feature before geometry created
2025-12-08 11:22:21 -06:00
Syres916
11a0ace103 Merge pull request #25809 from Syres916/HotFix_For_Win_and_Wayland_For_First_Run
[Gui] Hotfix for correcting main window position on first run and Safe Mode on Windows and Wayland
2025-12-08 11:18:58 -06:00
tetektoza
c7d39807df Gui: Fix preferences search popup positioning on Wayland (#25675)
* Gui: Fix preferences search popup positioning on Wayland

Change window flag from `Qt::Tool` to `Qt::ToolTip` to fix popup
appearing in center of screen and closing immediately on Wayland desktop
envs. `Qt::ToolTip` uses xdg_popup protocol which provides proper
positioning relative to parent window on Wayland.

* Gui: Initialize ok check flag to default in prefs

* Gui: Use ranged for loop where possible in prefs

* Gui: Remove unused variable in preferences controller

* Gui: Use const where possible in prefs search dialog

* Gui: Use static where possible in search prefs dialog

* Gui: Use braced initializer list when returning type in search prefs

* Gui: Use auto in search prefs dialog where possible

* Gui: Do not use else if after return in search prefs dialog

* [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-07 11:43:09 +01:00
wandererfan
b5e69c017e [TD]fix CI fail on Win 2025-12-05 18:33:16 -05:00
wandererfan
72f0d60e9e [TD]fix CosmeticVertex fail in script 2025-12-05 18:33:16 -05:00
Chris Hennes
a872e85ab2 Merge pull request #25853 from 3x380V/reimplement_24749
TechDraw: Fix dimension formatter
2025-12-05 16:07:14 -06:00
Frank David Martínez M
9398497a33 Gui: Fix 25974 freecad.gui alias regression (#25975) 2025-12-05 19:03:40 +00:00
Adrian Insaurralde Avalos
1820d17410 Plot: protect matplotlib.pyplot import form PyQt6 too and remove lingering debug print 2025-12-05 10:15:02 -06:00
PaddleStroke
7a75405249 Sketcher: Fix errors message when selecting circle seam point. (#25953) 2025-12-05 07:17:30 +00:00
Sebastian
6b32a1065a Match the string that gets sent to setCommand (#25964)
* Match the string that gets sent to setCommand

Correction of a not matching string that gets sent to setCommand. This results in a not translated menu item in the Sketcher menu.

* [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-05 06:38:17 +01:00
PaddleStroke
5066dfdf0d Sketcher: Offset: Fix failure if 2+ closed wires with different orientations (#25941) 2025-12-04 23:06:01 -06:00
marioalexis
bc040abad1 Fem: Fix undefined variable 2025-12-04 22:51:33 -06:00
Frank David Martínez M
da43de8ae0 [Core] FreeCADInit and FreeCADGuiInit refactoring (#23413) 2025-12-04 11:10:53 -06:00
Chris Hennes
42656afbed Merge pull request #25920 from PaddleStroke/patch-840798
Sketcher: Fix warning when using dimension tool
2025-12-03 13:09:40 -06:00
PaddleStroke
daf8790884 Part: revert changes to ViewProviderExt::getDetails (#25912) 2025-12-03 12:12:27 -06:00
Ladislav Michl
c0a11089a6 Revert "[Base]retrieve unit text"
This reverts both pointless and broken commit c9fffa6789.
2025-12-03 17:43:53 +01:00
Ladislav Michl
53b724c40e TechDraw: Refactor use of Unit Schema values
Quantity's getUserString already returns both factor and unitText.
2025-12-03 17:43:53 +01:00
Ladislav Michl
57977bbdaf TechDraw: Fix MultiValueSchema formatting
Multi Value schemas cannot be forced to use Format::FORMATTED.
2025-12-03 17:17:58 +01:00
PaddleStroke
ddfea2c9e5 Sketcher: dimension tool, use VPSketch version of addSelection 2025-12-03 15:30:44 +01:00
PaddleStroke
54377a71b4 Sketcher: Make VPSketch::addSelection public 2025-12-03 15:29:01 +01:00
Billy Huddleston
07a564f23b CAM: Fix job assignment and model/stock initialization in ObjectOp
This PR fixes a bug introduced with PR #25800
It updates the ObjectOp class to correctly assign the job, model,
and stock properties from the parentJob object. Previously, only
PathUtils.addToJob was called, which did not set these attributes directly.

This change ensures that when creating a new operation, the job, model,
and stock fields are properly initialized from the parent job. This
fixes issues where operations did not inherit the correct job context,
leading to missing or incorrect references to the model and stock, and
potential errors in downstream processing.
2025-12-03 00:23:23 -05:00
Roy-043
867309b0d4 Part: make Part_EditAttachment nesting aware (#25887) 2025-12-02 22:44:55 -06:00
PaddleStroke
a8bb43837e GUI: Fix broken build - splitbutton (#25892) 2025-12-02 20:24:57 -06:00
sliptonic
01e7a56a56 CAM: Suppress rendering of first rapids (#25440) 2025-12-02 12:20:07 -06:00
PaddleStroke
7758a719b0 Assembly CommandInsertNewPart : Make sure assembly file is saved (#25730)
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-12-02 04:30:20 +00:00
PaddleStroke
018981eeec Sketcher: fix new external always construction (#25733) 2025-12-01 21:49:24 -06:00
Frank Martinez
5b4df90f24 Build: Fix some trivial warnings 2025-12-01 20:57:09 -06:00
Billy Huddleston
769a83b3ca CAM: Introduce unified ToolBit parameter migration logic for Bullnose tools
- Added new migration system to handle legacy parameter conversion for ToolBit assets and objects.
- Implemented ParameterAccessor abstraction for consistent access to dicts and FreeCAD objects.
- Centralized migration logic for CornerRadius from TorusRadius or FlatRadius/Diameter, restricted to Bullnose shape-type.
- Updated asset and object initialization to use migration logic and filter Bullnose parameters.

src/Mod/CAM/Path/Tool/camassets.py:
- Integrate new migration logic for ToolBit assets using ParameterAccessor and migrate_parameters.
- Ensure shape-type is set before parameter migration; only write changes if migration occurred.

src/Mod/CAM/Path/Tool/toolbit/migration.py:
- Add ParameterAccessor class and migrate_parameters function for unified migration.
- Handle legacy parameter conversion for Bullnose tools.

src/Mod/CAM/Path/Tool/toolbit/models/base.py:
- Apply migration logic to ToolBit objects on restore.
- Filter Bullnose parameters to remove FlatRadius after migration.

src/Mod/CAM/Path/Tool/shape/models/bullnose.py:
- Add filter_parameters method to remove FlatRadius for Bullnose.

src/Mod/CAM/Path/Op/SurfaceSupport.py:
- Derive FlatRadius from CornerRadius and Diameter if both are present.

src/Mod/CAM/Path/Op/Surface.py:
- Remove obsolete setOclCutter method.
2025-12-01 11:30:00 -06:00
Chris Hennes
02faa54b94 Revert "GUI: fix "select all instances" (#25503)"
This reverts commit 6b60867368.
2025-12-01 18:24:25 +01:00
Chris Hennes
98734790de Utils: Don't save location of Python executable 2025-12-01 17:03:46 +00:00
Roy-043
0dcd2507bd Draft: fix X-axis reference for Draft_Arc_3Points 2025-12-01 17:01:31 +00:00
PaddleStroke
f6c5dc82f9 Assembly: Fix selection during joint edition (#25687) 2025-12-01 17:01:19 +00:00
Garfieldcmix
869b94d44c Fix Export/Save Mesh incorrect error message 2025-12-01 11:00:40 -06:00
sliptonic
84c2ac1c23 CAM: fixes bug with op creation/cancelation (#25800) 2025-12-01 10:59:49 -06:00
Syres916
80e95fb35b [TechDraw] QCheckBox fix compiling warning of stateChanged deprecation 2025-12-01 10:59:25 -06:00
Roy-043
20146a63a3 BIM: BIM_Material: only assign material object to component (#25823)
* Add MoveWithHost check for material assignment

* [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-01 16:59:13 +00:00