Commit Graph

1077 Commits

Author SHA1 Message Date
theo-vt
270776c92f PartDesign: Hole: fallback to getProfileNormal when a non-cylindrical surface is used 2025-08-15 10:09:23 -05:00
Kacper Donat
b73bb45ae1 PartDesign: Implement preview for Draft 2025-08-12 11:34:26 -05: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
be0c0e7a74 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
9091048627 Try to auto-fix any invalid generated helix 2025-08-04 17:52:06 +02:00
Ladislav Michl
a3e43d97f6 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: 301194a69682 ("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
d699d38537 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
f5c315d05a PartDesign: Add migration tag 2025-07-22 09:03:27 +02:00
wmayer
06eeea8cb2 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
a933c22dad Allow open wires in Part::getProfileNormal 2025-07-14 17:38:51 +02:00
Andrea
6f18b152ed Remove unused deprecated functions
Remove unused deprecated functions
2025-06-30 10:40:10 -05:00
wmayer
86359a3183 PD: Correctly handle single solid rule for loft with and without base 2025-06-25 00:14:15 +02:00
wmayer
7335c798d1 PD: Use isSingleSolidRuleSatisfied() for pipe feature
This fixes issue 18977

Fixes: 17ad40b2c9f0 ("PartDesign: Refactor single-solid rule enforcement")
2025-06-25 00:13:54 +02:00
wmayer
25e73289ae 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: 17ad40b2c9f0 ("PartDesign: Refactor single-solid rule enforcement")
2025-06-25 00:09:33 +02:00
David Tanana
3f7438a686 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
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
Alfredo Monclus
b21cf693f1 feat(PD): ISO tyre valve threads 2025-06-02 10:50:10 -05:00
James Stanley
7093b0b9f0 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
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
Alfredo Monclus
8a4501c900 PD: hole safeguard countersink depth calculation against possible math issues 2025-05-24 02:05:06 -06:00
Alfredo Monclus
432e20c60c PD: hole calculate counterbore and countersink if no standards are available 2025-05-23 20:51:35 -06:00
Alfredo Monclus
555dfc6ccb PD: hole: calculate depth of countersink and adjust other parameters accordingly when changed 2025-05-23 17:36:26 -06:00
Chris Hennes
952485dcbb Merge pull request #19907 from benj5378/getAttribute
Base: make getAttribute template
2025-05-12 10:39:55 -05:00
Benjamin Bræstrup Sayoc
2b1aec0041 Base: make getAttribute template 2025-05-09 15:54:57 +02:00
theo-vt
777d20b812 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
f2fa2f1360 PartDesign: Merge pull request #21015 from Beep6581/fix-thread-pitch
Fixes hole thread pitch
2025-05-07 21:53:09 +02:00
bofdahof
ba2c2ca5ad Console: rename PascalCase named methods to camelCase 2025-05-06 17:50:21 +02:00
Ladislav Michl
9683cf1e4f Base: rename Exception's PascalCase methods to camelCase 2025-05-05 23:50:01 +02:00
theo-vt
f2cc750250 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
db40acce72 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
Florian Foinant-Willig
09ba446acd PartDesign: Fix #20205 where Placement changes at Suppression 2025-04-16 20:39:58 +02:00
Benjamin Nauck
21fbf8e539 Use Base::toRadians() instead of manually converting 2025-04-15 07:16:36 +02:00
Kacper Donat
77e40b9747 Base: Use explicit pointer syntax for freecad_cast (#20694)
* Base: Use explicit pointer syntax for freecad_cast

This aligns our custom cast with other casts

* All: Use explicit pointer syntax for freecad_cast
2025-04-11 14:11:33 +00:00
Syres916
b2fb84fb3a [PartDesign] Fix spelling of auxiliary and curvilinear…
…but also handle the properties name change from old files
2025-04-07 11:30:51 -05:00
Kacper Donat
9d97d1c895 Base: Rename Base::freecad_dynamic_cast into freecad_cast
This is to make it shorter and easier to use. QT does the same thing
with their qobject_cast.
2025-04-07 10:32:28 -05:00
Benjamin Nauck
913850ef04 PartDesign: Add #include <limits> where used 2025-03-31 23:52:18 +02:00
Benjamin Nauck
c2e885d774 PartDesign: Use std::numeric_limits and std::numbers instead of defines 2025-03-29 13:32:38 +01:00
Joao Matos
bbe9fbccb5 PartDesign: Remove XML binding files. 2025-03-25 06:11:22 +01:00
Chris Hennes
4b772aff28 PD: Eliminate unused variable in FeatureHole 2025-03-23 18:25:40 +01:00
Chris Hennes
dd340eab51 PD: Check threadType before using to index
Coverity issue 545314
2025-03-22 07:15:15 +01:00
tritao
c880b5704f PartDesign: Convert XML bindings to Python API bindings model. 2025-03-21 23:14:24 +01:00
tritao
cdab9c7837 CMake: Cleanup targets with transitive dependencies 2025-03-17 12:12:06 +00:00
Chris Hennes
9a77120e82 Merge pull request #20142 from bofdahof/ranges
Apply C++20 std::ranges (mainly to std::find)
2025-03-17 03:08:27 -05:00
Chris Hennes
88ab38a100 Merge pull request #19252 from pmjdebruijn/thread
PartDesign: explicitly thread pitch for regular profile ISO threads
2025-03-17 00:00:14 -05:00
bofdahof
216a76e971 PartDesign: apply std::ranges 2025-03-16 17:17:15 -05:00
Chris Hennes
144b44f2db Merge pull request #20058 from tritao/fix-app-document-main-doc-load
App: Fix regression for document creation requests coming from the main document.
2025-03-07 23:28:27 +00:00
Joao Matos
6dd5246fa1 Rename DocumentCreateFlags to DocumentInitFlags. 2025-03-07 20:54:16 +00:00
Joao Matos
81a5b78b36 Convert DocumentCreateFlags instances to use designated initializer list. 2025-03-07 20:42:51 +00:00