Commit Graph

58 Commits

Author SHA1 Message Date
Uwe
dfa62af40f [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
a0746a0c02 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
e273954135 PD: move handling of changed properties of Transformed to handleChangedPropertyType 2021-09-15 15:20:40 +02:00
wmayer
d504c12517 PD: [skip ci] fixes -Wreturn-std-move 2021-04-13 18:55:18 +02:00
wmayer
ee60ccd044 PD: remove empty try/catch block 2021-03-13 14:48:16 +01:00
David Osterberg
3131b97aa8 PartDesign: Transformed. Fix regression in preview 2021-03-13 14:48:16 +01:00
David Osterberg
8453d41515 PartDesign: Transformed. Fix regression for Mirrored, and multiple features 2021-03-13 14:48:16 +01:00
David Osterberg
fecf9c2e84 PartDesign: Transformed: Allow explict selection of overlap mode 2021-03-13 14:48:16 +01:00
David Osterberg
03da9d3501 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
16ff933b09 PartDesign: Transformded. Align the "property category" of Refine with other PD commands 2021-02-27 18:19:14 +01:00
Zheng, Lei
4a5cca3359 PartDesign: fix pattern transformation 2020-07-31 14:46:33 +02:00
Zheng, Lei
7fadfd0439 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
233e6f931a PartDesign: fix line ending in source code 2020-07-11 13:02:49 +02:00
luz.paz
d38f18af23 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
7acdb56d92 Replace Base::Exception with appropriate subclass 2018-11-14 19:28:00 +01:00
Markus Lampert
0b40519f3f Changed all catch types to references for polymorphic exceptions. 2018-08-08 15:45:30 +02:00
wandererfan
7e781bcfd0 Revise multiple solids message 2018-07-13 10:23:42 -03:00
wandererfan
883a726d52 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
833c2c601e add missing newlines 2018-06-09 11:47:12 +02:00
wmayer
4d36757636 improve whitespaces 2018-01-22 20:06:12 +01:00
Abdullah Tahiri
01e6cde7aa 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
27701ae852 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
c1152f2a2c PartDesign: typos 2017-12-25 11:04:43 +01:00
wmayer
949c86d364 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
488c1a1fdf handle exception thrown by BRepBuilderAPI_RefineModel 2017-07-23 15:46:57 +02:00
Kurt Kremitzki
6f18ce63ed Show failure message when part design transformation does not intersect 2017-06-16 00:15:22 +02:00
Abdullah Tahiri
ff188383a1 Fix transformation support, so that support is updated with any previous transformation executed 2017-06-16 00:15:22 +02:00
Peter Lama
a75a98ef27 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
7f4a437cc2 This commit adds getShape and setShape to TopoShape 2016-08-06 23:42:55 +02:00
Stefan Tröger
83ce80f133 fixes #0002512 Allow multi-face part design tools 2016-05-18 23:54:18 +02:00
Stefan Tröger
4ec7fe6303 PartDesign: Adopt pattern to face based features 2016-04-12 18:12:22 +02:00
Stefan Tröger
f712f5e4ac 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
113c10a2b7 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
Stefan Tröger
d923bebccc make transform features work with non-sketch based features 2016-04-12 18:12:07 +02:00
Stefan Tröger
9a2f5eea65 allow non-sketch based additive and subtractive features 2016-04-12 18:12:06 +02:00
blobfish
4b2f107cc1 Part Design: support for overlapping and coincident patterns
Fixed crash after rejecting a MultiTransform dialog
    remove overlap check
    adding getSolid to cut operation
    add extrema method to part::checkinterference
    move refineshape call out of loops
    divideTools functions
2016-04-12 18:12:00 +02:00
Jan Rheinländer
1772eb70bc PartDesign::Transformed: Transformed shapes that touch are now rejected as overlapping in the interest of boolean operation stability 2016-04-12 18:12:00 +02:00
jrheinlaender
fcea39b0d8 Enable multiple originals for the transformed features 2016-04-12 18:11:56 +02:00
jrheinlaender
4645fdcd37 Miscellaneous fixes 2016-04-12 18:11:50 +02:00
jrheinlaender
7330d4357e Made the rest of the PartDesign features aware of the Body 2016-04-12 18:11:49 +02:00
wmayer
50d7793442 + introduce proper enum for property status to replace plain integers 2016-01-01 15:36:24 +01:00
wmayer
b7be7aec13 + Prefer prefix ++/-- operators for non-primitive types 2015-10-07 13:38:17 +02:00
wmayer
60062892a6 + backward compatibility of Linear and Polar pattern 2015-09-22 18:04:07 +02:00
wmayer
e47b85994c + fix possible crashes in mirror and polar pattern feature 2014-03-31 16:35:22 +02:00
wmayer
aaeba38e78 + Fix crash when editing the linear pattern feature, suppress some warnings in release mode 2014-03-31 14:42:55 +02:00
wmayer
3cc032c11e + Add option to refine solid on sketch-based features 2013-09-21 09:16:44 +02:00
wmayer
ce0e6e5cef Make FeaturePython Python binding a template class to avoid code duplication 2013-03-22 00:34:18 +01:00
jrheinlaender
8235008ae7 PartDesign: Show overlapping transformations as rejected 2013-02-26 11:29:03 +01:00
jrheinlaender
18da371546 Re-worked Part::checkIntersection to give less false positives for pattern features 2013-02-08 14:32:00 +01:00
logari81
525cddaaf3 PartDesign: Refactor pattern features and gui
- remove StdDirection,StdAxis and StdMirrorPlane properties
- support sketch H_Axis, V_Axis, N_axis as valid references in patterns
- polish reference selection gui (unified for standard axes and custom references)
2013-01-09 23:18:38 +01:00