Commit Graph

43065 Commits

Author SHA1 Message Date
wmayer
96f6b6ce3c Tests: Add test case for ReaderOBJ 2025-08-25 18:13:59 +02:00
wmayer
9c63b7032b Mesh: Improve OBJ mesh import
This change allows it to load OBJ files created by Blender.

Fixes https://github.com/FreeCAD/FreeCAD/issues/19456
2025-08-25 18:13:59 +02:00
Roy-043
8f50d063dd Draft: Support relative paths for hatch patterns 2025-08-25 18:12:20 +02:00
tetektoza
fb2307362d Sketcher: Set total angle to make evaluation choose it when typing in OVP (#23193)
* Sketcher: Set total angle to make evaluation choose it when typing in OVP

When typing an angle value (e.g., "315 deg") in the sketcher rotate tool,
the result differed from manually moving the mouse to achieve the same rotation.
The angle would "flip" to equivalent but opposite directions (315 deg became -45 deg)
due to smart angle selection logic choosing the "closer" alternative.

The parameter enforcement system (`doEnforceControlParameters`) calculated cursor
positions for keyboard input but never directly set the `totalAngle` value.
The mouse logic's smart angle selection algorithm then calculated totalAngle
independently, potentially choosing equivalent but opposite angle directions
(e.g., -45 deg instead of +315 deg) based on proximity to the previous angle value.

Solution is to basically predefine `totalAngle` if user has typed it so
this "smart logic" will always choose the `totalAngle` that user typed.

* Sketcher: Set total angle for arc tool

* Sketcher: Set total angle for Arc Slot tool
2025-08-25 11:10:17 -05:00
Roy-043
ac02b86521 Bim: Fix direction of panel waves (#23271)
* Update ArchPanel.py

* Update ArchPanel.py
2025-08-25 18:09:31 +02:00
MisterMakerNL
237d421417 Replace preference page icons
replaced icon so look more like the actual wb icons
2025-08-25 11:08:19 -05:00
PaddleStroke
b7440a660c Assembly: Move label change logic to onChange 2025-08-25 11:06:11 -05:00
tetektoza
0c909af75c Part: Start listing BoundBox properties for Expression Editor
As the title says. It was missing, so this patch adds all needed.
2025-08-25 18:04:22 +02:00
wmayer
85cf53cb83 Mesh: Fix crash MeshPy::setPoint & MeshPy::movePoint
Fixes https://github.com/FreeCAD/FreeCAD/issues/18823
2025-08-25 10:55:53 -05:00
Chris Hennes
c2205e8009 Tools: Small improvements to translation extraction
1) Block a problematic BIM file from extraction
2) Implement advanced scanning system to better report problems
3) Limit number of jobs in CrowdIn push to prevent 403 errors
2025-08-25 17:39:40 +02:00
xtemp09
887e7bd595 Simplify repr() function 2025-08-25 10:38:39 -05:00
Paul Lee
67178b953d [ArchWindow] Clone and Link to Support Sill Change
Problems / Course of Developement:

  1. Allow changing Sill feature was added in
  - https://github.com/FreeCAD/FreeCAD/pull/21005

  2. Bug fix was added in
  - f6bba5d58e

  3. Further Problems were identified as discused in
  - https://github.com/FreeCAD/FreeCAD/pull/21005#issuecomment-3010959162

  'New Observation-

      1. Clone or Link to a Window does not work and return error
      2. This PR/Commit (21005) translate the Base Sketch when Sill property is changed, to change the final disposition of a Window object; however, it will also shift the disposition of a Clone and Link as a result (with error message above fixed). This is apparently not an expected behaviour.

  (Sidenote- When SketchArch Addon is installed and parametric placement is used, there would not no impact)

Current Commit:

  1. Support Link and Clone of Arch Windows (bug fix)

  2. Instead of changing base Sketch disposition, the Placement of Arch Window, Clone, or Link is adjusted.
