Commit Graph

75 Commits

Author SHA1 Message Date
André Althaus
6b721ac797 Ignore suppressed features in patterns
This will remove all suppressed features from the Originals list
before calculating the patterns.
2024-04-01 10:58:24 -05:00
wmayer
b908e46b26 PD: Mirror feature should be more permissive
If you have a mirror feature and set the mirror plane with the normal feature editing the recompute works. But if the mirror plane is set with the property editor then the recompute fails with the message that no mirror plane reference is set.

This is related to a an empty sub-name list of the link property instead of a single and empty sub-name element.

This PR allows to specify a sketch, plane or datum plane without a sub-name.

For more details see: https://forum.freecad.org/viewtopic.php?t=86568

This fixes #13238
2024-03-31 17:32:27 +02:00
Florian Foinant-Willig
24934d7843 PartDesign: modernize type checking 2023-10-23 18:08:16 +02:00
wmayer
3e09b8ee2d PD: modernize C++: use range-based for loop 2023-08-16 21:54:56 -05:00
Chris Hennes
397807b72d Gui: Minor translation fixes 2023-05-11 18:31:34 -05:00
Chris Hennes
272a84ca5b PD: Add translation to error messages 2023-04-28 11:32:56 -05:00
wmayer
52838aa6bd PD: fixes #7791: Linear Pattern With Single Occurrence Fails 2022-12-27 14:29:16 +01:00
wmayer
3e009e2693 PD: modernize C++: replace 'typedef' with 'using' 2022-08-29 22:20:49 +02:00
berniev
f4ffd15864 Mod: redundant void 2 2022-08-08 10:27:50 +02:00
wmayer
a93082bc06 PD: [skip ci] Fix several clazy issues:
* Maybe you meant to call base method instead [-Wclazy-skipped-base-method]
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
* Mixing iterators with const_iterators [-Wclazy-strict-iterators]
* Unused QByteArray [-Wclazy-unused-non-trivial-variable]
* C++11 range-loop might detach Qt container (QList) [-Wclazy-range-loop-detach]
2022-07-25 13:40:19 +02:00
Ajinkya Dahale
ed370b5fe6 [PD] Do both fuse and cut in FeatureTransformed if applicable 2022-04-23 17:55:18 +02:00
Ajinkya Dahale
cad2d2c95b [PD] Delete "Overlap" property for FeatureTransformed
This property became redundant after 9b17ab4a58476f46802179de037a627974cb892b.
2022-04-21 01:21:59 +02:00
wmayer
d4aed4c6bd PD: issue #6641: polar pattern fails 2022-04-12 16:32:54 +02:00
wmayer
d1d4b996e7 PD: modernize C++11
* use nullptr
2022-03-23 19:26:14 +01:00
Uwe
1d58c674a2 [PD] some more work to remove unused includes 2022-02-21 02:50:16 +01:00
wmayer
0c583fb7fa Part: fix typos in make* functions 2022-02-16 12:48:02 +01:00
David Osterberg
3af6bf0880 PartDesign: Silence noisy FeatureTransformed
Remove several report view messages that are not necessary for everyday use.
By request from the forum (https://forum.freecadweb.org/viewtopic.php?f=3&t=64900&start=20#p558962)
2022-01-08 15:30:39 +01:00
Uwe
f3f6f08e31 [PD] avoid a single-letter variable
(single letter variables make it hard to read and understand code quickly and are error-prone for typos)
2022-01-05 03:16:00 +01:00
David Osterberg
1f84ed1e6e PD: Fix bug in FeatureTransformed
It is important to not include the original in the pattern because the original might not be at the tip of the feature tree. Including the original
will interfere with changes that occur further down in the feature tree

This fixes the bug identified in
https://forum.freecadweb.org/viewtopic.php?f=3&t=64900
2022-01-05 02:27:53 +01:00
wmayer
2af9c5038e PD: move handling of changed properties of Transformed to handleChangedPropertyType 2021-09-15 15:20:40 +02:00
wmayer
2fd0bb6859 PD: [skip ci] fixes -Wreturn-std-move 2021-04-13 18:55:18 +02:00
wmayer
5e71f945c4 PD: remove empty try/catch block 2021-03-13 14:48:16 +01:00
David Osterberg
482129c5a4 PartDesign: Transformed. Fix regression in preview 2021-03-13 14:48:16 +01:00
David Osterberg
b7ac48aef7 PartDesign: Transformed. Fix regression for Mirrored, and multiple features 2021-03-13 14:48:16 +01:00
David Osterberg
79facc579e PartDesign: Transformed: Allow explict selection of overlap mode 2021-03-13 14:48:16 +01:00
David Osterberg
34fbe57485 PartDesign: Performance improvements in Transformed (pattern)
- Use fuzzy fuse/cut method with tolerance Precision::Confusion()
- Use parallel computation feature
- Allow that individual patterned item fail to intersect the baseobject.
	Issue warning instead of error. This was done for performance reasons
	but it can also be considered a feature.
- Simplify the code a bit
- Distinguish between overlapping mode and non-overlapping mode. In non-overlapping mode
  the tool shapes are compounded instead of fused. For huge benefit in performance.
2021-03-13 14:48:16 +01:00
David Osterberg
9d24f90dd7 PartDesign: Transformded. Align the "property category" of Refine with other PD commands 2021-02-27 18:19:14 +01:00
Zheng, Lei
35007e30e5 PartDesign: fix pattern transformation 2020-07-31 14:46:33 +02:00
Zheng, Lei
a045f58a85 PartDesign: change feature DressUp behavior when used for pattern
Repurpose DressUp.SupportTransform property to define the following
behavior,

* When disabled (default), only the dressing will be used for patterning.

* When enabled, the additive/subtractive shape of the dressed base
  feature will be used for patterning. Any dressing that is not applied
  to the based feature will be ignored.

* If the dressing is applied to non-additive/subtractive feature, then
  only the dressing will be used for patterning.

New API FreatureAddSub::getAddSubShape() is added to account for the
fact that a dressing (e.g. a fillet) can be either additive or
subtractive, which means that a DressUP feature may contain both
additive and subtractive shapes.

FeatureTransformed is modified to perform both fusion and cut if
required.
2020-07-11 13:03:21 +02:00
Zheng, Lei
8b23d814f8 PartDesign: fix line ending in source code 2020-07-11 13:02:49 +02:00
luz.paz
dc8bf3dc39 PartDesign: [skip ci] fix header uniformity
This PR fixes header uniformity across all PartDesign WB files
2019-12-22 00:58:38 +01:00
wmayer
00de5bb7ad Replace Base::Exception with appropriate subclass 2018-11-14 19:28:00 +01:00
Markus Lampert
e13c09235f Changed all catch types to references for polymorphic exceptions. 2018-08-08 15:45:30 +02:00
wandererfan
a712d49685 Revise multiple solids message 2018-07-13 10:23:42 -03:00
wandererfan
0d3008e4eb Fix #3401 warning on multiple solid
- PartDesign only uses the first result shape
  of an operation and discards the rest without
  warning.

- this also fixes #1707
2018-07-13 10:23:42 -03:00
wmayer
920a4e62b2 add missing newlines 2018-06-09 11:47:12 +02:00
wmayer
b863d1df75 improve whitespaces 2018-01-22 20:06:12 +01:00
Abdullah Tahiri
90cd417fe4 PartDesign: Fix bug of mirror transformation of multiple features
fixes #3317

This code ensures that an individual transformation or a multi-transformation have a proper
base feature and next feature.
2018-01-22 19:56:58 +01:00
DeepSOIC
1cb2d52dc2 PartDesign: #2683 add Refine property
resolves #2683

Adds Refine property to sketch-based and transformation features. The
property is initialized according to preferences, and can be altered in
property editor on per-feature basis.
2018-01-20 13:58:39 +01:00
luzpaz
0bafb04924 PartDesign: typos 2017-12-25 11:04:43 +01:00
wmayer
0d617f97d6 Port to occ7.2:
+ Standard_Failure::Caught() is now marked as deprecated and should be replaced with standard C++ exception handling
2017-09-01 16:27:46 +02:00
wmayer
6fd846ee22 handle exception thrown by BRepBuilderAPI_RefineModel 2017-07-23 15:46:57 +02:00
Kurt Kremitzki
0e2cb14c71 Show failure message when part design transformation does not intersect 2017-06-16 00:15:22 +02:00
Abdullah Tahiri
f14532c93f Fix transformation support, so that support is updated with any previous transformation executed 2017-06-16 00:15:22 +02:00
Peter Lama
fa4bebf2e0 Use OCCT Handle macro for Handle_ classes
This is the result of running OCCT's upgrade script provided
with OCCT 7.0. See
https://www.opencascade.com/content/freecad-occt710-and-windows-rtti-data-missing#comment-form
and
https://www.forum.freecadweb.org/viewtopic.php?f=4&t=21405&start=120#p169019
for why this is necessary for OCCT >= 7.1
2017-04-20 12:27:34 +02:00
Wolfgang E. Sanyer
d1d2f1f811 This commit adds getShape and setShape to TopoShape 2016-08-06 23:42:55 +02:00
Stefan Tröger
609da4749a fixes #0002512 Allow multi-face part design tools 2016-05-18 23:54:18 +02:00
Stefan Tröger
12e793bde8 PartDesign: Adopt pattern to face based features 2016-04-12 18:12:22 +02:00
Stefan Tröger
ae9dac71d7 PartDesign: Modeling features work with faces
-Rename Sketchbased to ProfileBased to show new behavior
-Adopt ProfileBased to make the relevant helper functions work with faces too
-Adopt features for unified use of helper functions
-Adopt commands to allow face selection
2016-04-12 18:12:22 +02:00
Alexander Golubev
f6ed16438f PartDesign: make transform parameter dialogs use common base code with other dialogs
subj;
Make PasrtDesign::Transformed provide common for all features
classes interface getBaseObject() instead of specific getSupportObject ();
Refactor some TransformedParameters methods.
2016-04-12 18:12:16 +02:00