Commit Graph

2774 Commits

Author SHA1 Message Date
Kacper Donat
bdba939f9f PartDesign: Implement preview for Draft 2025-08-12 11:34:26 -05:00
Alfredo Monclus
d2986cd99a PartDesign: disable final model while selecting on dressups (fillet/chamfer)
Co-authored-by: Kacper Donat <kacper@kadet.net>
2025-08-07 00:37:47 +02:00
Alfredo Monclus
a5c2ccaa87 Gui: refactor: change Preview button label to Confirm Selection
Transparent preview can be enabled so it wasn't representative
2025-08-07 00:37:47 +02:00
Kacper Donat
802af4c464 PartDesign: Add preview TaskBox to all feature task dialogs 2025-08-07 00:37:46 +02:00
Kacper Donat
6caceacb95 PartDesign: Add support for preview for transforms 2025-08-07 00:37:23 +02:00
Kacper Donat
7f87d87f61 PartDesign: Add transparent previews 2025-08-07 00:37:21 +02:00
Kacper Donat
38db306a84 PartDesign: Return to previous feature after edit 2025-08-07 00:36:23 +02:00
Ryan Kembrey
18702dfd6a PartDesign: Fix regression in mirror 2025-08-05 16:29:12 +02:00
Max Wilfinger
bee89d0447 PartDesign: Update UI strings for consistency and correct for new fuctions and typos
Closes: #22128
2025-08-04 20:15:04 +02:00
Florian Foinant-Willig
39c902c616 Try to auto-fix any invalid generated helix 2025-08-04 17:52:06 +02:00
Syres916
123b3b066b Tests: Add test for two face loft 2025-08-03 19:14:09 +02:00
Ladislav Michl
9a5d934eab PD: Fix loft between curved faces
Fixes issue 19183 also reported in the forum:
https://forum.freecad.org/viewtopic.php?p=806495
https://forum.freecad.org/viewtopic.php?t=88234

The actual reason for the failure is that the new code uses
FaceMakerBullseye method which expects coplanar wires.
The code was using FaceMakerCheese previously which changed
in LinkStage with their commit 93ce3edfe7ff
("PD: use FaceMakerBullseye for feature Loft")
and was imported here with TNP mitigations.

As changing it back would cause different regressions, lets
try different facemakers until one succeeds.

