Commit Graph

1064 Commits

Author SHA1 Message Date
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
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
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
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
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
ff17eb611a PD: hole: calculate depth of countersink and adjust other parameters accordingly when changed 2025-05-23 17:36:26 -06: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
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
Florian Foinant-Willig
57b9a41335 PartDesign: Fix #20205 where Placement changes at Suppression 2025-04-16 20:39:58 +02:00
Benjamin Nauck
f932c7e4e0 Use Base::toRadians() instead of manually converting 2025-04-15 07:16:36 +02:00
Kacper Donat
b300c80b90 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
fa3c6e1068 [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
35a9673a75 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
65a0fb0ed4 PartDesign: Add #include <limits> where used 2025-03-31 23:52:18 +02:00
Benjamin Nauck
98876d070d PartDesign: Use std::numeric_limits and std::numbers instead of defines 2025-03-29 13:32:38 +01:00
Joao Matos
ee4c9a6e8b PartDesign: Remove XML binding files. 2025-03-25 06:11:22 +01:00
Chris Hennes
723d16fcff PD: Eliminate unused variable in FeatureHole 2025-03-23 18:25:40 +01:00
Chris Hennes
8f2e330a53 PD: Check threadType before using to index
Coverity issue 545314
2025-03-22 07:15:15 +01:00
tritao
16968aa3ee PartDesign: Convert XML bindings to Python API bindings model. 2025-03-21 23:14:24 +01:00
tritao
6c2c6847eb CMake: Cleanup targets with transitive dependencies 2025-03-17 12:12:06 +00:00
Chris Hennes
5f623390fb 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
31db67d375 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
965af2bf9a PartDesign: apply std::ranges 2025-03-16 17:17:15 -05:00
Chris Hennes
a028d8d299 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
9bcdd2d44c Rename DocumentCreateFlags to DocumentInitFlags. 2025-03-07 20:54:16 +00:00
Joao Matos
1c2ac570f8 Convert DocumentCreateFlags instances to use designated initializer list. 2025-03-07 20:42:51 +00:00
Pascal de Bruijn
599f100c4f PartDesign: explicitly thread pitch for regular profile ISO threads 2025-03-07 08:27:58 -06:00
PaddleStroke
077745d737 PartDesign: Fix App::Line as ref for polar pattern 2025-03-06 17:31:38 +01:00
Benjamin Bræstrup Sayoc
755229df23 Build: suppress warnings from 3rd party libraries
Warnings from 3rd parties are not relevant and are only polluting the warning output. Marking these libraries as SYSTEM suppresses warning.

https://gcc.gnu.org/onlinedocs/cpp/Invocation.html#index-I
https://gcc.gnu.org/onlinedocs/cpp/System-Headers.html
2025-02-25 14:39:05 +00:00
Joao Matos
cc6ffb44de Core: Move PyCXX library to src/3rdParty. 2025-02-24 16:36:06 +00:00
Chris Hennes
68e934ba18 Merge pull request #15690 from bgbsww/bgbsww-toponamingAddFeatureRefine
Toponaming add feature refine class
2025-02-17 10:28:32 -06:00
Chris Hennes
5d83f6dfdf Merge pull request #19627 from alfrix/featurehole_refactors
refactor(PD): Featurehole optimizations and cleanups
2025-02-17 10:16:37 -06:00
Chris Hennes
c50cb07974 Update src/Mod/PartDesign/App/FeatureRefine.h
Co-authored-by: Florian Foinant-Willig <FlachyJoe@users.noreply.github.com>
2025-02-16 13:56:54 -06:00
Chris Hennes
a2cef23dbd PD: Combine onlyHaveRefined and onlyHasToRefine
Co-authored-by: Florian Foinant-Willig <FlachyJoe@users.noreply.github.com>
2025-02-16 11:25:45 -06:00
Joao Matos
27ebc68a11 CMake: Modernize build files using outdated Python variables. 2025-02-16 10:21:26 -06:00
Alfredo Monclus
f93396e566 refactor(PD): simplify setreadonly on type switch 2025-02-15 16:12:49 -03:00
Alfredo Monclus
dff79b6b08 refactor(PD): reduce the number of comparisons 2025-02-15 06:29:04 -03:00
Ziad
eb886449c2 PartDesign: Allow Draft negative angles 2025-02-14 14:57:14 -06:00
tritao
9636068460 Base: Move zipios library to 3rdParty folder. 2025-02-14 13:08:28 -06:00