Commit Graph

3460 Commits

Author SHA1 Message Date
wmayer
f00fbe0070 Measure: Allow any surface type for MeasureArea 2025-08-25 09:23:54 +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
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
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
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
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
Benjamin Nauck
b72d1e5359 Part: Fix WireJoiner error handling (#23241)
* Part: Fix WireJoiner error handling

* Part: Rename assertCheck to ENSURE
2025-08-20 22:26:56 +02:00
tetektoza
d72422446f Part: Assign proper row and column to compound body property in prefs
As the title says, really small fix to the overlapping preferences for
Part/Part Design preferences.
2025-08-20 21:22:33 +02:00
Kacper Donat
8c86469486 Part: Fix wrong capitalization of Display options property group 2025-08-18 18:18:15 +02:00
Chris Hennes
40b1ea294c Update translations 2025-08-18 17:55:24 +02:00
drwho495
a48cc162cb Part: Fix toponaming issues. (#23151)
* fix split apart and splice

* fix hasher gen issue in extrusion

* fix broken gen in fillet/chamfer

* error when elements go missing in fillet/chamfer

* fix hashing in some elements

* fix compiler errors

* fix sweep

* remove hasher from mirror

* remove old import

* add clarifying comment

* Linter cleanup

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-08-18 01:35:46 +00:00
Max Wilfinger
abb7007596 PartDesign: Enable compounds for PD bodies 2025-08-18 01:09:07 +02:00
Kacper Donat
c76e21f125 Part: Prevent crash on cross-section of invalid object 2025-08-15 15:31:02 -05:00
drwho495
f818535768 Toponaming: Fix bad element map in Part Design Bodies (#22767) 2025-08-11 10:41:39 -05:00
Max Wilfinger
1850c5dc0f Fix missed strings for UI consistency
Fix ellipsis rendering
2025-08-08 06:37:59 -05:00
Kacper Donat
2c5d8bce3e Part: Cleanup setupCoinGeometry method 2025-08-07 00:37:47 +02:00
Kacper Donat
f539a38389 PartDesign: Add preview TaskBox to all feature task dialogs 2025-08-07 00:37:46 +02:00
Kacper Donat
ca2b1cdf84 PartDesign: Add support for preview for transforms 2025-08-07 00:37:23 +02:00
Kacper Donat
c4b741f488 PartDesign: Add transparent previews 2025-08-07 00:37:21 +02:00
Max Wilfinger
0be9b79093 Part: Update UI strings for consistency
Closes: #22133
2025-08-04 20:14:51 +02:00
FEA-eng
19756e785b Part: Remove redundant Part Import and Export tools from the menu (#22116)
* Part: Update Workbench.cpp
2025-08-04 10:43:18 -05:00
tetektoza
c0a517285f Part: Enable SwitchToTask as a preference (#22136)
* Part: Enable SwitchToTask as a preference

As the title says. No clue why this variable was not available in
preferences, but giving it to users allow them to stop Part Design
workbench to switch to Tasks tab by default, everytime they switch
workbench, which users claim to be annoying.

So this patch adds this preference under Part/Part Design.

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

Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>

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

Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>

---------

Co-authored-by: Kacper Donat <kadet1090@gmail.com>
Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>
2025-08-02 16:22:47 +00:00
Chris Hennes
a4d0a691b5 Part: Add error handling to TopoShape::isLinearEdge 2025-07-26 11:17:33 +02:00
Kacper Donat
0270515a33 Merge pull request #22660 from chennes/fixMultResultConvertedToLargerType
Fix mult result converted to larger type
2025-07-25 10:20:03 +02:00
tomate44
163a4a4a2d Part: Feature Offset2D fix #22563 2025-07-22 20:40:51 -05:00
Chris Hennes
5d84b6044b Part: Fix multiplication result converted to larger type 2025-07-21 23:40:56 -05:00
PaddleStroke
54e99ea328 Fix https://github.com/FreeCAD/FreeCAD/issues/21936 2025-07-21 11:03:12 -05:00
Max Wilfinger
05505e3f31 Part: Align to selection - implement for 1 non-planar face selection (#22365)
* Part: Align to selection - implement for 1 non-planar face

* Clean up suggested code changes
2025-07-19 11:21:46 +02:00
Kacper Donat
6f3f0b1d0d Attacher: Orient normals correctly for Midpoint
Co-authored-by: Max Wilfinger <max@wilfinger.de>
2025-07-18 01:12:22 +02:00
theo-vt
50840e358f Use correct flag 2025-07-14 18:28:33 +02:00
theo-vt
a933c22dad Allow open wires in Part::getProfileNormal 2025-07-14 17:38:51 +02:00
FEA-eng
393edbcb3e 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
Bas Ruigrok
37b0d12e83 Part: Remove use of adjustCameraPosition() 2025-06-23 19:27:09 +02:00
Bas Ruigrok
7a63946762 Part: Align to planar curves normal direction 2025-06-22 21:43:45 -05:00
Chris Hennes
f0b53af32f Part: Remove remnants of code from TNP merge 2025-06-20 22:41:24 +02:00
paddle
24efbf4234 Part: FaceMakerRing from RealThunder's branch.
Co-authored-by: Zheng Lei <realthunder.dev@gmail.com>
Co-authored-by: Pierre-Louis Boyer <pierrelouis.boyer@gmail.com>
2025-06-16 10:33:35 -05:00
Chris Hennes
30aee57880 Merge pull request #21659 from 3x380V/gui_fixes
Gui: random fixes
2025-06-03 19:23:21 -05:00
Kacper Donat
df6949dcde Merge pull request #21427 from tritao/async-occt-progress
Part: Introduce `OCCTProgressIndicator` and port operations to support it.
2025-06-02 18:04:38 +02:00
Yorik van Havre
640642eed2 Translations: Merged crowdin translations 2025-06-02 11:48:26 +02:00
Yorik van Havre
26e16765b0 Translations: updated ts files 2025-06-02 11:07:28 +02:00
Joao Matos
2da938b545 Part: Add OCCT progress support to Part boolean and shape builders
Introduce a `Build(const Message_ProgressRange&)` overload in
`FCBRepAlgoAPI_BooleanOperation` (guarded by `OCC_VERSION_HEX <
0x070600`) and route user-abort checks around the operation. Add a new
`OCCTProgressIndicator` adapter (`OCCTProgressIndicator.h`) that bridges
`Message_ProgressIndicator` to `Base::ProgressIndicator`. Include
`OCCTProgressIndicator.h` where needed and update all `Build()` calls in
`TopoShape` and `TopoShapeExpansion` to pass
`OCCTProgressIndicator().Start()`, enabling singleton-based progress
reporting and user-break handling.
2025-05-30 18:25:32 +01:00
wmayer
9497ddf5e1 Gui: Replace calls of FCMD_SET_EDIT with Gui::cmdSetEdit 2025-05-30 18:04:33 +02:00
theo-vt
1a0a68ae69 PartDesign: Fix hole centered on point edge case (#21257)
* Light refactor of getTopoShape function

* Fix hole edge case

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

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

* Update src/Mod/Part/App/PartFeature.cpp

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

* Update src/Mod/Part/App/PartFeature.cpp

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

* Update src/Mod/Part/App/PartFeature.cpp

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

* Update src/Mod/Part/App/PartFeature.cpp

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

* Refactor simplifyCompound()

* Use Base::Flags<GetShapeOption>

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

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

* Shorten enum name and move it from class scope to namespace scope

* [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>
Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-05-29 22:37:54 +02:00
hlorus
900afce86f Measure: Add MeasureElementType::Surface 2025-05-20 12:01:14 +02:00
Andrea
b5feb01cdc Remove oldFuse funcion
oldFuse is deprecated since OCC 7.3
2025-05-19 18:21:07 +02:00
Chris Hennes
f5ab6295ba UI: Remove qPixmapFromMimeSource pixmap function
This function dates back to Qt3, and was removed in Qt4. Modern Qt no
longer uses this ui file entry, and in some circumstances the uic
complains about its presence.
2025-05-15 00:56:30 +02:00
Chris Hennes
952485dcbb Merge pull request #19907 from benj5378/getAttribute
Base: make getAttribute template
2025-05-12 10:39:55 -05:00
Kacper Donat
cf4357ed38 Gui: Fix handling - character in OVP 2025-05-12 08:55:09 -05:00
Benjamin Bræstrup Sayoc
2b6e73c29d Everywhere: clean up getAttribute conversions 2025-05-09 15:54:57 +02:00