Fixes: fa8f29aed4 ("Toponaming/Part: Fix all getBaseTopoShape calls...")
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
Co-authored-by: Werner Mayer <wmayer@freecad.org>
2025-08-03 19:14:09 +02:00
theo-vt
7481a5d8dd PartDesign: Hole: get direction from cylindrical surface rather than normal (#22393)
* PartDesign: Hole: Find direction of cylindrical face in Hole::execute instead of FeatureSketchBased::getProfileNormal

* PartDesign: Minor cleanups in guessNormalDirection

---------

Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-07-28 02:06:50 +00:00
Pieter Hijma
ca9ecfb517 PartDesign: Add migration tag 2025-07-22 09:03:27 +02:00
wmayer
48785dfd0e PD: Fix crash in Loft::getSectionShape
The passed DocumentObject pointer can be null which is nowhere checked.
This fixes issue 19545

Fixes: 256ad7a01a ("PartDesign: Loft Intelligence - Select the whole sketch if the selected shape is ...")
2025-07-18 09:57:29 -05:00
theo-vt
e38fe196d5 Allow open wires in Part::getProfileNormal 2025-07-14 17:38:51 +02:00
Andrea
c9294d3c78 Remove unused deprecated functions
Remove unused deprecated functions
2025-06-30 10:40:10 -05:00
Kacper Donat
8fe791bd6f Merge pull request #22169 from 3x380V/fix_19002
PD: Fix regression about single-solid check
2025-06-25 21:40:05 +02:00
wmayer
23d93e45ff PD: Correctly handle single solid rule for loft with and without base 2025-06-25 00:14:15 +02:00
wmayer
4ac7f57ac4 PD: Use isSingleSolidRuleSatisfied() for pipe feature
This fixes issue 18977

Fixes: 935bdf9a0f ("PartDesign: Refactor single-solid rule enforcement")
2025-06-25 00:13:54 +02:00
wmayer
eb52dd4a9a PD: Fix regression about single-solid check
For several PD features the single-solid check fails. The regression
is caused by PR 13960 and reported as issue 19002. The reason for the
failure is that the first solid of the output shape is retrieved and
then checked for a single solid. This test will always pass, of course.

The single-solid is fixed for these features:
* Pad
* Pocket (never worked there)
* Fillet
* Chamfer
* Groove (never worked there)
* Revolution (never worked there)
* Loft

Fixes: 935bdf9a0f ("PartDesign: Refactor single-solid rule enforcement")
2025-06-25 00:09:33 +02:00
Bas Ruigrok
699c06dd0c PartDesign: Remove use of adjustCameraPosition() 2025-06-23 19:28:56 +02:00
David Tanana
e17a83fa1f PartDesign: Added 1 3/16 16 threaded drill hole diameter (#22000)
* Adding UNf 1 3/16  16 to this list
* Updating type and test params
2025-06-17 08:59:00 -05:00
wmayer
456659d763 Test: Do not write test files into CWD
When running the tests make sure to write the test files into the temp directory.

This fixes issue 19112
2025-06-10 17:11:25 +02:00
wmayer
017f2c8842 Helper function to get preferred delete key depending on platform 2025-06-09 18:10:52 +02:00
Chris Hennes
272c3034b4 Merge pull request #21659 from 3x380V/gui_fixes
Gui: random fixes
2025-06-03 19:23:21 -05:00
Alfredo Monclus
69f3dae845 PD: hole change the task panel threaded and model thread checkboxes into a combo/dropdown (#21664)
* PD: hole change threaded and modeled to combo in taskpanel

* Gui: Property editor apply review suggestions
2025-06-03 21:14:52 +02:00
Kacper Donat
c6130552ca 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
Alfredo Monclus
551c15b48f feat(PD): ISO tyre valve threads 2025-06-02 10:50:10 -05:00
Yorik van Havre
94144ecd99 Translations: Merged crowdin translations 2025-06-02 11:48:26 +02:00
Yorik van Havre
bba4a7b990 Translations: updated ts files 2025-06-02 11:07:28 +02:00
James Stanley
eadd0bc191 PartDesign: Add OCCT progress support to FeatureTransformed.
Include `<Base/ProgressIndicator.h>` and bail out when
`Base::ProgressIndicator::getInstance().UserBreak()` returns true during
transformation loops and composite operations in
`FeatureTransformed.cpp`.
2025-05-30 18:25:32 +01:00
wmayer
5d11b2938f Gui: Replace calls of FCMD_SET_EDIT with Gui::cmdSetEdit 2025-05-30 18:04:33 +02:00
theo-vt
13e7952ccc 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
Alfredo Monclus
3aabb826aa PD: hole safeguard countersink depth calculation against possible math issues 2025-05-24 02:05:06 -06:00
Alfredo Monclus
07e7918baf PD: hole calculate counterbore and countersink if no standards are available 2025-05-23 20:51:35 -06:00
Alfredo Monclus
9bbddbc1f6 PD: hole fix head custom values checkbox not appearing 2025-05-23 20:51:28 -06:00
Alfredo Monclus
ff17eb611a PD: hole: calculate depth of countersink and adjust other parameters accordingly when changed 2025-05-23 17:36:26 -06:00
Alfredo Monclus
236c287f16 PD: hole: fix standarized head cuts not working in metric regular sizes 2025-05-23 14:15:44 -06:00
Alfredo Monclus
dc58468088 PD: move the base profiles types to the top 2025-05-15 23:31:55 +02:00
Chris Hennes
f5806841b6 Merge pull request #19907 from benj5378/getAttribute
Base: make getAttribute template
2025-05-12 10:39:55 -05:00
Benjamin Bræstrup Sayoc
492b8312b3 Base: make getAttribute template 2025-05-09 15:54:57 +02:00
theo-vt
e56979e76e PartDesign: Fix no longer possible to make a hole from one selected circle in a sketch (#21030)
* Search for profile shape subelements without simplifying compounds for hole center detection

* Simpler solution
2025-05-08 16:47:26 +00:00
Beep6581
601c0f9b09 PartDesign: Merge pull request #21015 from Beep6581/fix-thread-pitch
Fixes hole thread pitch
2025-05-07 21:53:09 +02:00
bofdahof
998f4e4d45 Console: rename PascalCase named methods to camelCase 2025-05-06 17:50:21 +02:00
Ladislav Michl
c293d74566 Base: rename Exception's PascalCase methods to camelCase 2025-05-05 23:50:01 +02:00
Kacper Donat
b5119d996b PartDesign: Use freecad_cast whenever possible 2025-04-26 14:23:25 +02:00
Florian Foinant-Willig
d6dd100266 PartDesign: Prevent user to remove core properties 2025-04-22 23:52:17 +02:00
theo-vt
774ec2cc93 PartDesign: Center holes on sketch points as well as circles and arcs (#20583)
Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-04-21 23:30:57 +02:00
Alfredo Monclus
70007a28c1 refactor: add disambiguation to clearance hole names and use names from the standard (#19869)
* PD: refactor: threadFit use standard naming and add disambiguation

* PD: fix: do not use variables for tr
2025-04-21 09:54:23 -05:00