2025-08-25 17:30:13 +02:00
paddle
76f2b120ff Sketcher: Port and fix internal faces from RealThunder's branch
Co-authored-by: Zheng Lei <realthunder.dev@gmail.com>
Co-authored-by: Kacper Donat <kacper@kadet.net>
Co-authored-by: Pierre-Louis Boyer <pierrelouis.boyer@gmail.com>
2025-08-25 17:09:10 +02:00
Max Wilfinger
5b2a2b822a Gui: Update header in about dialog before the 1.1 release (#22991)
* Gui: Update header in about dialog before the 1.1 release

Gui: Change main link in about dialog to main website instead of Wiki Main_Page

* Update based on code review.

Co-authored-by: xtemp09 <xtemp09@gmail.com>

---------

Co-authored-by: xtemp09 <xtemp09@gmail.com>
2025-08-25 10:07:58 -05:00
PaddleStroke
b4d799b0ed Assembly: Fix untranslatable string in CommandInsertNewPart.py (#23355)
* Assembly: Fix untranslatable string in CommandInsertNewPart.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-25 14:38:33 +00:00
PaddleStroke
2fc762d75d Sketcher: fix constraint icon size (#22940)
* Sketcher: fix constraint icon size

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

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

* [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-25 15:59:46 +02:00
Furgo
3a3b4a89c0 BIM: add interactive sun position and ray visualization to Arch Site (#22516)
* BIM: add properties for static sun sphere representation

* BIM: create Coin3D nodes for the sun sphere

* BIM: implement logic for static sun representation

* BIM: add additional info properties to sun ray

* BIM: use Draft.Line for sun ray, improve visual appearance

* BIM: color code the sun path arc

* BIM: add hour marker points to the sun path arc

* BIM: make sun path diagram smoother

* BIM: add conditional sun hour marker labels

* BIM: set constraints to time values

* BIM: remove redundant import
2025-08-25 11:37:30 +02:00
Roy-043
5f322c9626 Draft: task_orthoarray.py make some strings translatable 2025-08-25 11:31:50 +02:00
Max Wilfinger
3129bc9a1e Fix UI strings reported on Crowdin (#23297)
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-08-25 06:10:53 +00:00
Chris Hennes
248071b201 Addon Manager: Sync with upstream 2025-08-24 2025-08-25 07:22:52 +02:00
tetektoza
27b9903281 BIM: Load QIcon for Material Editor from bytes
Loading QIcon directly from bytes is not supported in Qt6 it seems, so
this patch changes it to load it to pixmap first and then to QIcon
directly.

Plus add some alternative options to avoid tracebacks for compatibility,
as it seems that in Qt5 it either failed gracefully, or was able to load
directly from string/bytes.
2025-08-24 23:08:44 -05:00
mosfet80
fbfe3a59bf Clean SoDatumLabel.cpp (#23217)
* Clean SoDatumLabel.cpp

removed unused variables

* Update SoDatumLabel.cpp
2025-08-24 23:00:29 -05:00
FEA-eng
b4974a6c32 FEM: Update write_step_output.py 2025-08-24 22:59:22 -05:00
tetektoza
59d4eec796 Assembly: Allow editing joint references
As the title says - root cause of this problem was imprecise reference
matching by moving_part and TNP string processing incosistencies, so the
solution is to give enhanced matching and TNP string mapping for
reliable deletion.

Also added context menu with keyboard shortucs so user is able to delete
stuff with right click.
2025-08-24 22:58:57 -05:00
PaddleStroke
59b01f6802 Assembly: toggle grounded: handle case of grounded joint selection. 2025-08-24 22:58:22 -05:00
Jiří Pinkava
7ca8fac3fa CMake: remove unused PYSIDE_WRAP_UI macro 2025-08-24 22:50:56 -05:00
tetektoza
07d386fee4 Sketcher: Fix construction lines becoming solid after box selection
Currently if user tries to use box selection while having transformed
normal line to a construction line, the line becomes solid unless it
gets moved or new geometry is created.

The root cause of that is the `draw(true, false)` call which uses
outdated solver geometry where construction=false is being specified.
Solver updates lazily, which results in construction lines in normal
sublayer instead of construction.

So, this patch changes it to `draw(false, false)` after box selection.
This ensures the redraw uses current SketchObject geometry with
up-to-date construction flags. This should be safe, as box selection is
purely visual and we do not need geometry calculations in this
operation.
2025-08-24 22:48:14 -05:00
Ian Abreu
300d971e98 Core: Fixing missing python bindings. (#23054)
* Adding missing python interfaces.

* fixing interface includes.

* attempting fix for CI build error related to path resolution.

* testing build

* More testing via Github Actions...

* renaming files

* fixing comparison operator.

* reverting...

* fixing CMakeLists

* fixing binding generation issue
2025-08-24 22:43:39 -05:00
Chris Hennes
9623e0d93e Merge pull request #23104 from thyssentishman/main
Split Material Exceptions.h into source and header
2025-08-24 22:38:39 -05:00
Kacper Donat
ee6c675f5a Gui: Fix Document Recovery screen 2025-08-24 22:32:24 -05:00
tetektoza
63649bb9a8 Assembly: Auto close on deleted doc for dialogs to avoid segfaults
Currently if we close document on Assembly WB while having dialog
opened, it will throw segfault because it is not being auto closed
automatically during document close. This in turn resulted in dialog
having dangling references to document that was no longer existing,
throwing segfaults in random places.

So solution is simple - add `setAutoCloseOnDeletedDocument` for every
dialog in Assembly to avoid this situation and close every dialog upon
document close.
2025-08-24 22:22:19 -05:00
dependabot[bot]
63f59411ae Bump actions/checkout from 4.2.2 to 5.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 5.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](11bd71901b...08c6903cd8)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-24 22:20:53 -05:00
wmayer
4a1076c0cd Part: Check for straight splines or Bezier curves
Straight splines or Bezier curves can be considered as line segments and thus can be used to measure e.g. angles.

This fixes https://github.com/FreeCAD/FreeCAD/issues/22878
2025-08-24 22:20:23 -05:00
wandererfan
c39ba51407 [TD]fix crash in vertex show/hide 2025-08-24 22:19:31 -05:00
wmayer
c15e46348d App: Remove build dependency to Coin3D
Fixes https://github.com/FreeCAD/FreeCAD/issues/20897
2025-08-24 22:18:55 -05:00
wmayer
7fe89bdc0b Part: Fix crash in MultiFuse::execute()
The processed shape is null and thus it's not allowed to call its ShapeType() method.
The crash is not directly related to the fact that there is a cyclic dependency

Fixes https://github.com/FreeCAD/FreeCAD/issues/22879
2025-08-24 22:17:48 -05:00
wmayer
b314d71c24 Gui: Hold the GIL when clearing the form attribute
Inside TaskDialogPython::clearForm() the interpreter may execute a lot of things where at the some point the GIL must be hold.

This very likely fixes https://github.com/FreeCAD/FreeCAD/issues/22863

@thyssentishman
Please check this branch
2025-08-24 22:17:10 -05:00
Stefan Tröger
17ec624997 FEM: Extract postprocessing data only if available. Fixes #22193 (#23127)
* FEM: Extract postprocessing data only if available. Fixes #22193

* [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-24 22:16:29 -05:00
matthiasdanner
134e34944b Sketcher: Fix constraint selection in groups (#22937)
* Fix constraint selection in groups

* include paddlestrokes refactoring and fix for more than 2 constraints in a group

---------

Co-authored-by: Matthias Danner <28687794+matthiasdanner@users.noreply.github.com>
Co-authored-by: PaddleStroke <pierrelouis.boyer@gmail.com>
2025-08-24 22:08:32 -05:00
Max Wilfinger
67f42d5890 Gui: Change default WB list in preferences 2025-08-24 21:23:41 -05:00
WandererFan
e256ff3c3d [TD]Fix no delete of cosmetic in clip group (#22838)
* [TD]Fix no delete of cosmetic in clip group

* [TD]lint clean up
2025-08-24 20:55:55 -05:00
Kacper Donat
6c9c5127a6 Part: Relax boolean requirements
The current solution checked shapes before allowing boolean operation to
happend. That meant that even small error with model in an unrelated
place could prevent the boolean from being computed, even if it would
compute fine and create valid shape. This commit changes that behaviour
so the tool at least tries to compute the results.
2025-08-24 20:54:21 -05:00
Max Wilfinger
ab5e9e0ded Fix source string mistakes reported on Crowdin (#23157)
* Fix source string mistakes reported on Crowdin

* Update src/Mod/Draft/Resources/ui/TaskPanel_CircularArray.ui

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/Resources/ui/TaskPanel_CircularArray.ui

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/draftfunctions/upgrade.py

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/draftfunctions/upgrade.py

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/draftguitools/gui_downgrade.py

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

* Update src/Mod/Draft/Resources/ui/TaskPanel_SetStyle.ui

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>

---------

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>
2025-08-24 20:51:32 -05:00
Bas Ruigrok
8e7b0b90bf Gui: Perspective camera set focal distance to rotation center depth to fix zooming at new rotation center 2025-08-24 20:49:42 -05:00
FEA-eng
f048ae8bd4 FEM: Update writeFenicsXDMF.py 2025-08-24 20:38:14 -05:00
Kacper Donat
3e6e66cea8 PartDesign: Prevent Hole from claiming other features as children 2025-08-24 20:37:44 -05:00
Kacper Donat
09b199d879 Part: Fix 2D Offset of Face
With TNP mitigation implementation handling of TopAbs_FACE was changed
in the method computing 2D offset of shape. It used to be very simple
iteration over face wires and it was instead changed to much more
complicated splitWires method. The intent of that change was to ensure
stability of the result, but it breaks existing models.

The problem is caused by OCC bug within offseting mechanism that is
dependent on wire order. Here the outer wire is moved to the end which
can cause issues.

Another issue is that for some reason, if circle is enclosed by other
shape the offset does not create proper 2D offset but moves the circle
in Z direction.
2025-08-24 20:36:47 -05:00
Roy-043
e6dcbe66de BIM: change shortcut for Arch_Space 2025-08-24 22:30:14 +02:00
Roy-043
e3c448caa6 Add import init_draft_statusbar to 2 other functions 2025-08-24 11:49:05 -05:00
Roy-043
ca2f45d99e Core: 2 Report View context menu items to Title Case 2025-08-24 13:06:39 +02:00