Commit Graph

45029 Commits

Author SHA1 Message Date
Gaël Écorchard
9aa1eb2b0c pixi: Add qt6-wayland dependency on Linux
Signed-off-by: Gaël Écorchard <gael@km-robotics.cz>
2026-01-12 10:50:19 -06:00
Roy-043
2019ff051e Draft: fix constrain error if there is no new point (#26868)
* Add None check before constraining new_point

* [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>
2026-01-12 16:12:13 +01:00
Yash Suthar
2a3dd9cfd6 BIM : Preserve Spreadsheet structure (#26736)
Signed-off-by: Yash Suthar <yashsuthar983@gmail.com>
2026-01-12 16:09:56 +01:00
Kacper Donat
47bd6ac99e PartDesign: Recompute preview only if enabled (#26805)
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2026-01-12 07:20:57 +00:00
Pieter Hijma
b173365653 Gui: Add common types to Add Property dialog (#26765)
* Gui: Add common types to Add Property dialog

Add a preselection of commonly used types in the Add Property dialog.
The dialog supports now all properties that have an editor.  This
doesn't necessarily mean that the editor is shown in the Add Property
dialog; some properties should not show their editor in the Add Property
dialog, such as vector and placement.

* Gui: Make Add Property dialog Qt 6 compatible

This change stops using a Qt 6.10 feature and makes it compatible with
all of Qt 6.

* Update src/Gui/Dialogs/DlgAddProperty.cpp

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2026-01-12 07:02:11 +00:00
Rahul Paul
a628391406 Test: Add copy button (#25979)
* added a copy button which copies all the errors and traceback to clipboard

* removed unused variable

* removed space at end of Copy string

* copied text notification in status bar

* removed unwanted header

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

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

* Test: Address review comments

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2026-01-12 06:35:23 +00:00
Roy-043
95b2a41e78 BIM: fix crazy edge issue with area calculation
Fixes #26777.

The code uses a TechDraw function that considers overly long edges (> ca. 10m) 'crazy'. We need to temporarily change a parameter.
2026-01-11 22:27:11 -06:00
dependabot[bot]
06d490fa4d Bump actions/setup-python from 6.0.0 to 6.1.0
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](e797f83bcb...83679a892e)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-11 22:12:14 -06:00
Kacper Donat
4fae2b83f8 PartDesign: Apply pattern transform in Feature not VP
This is followup for https://github.com/FreeCAD/FreeCAD/pull/26563 which
fixed previews for a given file but broke it for others.

This approach should be more robust as it is applied in the Feature
itself and not on view provider level which should give us more precise
control and per feature transform ability.
2026-01-11 20:45:03 -06:00
Kacper Donat
800990bacd Part: Introduce PreviewUpdateScheduler
This commit introduces PreviewUpdateScheduler class that is responsible
to schedule the true recompute of the preview. View Providers (or other
components) can use this service to ask for the preview recompute to
happend at a time that is convinent for a program and that won't impact
performance.

The provided implementation uses Queued Connections in Qt to calculate
preview essentially on next run of the event loop. It allows business
logic in FreeCAD (like property propagation) to execute fully and then
recompute preview once. This greately reduces number of recompute calls
for previews.
2026-01-11 20:32:50 -06:00
Chris
12d1dba109 Build: cmake: fixes #26247 update cmake to work with new required dep lark for BIM (#26407) 2026-01-11 19:55:38 -06:00
Fabio Rossi
419e1822b8 fix hdf5 detection
avoid side-effects of reusing cached variables (defined PCHDF5_FOUND for
pkgconfig and HDF5_HEAD_FOUND for hdf5.h detections)
2026-01-11 19:50:59 -06:00
freecad-gh-actions-translation-bot
7ddee25ec9 Update translations from Crowdin 2026-01-11 19:42:50 -06:00
timpieces
50c22e10ce Macro: Fix shortcuts in macro editor #26807
- The initial commit to block shortcuts in text edit fields
  (particularly for MacOS, where those shortcuts would activate FreeCAD
  functionality rather than text edit functionality) made a wrong
  assumption.
- It assumed that there were no text edit fields where we would want to
  actually use application shortcuts. In retrospect, this was very
  wrong, and I completely missed the macro editor.
- For now, it should be fine to change the field to only cover
  'LineEdit'. I cannot imagine a case where you'd want to (e.g.) save
  text/document from a LineEdit, but if anyone knows of one then please
  let me know.
- This does mean there are some quirks. For example in the materials
  editor, the description is a TextEdit field. Some text editing
  shortcuts won't work in here now (similar to how they didn't before
  the original commit that I made).
- I've since learned that freecad also has a text editor functionality,
  I've tested that now Cmd+S works for save as it should.
2026-01-11 09:52:06 -06:00
luzpaz
bfb911792e CAM: fix typo in Path/Main/Gui/Job.py
Fixes source comment typo
2026-01-11 16:22:05 +01:00
Billy Huddleston
f071c5950c CAM: Remove file added by accident.
generate_machine_box.py was added to a PR by mistake.  This PR removes it.
2026-01-11 07:10:23 +01:00
sliptonic
b5c289eff0 Merge pull request #26533 from Connor9220/Machine
CAM: Add Machine Library and Editor
2026-01-10 14:33:54 -06:00
Roy-043
bfb72a6925 Add files via upload 2026-01-10 12:30:35 +01:00
Chris Hennes
e8af1e42d1 Merge pull request #26811 from kadet1090/ci-fixes
CI: Disalbe ubuntu run temporarily
2026-01-10 00:16:21 -06:00
Billy Huddleston
7094424820 CAM: Refactor Machine Editor UI, replace QToolBox with tabs
Major refactor of the Machine Editor to use QTabWidget for section
navigation. Added tabbed spindle management with add/remove
functionality, split machine configuration into Output Options, G-Code
Blocks, and Processing Options tabs. Updated preferences UI to use tabs
instead of QToolBox.

src/Mod/CAM/Gui/Resources/preferences/PathJob.ui:
- Replace QToolBox with QTabWidget for preferences tabs

src/Mod/CAM/Path/Dressup/Gui/Preferences.py:
- Use QWidget with vertical layout instead of QToolBox for dressup
preferences

src/Mod/CAM/Path/Machine/ui/editor/machine_editor.py:
- Refactor to use QTabWidget for editor sections
- Implement tabbed spindle management with add/remove
- Split configuration into Output Options, G-Code Blocks, and Processing
 Options tabs
- Update post processor selection logic

src/Mod/CAM/Path/Main/Gui/PreferencesJob.py:
- Update to use tabWidget instead of toolBox

src/Mod/CAM/Path/Tool/assets/ui/preferences.py:
- Use QWidget and direct layout instead of QToolBox for asset
preferences
2026-01-09 22:13:16 -05:00
Roy-043
fe86abea92 TechDraw: fix-wrong sWhatsThis for align-commands
sWhatsThis should match the command name.
2026-01-10 00:48:40 +01:00
Kacper Donat
ca1c5eb322 CI: Disable ubuntu run temporarily 2026-01-10 00:17:39 +01:00
Kacper Donat
77ee600544 CI: Change github.ref into github.head_ref
This actually allows us to check source branch
2026-01-10 00:13:02 +01:00
Louis Gombert
c1b40e3dfc PartDesign: remove preview update on property changed (#26803)
This recompute seemed unnecessary, and caused slowdowns when opening the file and recomputing. This decreases the time necessary to both open and recompute files that use boolean operations, and should not change anything regarding preview computation when the dialog is open.
2026-01-09 23:05:23 +00:00
sliptonic
af2d178e57 CAM: Adding retract annotation to drilling commands (#26584)
* Adding retract annotation to drilling commands

checkpoint

* [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>
2026-01-09 19:11:00 +01:00
Roy-043
1eb3742dc7 BIM: Improve ArchStairs Landings code
See https://github.com/FreeCAD/FreeCAD/pull/25278#discussion_r2531791450
2026-01-09 18:46:56 +01:00
sliptonic
e9227a6c8a Merge pull request #23980 from davidgilkaufman/adaptive_auto_helix
[CAM] Adaptive automatically pick diameter of helix entrance
2026-01-09 11:46:27 -06:00
sliptonic
e45ea4ed13 Merge pull request #25697 from tarman3/profile_numpasses
CAM: Profile - Limit value NumPasses
2026-01-09 11:45:15 -06:00
sliptonic
b27eaa5387 Merge pull request #25842 from tarman3/slot_clearance
CAM: Slot - Remove duplication move to clearance height in the end
2026-01-09 11:42:15 -06:00
sliptonic
4b3353bcb9 Merge pull request #26127 from tarman3/tag_tol
CAM: Tag Dressup - Tolerance
2026-01-09 11:36:09 -06:00
sliptonic
1427969fbc Merge pull request #26128 from tarman3/engrave_tol
CAM: EngraveBase - Tolerance
2026-01-09 11:35:51 -06:00
sliptonic
4e008d04e5 Merge pull request #26321 from tarman3/job_setCenterOfRotation
CAM: Job - Fix setCenterOfRotation()
2026-01-09 11:34:49 -06:00
wmayer
b180728b9d Assembly: Improve const correctness 2026-01-09 18:09:48 +01:00
wmayer
70d8187964 Assembly: Minor refactor in ViewProviderAssembly::findDragMode
Co-Developed-by: PaddleStroke <pierrelouis.boyer@gmail.com>
2026-01-09 18:09:48 +01:00
sliptonic
d2d0e7e3e9 Merge pull request #26658 from Dimitris75/CAM---Experimental-Waterline-Minor-Fixs
CAM - Experimental Waterline Minor Fix
2026-01-09 10:49:41 -06:00
sliptonic
36349357ff Merge pull request #26695 from tarman3/rampentry_zmin
CAM: RampEntryDressup - Fix findMinZ()
2026-01-09 10:45:37 -06:00
sliptonic
af1742c0db Merge pull request #26553 from Dimitris75/3D-Surface-Rotational-Scan
CAM: Fix 3D Surface Rotational Scan
2026-01-09 10:43:08 -06:00
petterreinholdtsen
dd2ab0e9a1 CAM: Dropped trailing percent from fanuc post processor output. (#26617)
* CAM: Dropped trailing percent from fanuc post processor output.

A trailing percent cause one Fanuc controller to hang when the program
is completed when drip feeding G code, and the minicom ascii upload
was unable to complete the upload.

Had to use emergecy stop to get the machine out of the hang.

* CAM: Adjust Fanuc post processor test to no longer expect trailing percent.
2026-01-09 10:40:02 -06:00
Stanislav
a5f66f7240 Draft Workbench: Patch for import DXF without CODE30 (Z for POINT) (#26778)
* Patch for DXF without CODE30 (Z for POINT)

Time to time I use DXF file from measurement microscope without Z for POINT.
This patch help me for download this files without errors.

* [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>
2026-01-09 11:00:36 +01:00
PaddleStroke
5339f415be Assembly: Explode radially: prevent click on item 2026-01-08 20:42:12 -06:00
sliptonic
67d280508b more machine cleanup 2026-01-08 19:26:26 -05:00
pre-commit-ci[bot]
ef3bbfdc93 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-01-08 19:26:25 -05:00
sliptonic
7eb849f4c6 Revise machine 2026-01-08 19:26:25 -05:00
sliptonic
14c23be550 Code cleanup. 2026-01-08 19:26:25 -05:00
sliptonic
8653c25853 Rearranged some properties.
added back bcnc comment output
2026-01-08 19:26:25 -05:00
Billy Huddleston
a2e2f5b518 CAM: Remove colons from labels, fix lint, and update imports
Removed explicit colons from all form labels.
Fixed lint warnings and replaced wildcard imports with explicit
imports for clarity and maintainability.

src/Mod/CAM/Path/Machine/ui/editor/machine_editor.py:
- Removed ':' from all form labels
- Fixed lint warnings (missing docstrings, empty except, etc.)
- Replaced wildcard imports with explicit imports

src/Mod/CAM/Path/Machine/models/__init__.py:
- Updated __all__ and imports for explicit API

src/Mod/CAM/Path/Tool/assets/ui/preferences.py:
- Updated imports to use package-level import

src/Mod/CAM/Path/Machine/models/machine.py:
- Added explanatory comments to empty except blocks
- Fixed duplicate variable assignment
- Added missing class docstrings

src/Mod/CAM/CAMTests/TestMachine.py:
- Fixed unused variable warning by using returned filepath
2026-01-08 19:26:25 -05:00
Billy Huddleston
9a23768983 CAM: Add Machine Library and Editor
This PR introduces a machine object and a machine library, along with a
new machine editor dialog for creating and editing *.fcm machine asset
files. The editor is integrated into the CAM preferences panel, with new
Python modules for the dialog and minimal model validation. Machine
management (add, edit, delete) is now available in the CAM asset
preferences panel.

Key Features:
- Machines now have a type and units property. The machine type can be
used to distinguish between different classes of machines (e.g., mill,
lathe, laser).
- Machine units are stored internally and in the .fcm JSON file as
metric. Note: This differs from how toolbits work (which store units in
their native units)
- Support for 2-5 axis machines.
- Support for multiple spindles (up to 9)
- Processor defaults
- JSON Text Editor with basic validation and line numbers.
2026-01-08 19:26:25 -05:00
Max Wilfinger
5fbd150b18 Part: Fix orientation of internal shells of a solid (#26717)
* Part: Fix orientation of internal shells of a solid

If a solid consists of multiple shells then it can happen that the
internal shells have incorrect orientation that leads to a broken solid.

This fixes issue https://github.com/FreeCAD/FreeCAD/issues/24994

* Part: Add method Feature::fixSolids

This method explicitly checks for solids with the error
'BRepCheck_EnclosedRegion' that means that internal shells of a solid
are wrong.

Using ShapeFix_Solid fixes the solid.

---------

Co-authored-by: wwmayer <wmayer@freecad.org>
2026-01-08 10:35:26 -06:00
Max Wilfinger
3616611ea3 Gui: Handle exception in showValidExpression (#26721)
* Gui: Handle exception in showValidExpression

If an exception is raised inside showValidExpression() because the
expression cannot be evaluated then handle the exception and show it as
invalid expression.

This fixes issue: https://github.com/FreeCAD/FreeCAD/issues/26501
---------

Co-authored-by: wwmayer <wmayer@freecad.org>
2026-01-08 10:34:12 -06:00
Max Wilfinger
b0331ed979 PD: Handle reference edge in PolarPattern::getTransformations (#26722)
This fixes issue https://github.com/FreeCAD/FreeCAD/issues/24700

---------

Co-authored-by: wwmayer <wmayer@freecad.org>
2026-01-08 10:31:42 -06:00