Commit Graph

44 Commits

Author SHA1 Message Date
David Osterberg
f0d3e19a4e PartDesign: Fix hardcoded through all distance in ProfileBased
Before the throughall distance was 10 m, which is not enough for
many applications. The fix is to use the bounding box of the base shape
together with the sketch profile to calculate dynamically a large enough
length.
2021-02-12 18:37:56 +01:00
David Osterberg
59ec3cb141 PartDesign: New features AdditiveHelix and SubtractiveHelix
These features, based on the code for the Pipe class, allow the user
to simply create a helical sweep within PartDesign workbench.

Sample application is threads, springs, coils, augers, etc.

Also, remove needless requirement for positive cone angle on helixes.

Thanks to @bitacovir for helping with the icons
Thanks to @chennes for review
Thanks to @vosk for review
Thanks to @wwmayer for review

Enforce that links stay within scope for ProfileBased features
This also ensures that the Body itself is not used for creating features within
the body, causing a "Graph not a DAG" error.
2021-02-04 13:01:12 +01:00
Zheng, Lei
4dd16c58ed PartDesign: allow multiple faces in feature ProfileBased 2020-03-20 16:38:00 +01:00
wmayer
972ec50f28 fixes #0003979: Pocket with mode 'up to face' doesn't work correctly 2019-06-15 23:54:10 +02:00
DeepSOIC
46621a85d4 PartDesign: Refine property for primitives #3488 2018-09-11 07:16:49 +02: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
Unknown
ad457ba96b Misc. Typos 2017-10-09 19:59:33 +02:00
Eivind Kvedalen
04065564ae Make PartDesign::ProfileBased::onChanged(...) protected (not private). 2017-07-26 23:39:00 +02:00
wmayer
6347d48449 remove duplicate and unused class 2016-11-07 12:28:22 +01:00
DeepSOIC
320763d78a PartDesign: port to use FaceMaker
Minimalistic port. Only re-use code that was duplicate before.
2016-10-01 23:13:44 +03:00
wmayer
664cf65d26 fix -Wextra in PartDesign 2016-09-22 18:34:56 +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
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
55f3f52f54 PartDesign/Feature: add an optional parameter to getBaseObject() to prevent it from throwing exceptions
In most cases getBaseObject() is used with an exception handler which
only detects if it failed but not the reason. This modification allows
to use it without excess exception handlers.
Also add the same parameter to SketchBased::getVerifiedSketch().
2016-04-12 18:12:15 +02:00
DeepSOIC
4b48362ec6 PartDesign: refactor positionBySketch
Rename it to positionByPrevious. Rewrite.
Rewrite SketchBased::transformPlacement.
2016-04-12 18:12:11 +02:00
DeepSOIC
03be8e1bba PartDesign: tidy up sketch support and base feature confusion
Not complete, transformPlacement and positionBySketch are pending...
2016-04-12 18:12:11 +02:00
Stefan Tröger
9a2f5eea65 allow non-sketch based additive and subtractive features 2016-04-12 18:12:06 +02:00
jrheinlaender
f1b5a6044d Allow extruding from a datum plane to another face or plane, optionally with an offset 2016-04-12 18:11:53 +02:00
jrheinlaender
75dc92fd90 Enable edges and datum lines as rotation axis for Groove and Revolution features 2016-04-12 18:11:51 +02:00
jrheinlaender
d8462d135b Miscellaneous fixes 2016-04-12 18:11:50 +02:00
jrheinlaender
f954a51430 Pad/Pocket: Allow extrude up to a datum plane 2016-04-12 18:11:50 +02:00
jrheinlaender
b815656649 Refactored code of SketchBased features to have common code in an abstract superclass 2016-04-12 18:11:50 +02:00
jrheinlaender
0bcdb0511f Added Reversed button to Pocket UI if the sketch plane is a datum plane 2016-04-12 18:11:50 +02:00
jrheinlaender
df7983fe10 Moved BaseFeature Property from SketchBased to PartDesign::Feature because all PartDesign features need it 2016-04-12 18:11:48 +02:00
jrheinlaender
c93d425393 Renamed SketchBased::Base property to BaseFeature because of name clash with Revolution::Base property 2016-04-12 18:11:48 +02:00
jrheinlaender
6235385c5a Create Base property for SketchBased features and changed Pad to use it 2016-04-12 18:11:47 +02:00
wmayer
3cc032c11e + Add option to refine solid on sketch-based features 2013-09-21 09:16:44 +02:00
wmayer
14ced6b202 0001133: crash at padding a sketch with 42 holes 2013-07-03 07:56:36 +02:00
logari81
85585cf49e PartDesign: Enable manual alignment tool for PartDesign features 2012-12-10 13:58:44 +01:00
jrheinlaender
8371982dfc Added check to Revolution and Groove for sketch axis intersecting the sketch face 2012-12-04 10:59:44 +01:00
wmayer
d7d6bcda37 0000871: Changing size rotates other sketches 2012-11-07 20:01:36 +01:00
wmayer
e432930f21 Algorithm to do a geometric matching (planes only) 2012-11-05 14:50:02 +01:00
wmayer
efd61d256d Algorithm to remap support shape, fix bugs in pad/pocket 2012-11-04 16:48:52 +01:00
jrheinlaender
13d68e99aa PartDesign, 758, 766, 773, 775: several improvements, fixes and code refactoring for Pad and Pocket 2012-11-03 23:07:48 +01:00
jrheinlaender
e5bdcc1322 PartDesign: avoid duplicate code in getting the support shape 2012-10-29 16:09:54 +01:00
jrheinlaender
3fa415584e PartDesign: improved feature parameters checks and avoid duplicate code 2012-10-27 19:48:55 +02:00
jrheinlaender
8de40bc3a2 PartDesign: move common properties to FeatureSketchBased and add some source documentation 2012-10-23 13:21:04 +02:00
jrheinlaender
ded5b893a8 PartDesign: tidy up PartDesign feature dependencies 2012-09-09 10:05:43 +02:00
wmayer
1b5e834ee9 Set placement property to read-only for skecth/ dress up features 2012-04-06 12:29:18 +02:00
wmayer
439ea23a40 + fix linker error
git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5286 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
2011-12-12 21:25:52 +00:00
logari81
e2ce022839 + add axis link property to the PartDesign/Revolution feature
+ fix placement of the PartDesign/Revolution feature to the placement of its sketch/support


git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5279 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
2011-12-12 17:53:48 +00:00
logari81
ac695ad67b + infrastructure for placement synchronization of SketchBased features
git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5255 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
2011-12-10 15:23:59 +00:00
wmayer
cc96c416c1 + implement an improved method to check if one wire is inside another wire
git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5074 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
2011-10-27 12:55:50 +00:00
wmayer
120ca87015 + unify DLL export defines to namespace names
git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5000 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
2011-10-10 13:44:52 +00:00