Commit Graph

43174 Commits

Author SHA1 Message Date
theo-vt
0c4e125e44 Quickmeasure: Make measuring holes easier (#23385)
* Measure: Add circle center distance types to quickmeasure

* Measure: Add cylinder axis distance types to quickmeasure

* Measure: Fix PointToCylinder minimum distance not computing

* Quickmeasure: compute circle and cylinder diameters when they are closed

* Quickmeasure: add angle measurement between cylinder & circle axes

* Quickmeasure: Remove minimum distance between circle center and cylinder surface

* [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-08-31 21:57:00 +02:00
Ryan K
25d1a51fb4 Gui: Widen the default customize dialog (#22714)
* Gui: Widen the default customize dialog

* Gui: Make panels the same width in keyboard and toolbars tabs

* Remove namespace additions

---------

Co-authored-by: Ryan Kembrey <ryan.kembrey@student.uts>
2025-08-31 21:53:51 +02:00
Chris Hennes
c26e3e9756 Base: Allow all valid Python 3 identifier characters
Note: Does not check for keywords, only character classes (not a change from the original code).
2025-08-31 21:39:49 +02:00
tetektoza
7b85239093 Sketcher: Use different colors for touch/window selection (#23261)
* Sketcher: Use different colors for touch/window selection

As the title says. I think it was missing, so currently right to left
motion makes the box selection in Sketcher green with dashed lines,
whereas motion from left to right makes it blue with solid lines.

* [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-08-31 21:36:24 +02:00
Kacper Donat
f502aad3b8 Merge pull request #23321 from chennes/refactorApplicationAndAddVersioning
Refactor App::Application directory handling and add versioning
2025-08-31 21:35:02 +02:00
Roy-043
ffb5d7a428 Update gui_snaps.py 2025-08-31 14:33:24 +02:00
luzpaz
9d806694ff TechDraw: remove trailing whitespace 2025-08-30 22:10:14 -05:00
luzpaz
25a94705bd PartDesign: remove trailing whitespace
Removed from src/Mod/PartDesign/App/FeatureExtrude.cpp
2025-08-30 21:53:58 -05:00
dependabot[bot]
eb5ef8d30d Bump actions/dependency-review-action from 4.7.2 to 4.7.3
Bumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 4.7.2 to 4.7.3.
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](bc41886e18...595b5aeba7)

---
updated-dependencies:
- dependency-name: actions/dependency-review-action
  dependency-version: 4.7.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-30 21:00:44 -05:00
Chris Hennes
7eb15f53e5 Merge pull request #23100 from 3x380V/points
Points: Speed up translation of imported points
2025-08-30 20:04:08 -05:00
Jiří Pinkava
c72d3f706b Remove unused DAGFilter 2025-08-30 17:23:18 -05:00
tetektoza
e5518f9ad1 Draft: Call autogroup in make_hatch to put hatch in active group if any (#23464)
As the title says - this patch adds autogroup to hatch, so when created
it will be put in active group.
2025-08-30 22:24:33 +02:00
Jacob Oursland
d3b00bdb18 Assembly: Update OndselSolver to the latest version. 2025-08-30 15:12:07 -05:00
FEA-eng
076b0bb98f FEM: Add tied contact with CalculiX (#23327)
* FEM: Update FemConstraintContact.cpp

* FEM: Update FemConstraintContact.h

* FEM: Update write_constraint_contact.py

* [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-08-30 14:24:22 -05:00
Chris Hennes
7d38562c79 Merge pull request #23368 from kadet1090/show-placement-and-plane-in-attacher
Gui: Show placement and plane in attacher
2025-08-30 14:13:43 -05:00
Chris Hennes
b6705f5c60 Merge pull request #23453 from marioalexis84/fem-2d_calculix_loads
Fem: Add support for 2D loads with CalculiX
2025-08-30 14:09:27 -05:00
Chris Hennes
22fbdf4b58 Mesh: Add boost/agorithm/string.hpp to PCH 2025-08-30 18:44:21 +02:00
captain0xff
6e896b1248 PartDesign: add interactive gizmos 2025-08-30 17:02:52 +02:00
PaddleStroke
82ca06e7df Link: MaterialOverride: fix transparency inversion 2025-08-30 16:32:23 +02:00
marioalexis
d35e5613cf Part: Remove PartDesign header 2025-08-30 15:06:31 +02:00
marioalexis
a8747dca2a Fem: Update CalculiX test files 2025-08-29 19:57:42 -03:00
marioalexis
5fb640f219 Fem: Remove code duplication in MeshSetsGetter class 2025-08-29 19:57:42 -03:00
marioalexis
98e8704e79 Fem: Update body heat source element getter for CalculiX 2025-08-29 19:57:42 -03:00
marioalexis
a907b60561 Fem: Add support for 2D geometries to Pressure constraint - fixes #12778 2025-08-29 19:57:42 -03:00
marioalexis
7027caf0aa Fem: Add support for 2D geometries to HeatFlux constraint 2025-08-29 19:57:42 -03:00
marioalexis
7afa56652c Fem: Add support for 2D geometries to Contact constraint - fixes #13280 2025-08-29 19:57:36 -03:00
marioalexis
c483f5a890 Fem: Add support for 2D geometries to Tie constraint - fixes #13280 2025-08-29 14:03:31 -03:00
marioalexis
2e18224d8e Fem: Update electrostatic element getter for CalculiX 2025-08-29 14:03:31 -03:00
marioalexis
345f160e72 Fem: Improve meshtools.get_ccx_elements* functions 2025-08-29 14:03:31 -03:00
tetektoza
3b76d77ed8 Sketcher: Introduce Select All (Ctrl + A) (#23289)
* Sketcher: Introduce Select All (Ctrl + A)

As the title says, this allows selecting all geometries on the sketch
with CTRL + A shortcut, plus also allows to select "Select All" option
from Edit menu.

* Sketcher: Use fmt instead of std::stringstream in selectAll

* Sketcher: Fix typo in selectAll

Co-authored-by: João Matos <joao@tritao.eu>

---------

Co-authored-by: João Matos <joao@tritao.eu>
2025-08-29 16:52:43 +02:00
wwmayer
e55e7f75d2 PD: Fix creation of pad from base feature
In versions prior to 1.0 there was never the requirement that the shape of a FeatureBase must contain a solid. This has changed with 7a4bc95d47 for no obvious reason. This requirement should be dropped again.

In versions prior to 1.0 the method Feature::getBaseShape() was used within the Pad feature to check if the base feature has a solid. This method throws an exception if the shape doesn't have a solid.
Since version 1.0 the new method Feature::getBaseTopoShape() is used. As parameter a boolean is passed to either throw an exception or silently return a null shape. The implementation of this function is inconsistent:
If the parameter is false it throws an exception if the base feature's shape has no solid but if the parameter is true it doesn't check if the shape has a solid and returns it as is.

This leads to incorrect behaviour in the calling instance where the shape of the base feature is tried to be fused with the padded shape. This operation will fail if the shape of the base feature has no solid.

This fixes https://github.com/FreeCAD/FreeCAD/issues/23348
2025-08-29 16:28:38 +02:00
luzpaz
13c9f5da83 Fix various typos
Found via codespell
2025-08-29 10:03:57 +02:00
PaddleStroke
7d3dd2605f PartDesign: Fix symmetric regression & LengthAlongSketchNormal (#23418)
* PartDesign: Fix symmetric regression

* to squash

* Fix LengthAlongSketchNormal not working

* to squash

* Fix checkbox not initially visible
2025-08-29 10:03:16 +02:00
Kacper Donat
78a579804c Gui: Fix reloading of themes 2025-08-28 17:14:55 -05:00
Max Wilfinger
9cae60a70f Update UI strings from Crowdin reports for consistency 2025-08-28 11:45:38 -05:00
Roy-043
6ab8589a03 Draft: Add edge-face intersection snap 2025-08-28 16:16:38 +02:00
Chris Hennes
b1b97e44f1 Update translations 2025-08-28 16:14:49 +02:00
Roy-043
f7e88675e9 Mesh: Change 1 missed dialog title to Title Case (#23422)
* Mesh: Change 1 missed dialog title to Title Case

* [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-08-28 10:51:14 +00:00
Chris Hennes
4f61369339 Addon Manager: Sync with upstream 2025-08-27 2025-08-28 11:24:50 +02:00
Kacper Donat
94e978439c Gui: Do not compute preview while restoring 2025-08-28 10:30:52 +02:00
Kacper Donat
44f58d7b72 Merge pull request #22923 from MisterMakerNL/Stylesheet_fixes2
Stylesheet fixes
2025-08-27 21:58:50 +02:00
Chris Hennes
102d0a9ac8 App: refactor to use unique_ptr
Also address other reviewer comments.
2025-08-27 11:51:22 -05:00
Chris Hennes
1ad8d0c0f2 Gui: Refactor to not use std::ranges
Older Ubuntu doesn't like the mechanism used to split on commas
2025-08-27 11:51:22 -05:00
Chris Hennes
58126c20e2 App: Fix problems with temp dir creation 2025-08-27 11:51:22 -05:00
Chris Hennes
2af71a5288 Gui: Detect new versions and offer to migrate
At the very end of the startup process, check to see if we are using a
versioned directory from a previous version, or we are not versioned at
all but are using the system's default storage location (that is, not a
custom config path set on the command line, etc.). If so, offer to
migrate the old configration folders into new ones for the current
version.
2025-08-27 11:51:22 -05:00
Chris Hennes
7ed4a9b731 App: Add directory versioning for data and config
At the application level, support the existence of subdirectories inside
the original config and data paths for a specific version of the
software. For a new installation, create them, but for an existing
installation use the most recent available version, even if it's not the
current one (and even if it's not versioned at all). Any migration must
be done at the GUI level due to the amount of data that is potentially
being copied during that process.
2025-08-27 11:51:22 -05:00
Chris Hennes
25f8a1eb57 App: Migrate directory handling to helper class
Use std::filesystem wherever possible, replacing most uses of
std::string when the object is actually a path. This is the first stage
of refactoring, and does not make any changes to Application that affect
client code. Access to the new directory-handling class is implemented,
but is unused by any external code.
2025-08-27 11:51:22 -05:00
Kacper Donat
56d8d37ab4 Gui: Move style parameters to yaml files 2025-08-27 17:59:10 +02:00
MisterMakerNL
f87a9646a7 Gui: Various fixes to official themes
Updated PropertyEditor QLabel and QPushButton styles for better visual consistency
and usability, including specific pushbutton styling for the Placement tool. Adjusted
QCheckBox disabled indicator styles to use consistent border and background colors,
and fixed background color for checked and indeterminate disabled states.

Gave inactive and active tab their own token. Fixed missing hover for
scrollbar.

Changed the value of EditedEdgeColor in the FreeCAD Light preference
pack Due to contrast issues with default shape color.

Refreshed Theme_thumbnail_dark.png and Theme_thumbnail_light.png images.
Updated Thumbnails_themes.svg with new Inkscape version metadata, export
paths, and visual adjustments, including color and layout changes to
theme preview rectangles.

Refreshed Theme_thumbnail_dark.png and Theme_thumbnail_light.png images.
Updated Thumbnails_themes.svg with new export filenames, DPI settings,
and adjusted some SVG properties for improved export consistency.

Changed the TextDisabledColor to fix issue with lighten full black.

Adjusted the QComboBox padding-right from 2px to 18px in FreeCAD.qss to
provide space for the check-mark indicating the active item.

Changed the 'HighlightColor' value in the FreeCAD Light preference pack
configuration to dark green to solve contrast issues.

Introduces InActiveTabBackgroundColor and ActiveTabBackgroundColor to
both FreeCAD Dark and FreeCAD Light preference packs for improved tab
appearance customization.
2025-08-27 17:58:57 +02:00
Chris Hennes
bf4c850a4c Merge pull request #23140 from kadet1090/yaml-source-style-parameters
Gui: Add YamlParameterSource for StyleParameters
2025-08-27 10:34:17 -05:00