Commit Graph

42541 Commits

Author SHA1 Message Date
Jacob Oursland
5a07907118 Pixi: update pixi.toml with required pixi version. 2025-07-13 11:17:11 -07:00
Benjamin Nauck
566fe8371a Merge pull request #21995 from chennes/moveBackupPolicy
Extract BackupPolicy class into its own file to facilitate automated testing
2025-07-12 17:58:14 +02:00
Furgo
3b3d19c56b Import: improve DXF C++ importer support for BLOCK and INSERT entities (#22045)
* Import: DXF importer, block and inserts overhaul

Implement support for blocks as definitions and inserts
as instances.

A BLOCK definition becomes a hidden master object in a
_BlockDefinitions group (currently a Part::Compound).
An INSERT becomes a visible App::Link that points to
that master definition.

* Import: DXF parser/importer add debug print statements

* Import: DXF importer, various improvements

- Add more code comments
- Correctly increase object count
- Improve readability of anonymous block checks

* Import: DXF (all) report anonymous blocks separately

* Import: DXF importer (App + GUI) add nested inserts support

* Import: DXF importer (GUI) fix preserving colors for inserts

* Import: DXF importer, make primitives naming more specific

* Import: DXF parser/importer remove debug print statements

* Import: DXF parser, work around DXF color index 7

* Import: DXF importer GUI, temporary debug print to show layer color data

* Import: DXF importer, fix nested inserts hierarchy

* Import: DXF importer, prefix and suffix underscores to names

To work around mangling from FreeCAD's unique name generator.

* Import: DXF importer, implement flattening blocks on import

* Revert "Import: DXF importer GUI, temporary debug print to show layer color data"

This reverts commit b6ece395c9d2b8a1e0796d6f7b0d58842a2f3686.

* Import: DXF importer, fix imported text orientation

The DXF file provides the text rotation angle in degrees.
The used rotZ function expects the angle in radians,
thus the conversion needs to be made.

Fixes: #21548

* Import: DXF importer, honour the preference to not import layouts

* Import: DXF importer, move unreferenced blocks to separate group

This provides better classification, but it has a performance hit:
we import all blocks as before, we sort them and we reparent them
to the correct group. The reparentipart with Grou.setValues()
appears to be an expensive call. Probably because internally the
FreeCAD dependency graph is modified.

* Import: DXF importer, count compound children in the report

* Import: DXF importer, cleanup defined blocks group if empty
2025-07-12 13:38:13 +02:00
Roy-043
93e09aa315 Draft: 1st downgrade of lofts and sweep should be de-parametrization 2025-07-12 13:29:32 +02:00
Roy-043
2e4e661594 BIM: store Classification prefix setting 2025-07-12 13:25:23 +02:00
MisterMaker
5fa2d62f6c Gui: Implement style parameters for built-in themes (#20528)
* added code to add more parameters to stylesheets

and test QSS files which will probably be removed when testing is completed

* update

* Update CMakeLists.txt

* some tweeks

* reverting this as it should not have been uploaded

* Update User_dark.qss

* more stuff

* code cleanup

* synced light to dark

* tweaks!!

* Fixed the qsint action tab

* tweaks

* push latest changed getting ready for release.

* tweaks

* Update FreeCAD Dark.qss

* fixessss

* wrong radiusss

* Update FreeCAD Light.cfg

changed the light background too F0f0f0

* disable tweaks

* modifications to use ThemeToken manager

See https://github.com/FreeCAD/FreeCAD/pull/20668

* Undo bunch of stuff.

* bugs

* Clean-up

* more cleanup

* Update FreeCAD_stylesheet.qss

* Big update + cleanup

* Update FreeCAD Light.cfg

* Changed UserColor to Primary

* Update actionpanelscheme.cpp

rtying to fix merge issues

* trying to fix merge issues

* clean-up

* Update FreeCAD_stylesheet.qss

* Refactor theme color variables and improve widget styling

Unified color variable naming by replacing '@PrimaryColorUIColor' and related tokens with '@PrimaryColor' and new lighten/darken variants in both dark and light theme configs and stylesheets. Added new variables for input field border radius and checkbox/radio button colors, and updated QSS rules to use these variables for consistent widget appearance. Improved styling for checkboxes, radio buttons, and input fields, and fixed menu indicator icons for better theme compatibility.

* Checkboxes and radioboxes

Rounded off the checkboxes add buttons for radioboxes.

* updated icons

* Refine toolbar, checkbox, and toolbox styles

Updated QToolButton#qt_toolbar_ext_button to use border-image and improved gradient backgrounds. Enhanced checkbox indicator styling for better color consistency and hover/disabled states. Adjusted gradients and background colors for QTabBar, QDockWidget, QHeaderView, and QToolBox elements to improve visual coherence and accessibility.

* Refine FreeCAD Dark theme hover and selection colors

Updated the FreeCAD Dark theme configuration and stylesheet to introduce new hover and border color tokens, unify hover/selection backgrounds, and replace most uses of @UserHighlight1Color/@UserHighlight2Color with @GeneralBackgroundHoverColor and @GeneralBorderHoverColor. Adjusted color lightening values for better contrast and consistency across UI elements.

* Fix QHeaderView gradient direction in stylesheet

Corrects the gradient parameters for QHeaderView::section to use y1 and y2, ensuring the background gradient renders as intended.

* Update FreeCAD Light theme user tokens

Changed MenuBackgroundColor to use @PrimaryColorLighten1 and SketcherUnderConstrainedColor to #000000. Added new tokens GeneralBackgroundHoverColor and GeneralBorderHoverColor for improved UI customization.

* Update FreeCAD Dark.cfg

* Add padding to QMenuBar items in stylesheet

Updated the FreeCAD stylesheet to include specific padding for QMenuBar::item, improving menu item spacing and appearance.

* I added the old stylesheets back for fallback

I added the old stylesheets back in the case of in forseen issues.

* Update Freecad Overlay.qss

* Refactor color tokens in Dark and Light theme configs

I sorted the tags and linked accent colors

* Update QPushButton styles for improved consistency

Adjusted padding and min-width for QPushButton elements to enhance visual consistency across dialogs and tables. Updated QTableView QPushButton styles to include hover effects and removed redundant selectors.

* Adjust QPushButton vertical padding in stylesheet

Reduced the vertical padding of QPushButton from 4px to 3px to refine button appearance and alignment.

* Adjust QPushButton styles in dialogs and panels

Updated QDialogButtonBox QPushButton to have 3px vertical padding instead of 4px, and removed special styling for QMessageBox buttons. Added a new style for QPushButton inside QFrame panels with 3px padding and no minimum width.

* undo some changes

* Update grid lines color in FreeCAD Light theme

Changed the GeneralGridLinesColor from @PrimaryColorLighten2 to @PrimaryColorDarken4 in the FreeCAD Light theme configuration for improved visual consistency.

* Update menu background color in FreeCAD Dark theme

Changed the MenuBackgroundColor from @PrimaryColorLighten4 to @PrimaryColorDarken4 in the FreeCAD Dark theme configuration to improve visual consistency.

* Update FreeCAD Dark.cfg

* Refactor selection background color handling

Introduces TextSelectBackgroundColor in both FreeCAD Dark and Light preference packs for more flexible selection styling. Updates stylesheet to use TextSelectBackgroundColor instead of UserHighlight1Color and removes redundant selection-background-color rules for improved consistency and maintainability.
Selection color is just a toned down color from the accent 1 color. This makes it better readable.

* Selection color had issues with treeview select

* woopsie add pink to find issues removed it

* Update src/Gui/Stylesheets/CMakeLists.txt

---------

Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-07-11 21:33:14 +00:00
sliptonic
759bad7455 Merge pull request #22330 from z0r0/fanuc-postprocessor-fix
CAM: Fix for Fanuc Post-Processor
2025-07-11 11:00:50 -05:00
Fermín Olaiz
1881686e72 Fix crash on out-of-bound vector access (#22397) 2025-07-09 19:07:11 +02:00
Max Wilfinger
82698073f1 Update Help menu. Remove outdated links; add Developers handbook (#22283)
* Update Help menu. Remove outdated links; add Developers handbook

* Apply suggestions from code review

* Update src/Gui/CommandStd.cpp

* Update Shortcuts.cfg
2025-07-08 21:23:01 +00:00
Roy-043
ff5a25784c BIM: fix autojoin behavior (#22303)
* BIM: fix autojoin behavior

* Use new deletebase argument of joinWalls

* Remove colon from task bar title
2025-07-08 15:19:19 +02:00
pre-commit-ci[bot]
d2a4f8994f [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pre-commit/mirrors-clang-format: 64827eb3528d4dc019b01153e9fb79107241405f → 6b9072cd80691b1b48d80046d884409fb1d962d1](64827eb352...6b9072cd80)
2025-07-07 18:45:59 +02:00
FEA-eng
0e8a7b6319 Sketcher: Add tooltip for autoscale feature (#22252)
* Sketcher: Update SketcherSettings.ui

* Sketcher: Update SketcherSettings.ui
2025-07-07 18:31:55 +02:00
Zbyněk Winkler
9c91b959a6 build and install debug build explicitly 2025-07-07 18:20:28 +02:00
Zbyněk Winkler
91bfde1fd2 update python debugger type to debugpy
vscode says that "python" is deprecated
2025-07-07 18:20:28 +02:00
Zbyněk Winkler
1b7c12629c Improve compatibility with VSCode
- remove build directory override, use build directory from CMakePresets.json
  without this VSCode cannot use builddir created by pixi
- add *-debug and *-release commands everywhere
2025-07-07 18:20:28 +02:00
Zbyněk Winkler
ff0b4b6325 remove conda dir since we have pixi 2025-07-07 18:20:28 +02:00
FEA-eng
5f610d32ab FEM: Update ElementGeometry1D.ui (#22134) 2025-07-07 18:16:22 +02:00
sliptonic
e0466b7a14 Merge pull request #21341 from tarman3/arraywarning
CAM: Changes in warnings of old Array
2025-07-07 11:06:11 -05:00
dependabot[bot]
1598d56560 Bump step-security/harden-runner from 2.12.1 to 2.12.2
Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.12.1 to 2.12.2.
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](002fdce3c6...6c439dc8bd)

---
updated-dependencies:
- dependency-name: step-security/harden-runner
  dependency-version: 2.12.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-07 17:50:38 +02:00
FEA-eng
45be617bf3 Part: Enable solid creation by default for Loft and Sweep (#22098)
* Part: Update PartFeatures.cpp

* Part: Update DlgRevolution.ui

* Part: Update TaskLoft.ui

* Part: Update TaskSweep.ui

* Part: Update PartFeatures.cpp

* Update src/Mod/Part/Gui/DlgRevolution.ui

---------

Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>
2025-07-07 17:46:19 +02:00
Roy-043
50faa72378 Draft: gui_utils.py minor improvement for autogroup 2025-07-07 17:03:21 +02:00
Roy-043
59088a0365 Draft: make_sketch.py should not use view direction (#22249) 2025-07-07 17:02:14 +02:00
tetektoza
2c82bfa150 BIM: Add an option to preload IFC types during document opening (#21450)
* BIM: Add an option to preload IFC types during document opening

Currently, IFC types are only possible to be loaded if user double
clicks an IFC object, and this has be done for optimization reasons.

But user can also want to preload IFC types, so this patch adds an
option to the dialog and Properties dialog to do just that.

* BIM: Remove cyclic import

---------

Co-authored-by: Yorik van Havre <yorik@uncreated.net>
2025-07-07 16:06:43 +02:00
Zbyněk Winkler
4d7f03bf63 Copy subvolume before changing its Placement
Placement property of a cached object was modified each time
component is recalculated.

Fixes #22162.
2025-07-07 15:35:26 +02:00
Roy-043
985e42b61a BIM: check OutListRecursive in addComponents 2025-07-07 14:57:19 +02:00
Roy-043
236bec9aa9 BIM: improve Arch_MergeWalls (#22262)
* BIM: improve Arch_MergeWalls

* Improve delete behavior

Keep hosted objects*, additions and subtractions if delete is False. 

* For hosted objects with a Host property this is not possible.

* Make deletion of base objects optional
2025-07-07 14:51:27 +02:00
Roy-043
e6e1d6c54e BIM: fix visibility handling of objects hosted by additions 2025-07-07 14:46:29 +02:00
Roy-043
3e9089bd47 BIM: fix handling of Project coin nodes (#22244)
* Update ArchProject.py

* Update ArchSite.py
2025-07-07 14:45:07 +02:00
Syres916
addac93afa [BIM] Stop combobox sizeAdjustPolicy warning 2025-07-07 14:42:58 +02:00
Roy-043
680be1548c BIM: fix profile selection (#22223)
* Update params.py

* Update ArchStructure.py

* Update BimProfile.py
2025-07-07 14:39:55 +02:00
Roy-043
152f4989c6 BIM: fix Arch_SectionPlane 'Toggle Cutview' issue 2025-07-07 14:28:06 +02:00
Ryan Kembrey
cf3de7b730 Sandbox: Update UI strings for consistency 2025-07-07 13:51:33 +02:00
Roy-043
56024f12ad BIM: fix default radius for rectangular pipe connector
Fixes #22364.

The default radius of a connector between rectangular pipes should depend on the Height or Width of the pipe (the max. of the two is used), not on the hidden (and unused) Diameter property.
2025-07-07 13:46:38 +02:00
Max Wilfinger
3e32ea5dd4 Sketcher: Update missed UI strings (#22363) 2025-07-07 10:16:07 +02:00
Benjamin Nauck
86eea6af0f Merge pull request #20668 from kadet1090/stylesheet-params
Gui: Add Style Parameter Manager to contain theme parameters
2025-07-07 02:58:36 +02:00
theo-vt
4b84834112 Sketcher: Autoscale: do not scale dimension's position if it is a radius or diameter (#22308)
* Do not scale dimension's position if it is a radius or diameter

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

Sketcher: spell checking

---------

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-07-06 23:25:24 +00:00
Kacper Donat
dffdfb1a3b Gui: Fix too small link icon on high dpi (#22359)
* Gui: Fix too small link icon on high dpi

* Gui: suppress warning in ViewProvideLink.cpp

---------

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-07-06 22:37:34 +00:00
Kacper Donat
a32594faea Gui: Add ThemeTokenManager class to contain theme parameters
This class aims to implement Design Token idea into FreeCAD themes. It
allows themes to use generic variables with generic values so we could
use one qss theme and change the style based on values from preference
packs.
2025-07-07 00:07:31 +02:00
Kacper Donat
8d1f65e992 Merge pull request #22322 from oursland/pixi-update
pixi: Update pixi dependencies for VFX Reference Platform.
2025-07-06 16:50:19 +02:00
Syres916
8d6f3c95db [TechDraw] Fix Qt6 compatability of FillTemplateFields tool 2025-07-06 16:49:18 +02:00
Kacper Donat
3d3d3ad6d2 Merge pull request #22138 from chennes/compilerWarningCleanup20250622
Compiler warning cleanup
2025-07-06 16:32:08 +02:00
Roy-043
db11f481e9 Update DraftGui.py 2025-07-05 22:44:22 +02:00
Kacper Donat
38ec685f2d CAM: Fix origin indicator for Job
This commit fixes how origin (coordinate system) indicator looks. Before
it showed as disc, and now it shows as point which is more approperiate
given the context.
2025-07-05 18:46:01 +02:00
Luz Paz
f72397ce19 Fix various typos
Found via codespell
2025-07-04 21:24:09 +02:00
Ian Abreu
6d9d7e8b7f Merge branch 'fanuc-postprocessor-fix' of github.com:z0r0/FreeCAD into fanuc-postprocessor-fix 2025-07-04 11:31:21 -04:00
Ian Abreu
05d9eeded2 correcting to use Tool vs. ToolController 2025-07-04 11:30:46 -04:00
Ian Abreu
98f22837bc Merge branch 'main' into fanuc-postprocessor-fix 2025-07-04 11:21:14 -04:00
Ian Abreu
bd24577184 initial fix 2025-07-04 11:10:43 -04:00
Benjamin Nauck
927d302401 Merge pull request #22319 from davesrocketshop/importer_fixes 2025-07-04 06:10:37 +02:00
Jacob Oursland
56c9f7936f pixi: Update pixi.lock. 2025-07-03 14:45:49 -07:00