Commit Graph

67 Commits

Author SHA1 Message Date
donovaly
52436033b8 rebase to master 2021-09-20 01:37:47 +02:00
donovaly
6ce6a8a1e0 small fixes as suggested by @chennes
therefore also in the helix code
2021-09-20 00:59:17 +02:00
donovaly
069e765db0 [PD] add feature to select pad direction via an edge
This was requested by users in the forum and is indeed very valuable for the usability.
2021-09-20 00:59:16 +02:00
Yorik van Havre
d0de6284f9 Merge pull request #4872 from berberic2/PD_pad_ui_change
PartDesign: Hide the custom direction fields in Pad if no custom direction is used
2021-08-23 14:28:03 +02:00
0penBrain
b2cf8581e0 [PartDesign] Add reverse ability for Pad/UpToFace mode as it makes sense for curved faces
And does not hurt/break in case face is reachable in only one direction
2021-08-17 12:07:02 +02:00
0penBrain
c561b5ac1f [PartDesign] Fix 'Reversed' no more available in Pad 'toFirst/toLast'
While useless 'Midplane' was still visible
 Bug introduced in commit #cf11f388, not fixed by commmit #b4b1cbed
 Also fixing some typos
2021-08-17 12:07:02 +02:00
M G Berberich
82f1f5cc2b PartDesign Pad UI-fix
hide the custom direction fields if no custom direction is used, to
unclutter the UI.
2021-08-16 19:38:05 +02:00
donovaly
0a2eb2756f [PD] some fixes for the new pad length feature
- disable 2 properties when no custom direction is used
- rename a property because its name is the opposite of what it is doing
2021-03-25 17:44:30 +01:00
wmayer
b4b1cbedb1 PD: fix several issues in pad:
* pass boolean instead of int to setValue of PropertyBool
* support of symmetric option for two-length mode
* fix bug in TaskPadParameters::updateUI()
* remove strange acronyms from method names
2021-03-22 16:40:15 +01:00
donovaly
cf11f38875 [PD] add along length option for pad
- as discussed here: https://forum.freecadweb.org/viewtopic.php?f=17&t=50466&start=10#p433327
this PR is the first step for new Pad features.
It implements 3 features requested by users:
1. an option to measure the pad length along its direction if there is a custom direction
2. when there are two lengths, the reverse feature should be active
3. the pad dialog shows now always the used pad direction, no matter if it is a custom one or the sketch's normal

- Furthermore there are some code improvements (avoid rounding and blocking signals)

- Also adapt TestPad.py because its test used the case two lengths + reversed but this was not possible before this PR - the reverse option was not take into account for two lengths in FeatureSketchBased.cpp)
Now it is and therefore the test must be updated:
In the test the second sketch has the normal vector 0, -1, 0. As the reverse option is set the pad direction is 0, 1, 0. So in y direction is the length (1mm) and in -y direction is length2 (2mm). This gives together with the other pad of volume 1, a total volume of 4.

- fix UI issue: either reversed or midplane
As noticed by @chennes, when the pad uses symmetric, reversed is not sensible and vice versa.
This commit fixes the missing Gui side for the case midplane is checked and the App side.

- the PR also fix two typos
2021-03-22 16:36:04 +01:00
donovaly
2ac84872ec [PD] make pointers to the UI std::unique_ptr
Same as PR #4293, just for PartDesign

as noted in https://github.com/FreeCAD/FreeCAD/pull/4271#discussion_r554673632
the pointer to the UI should be a unique pointer.

This PR does this for all PartDesign dialogs that don't already use a unique_ptr.
2021-02-05 18:01:57 +01:00
donovaly
7cbc9cf5f0 [PD] allow to pad in any direction
It saves a lot of work if one can directly pad in any direction and OCC allows this.

This PR adds the possibility to define a custom vector for the padding direction.
2020-09-12 16:33:44 +02:00
donovaly
81a98a4476 [PD] bind expression to pad offset
It is strangely not possible to use an expression for a pad offset, but this works fine, see the forum for an example.

Thus allow this.
2020-08-08 13:04:34 +02:00
Zheng, Lei
11a93a0578 PartDesign changes
* Mostly for supporting in-place editing

* Add new SubShapeBinder that support cross coordinate system,
  external, and sub-object binding
2019-08-17 15:15:47 +02:00
wmayer
f6ff4ed590 improve UpToFace option of pad/pocket for datum planes 2018-01-06 17:36:14 +01:00
luzpaz
56af703746 Fix Techdraw UI typo found via crowdin + misc. typos
Ref: https://crowdin.com/translate/freecad/27911/en-eu#6503377
2017-11-26 15:48:20 +01:00
wmayer
664cf65d26 fix -Wextra in PartDesign 2016-09-22 18:34:56 +02:00
Mateusz Skowroński
b5519922d8 QString::fromAscii() is obsolete in Qt5. Replace it with fromLatin1().
This change is Qt4/Qt5 neutral.
2016-04-15 11:55:12 +02:00
Alexander Golubev
d43525370c PartDesignGui: small rework to sketch-based task parameters
This done mostly for thurther unification them with other task
parameters/dialogs.
2016-04-12 18:12:21 +02:00
Alexander Golubev
c782a11aab PartDesign/Gui: Move various utility stuff from Workbench to a separate file
Also do some header cleanup.
2016-04-12 18:12:17 +02:00
Alexander Golubev
5ee0cea467 PartDesign/Gui: start to unify view providers code
- Moved all common code for part design features view providers to a base
   class.
 - Move shared code for Sketch based features to newly created
   ViewProviderSketchBased class
 - Add ViewProviderSketchBased to initialization
 - Make Pad and Pocket ViewProviders to use the shared code
 - Minor fixes to TaskFeatureParameters and some derived classes
2016-04-12 18:12:15 +02:00
Alexander Golubev
0ca40ed48b PartDesign/Task{Pad,Pocket}Parameters: massive refactoring
Give a massive refactoring to Task dialogs for pocket and pad.
This commit features:
 * Make Task dialogs for pocket and pad look nice in side-by side diff and
   cross import features missing in each other.
 * As a result it fixes several minor bugs.
 * Gives a rework to the UpdateUI function.
 * This one also fixes offset option support and migrates it to use unit
   framework.
2016-04-12 18:12:15 +02:00
Alexander Golubev
11a71d46e3 PartDesignGui: move signal connections in several parameter dialogs after ui initialization 2016-04-12 18:12:15 +02:00
Alexander Golubev
f16829baee PartDesignGui: Make DressUp and SketchSupport propertie dialogs use common accept() structure 2016-04-12 18:12:15 +02:00
Alexander Golubev
b14d7c2e14 PartDesign: move common code for TaskDlg{SketcherBased,DressUp}Parameters into new base class
Added a new class: TaskDlgFeatureBased which currently contains common
code for TaskDlgSketcherBasedParameters::reject() as well as the same
methode for TaskDlgDressUpParameters.
It's likely that other Feature task dialogs will inherit this class too.
2016-04-12 18:12:15 +02:00
Alexander Golubev
a6ebfa496f PartDesign/Gui/TaskDlgSketchBasedParameters: emhance object hiding/unhiding on reject() 2016-04-12 18:12:14 +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
7983862b52 Some code unification for sketchbased features 2016-04-12 18:11:51 +02:00
jrheinlaender
b18958b3d9 Miscellaneous fixes 2016-04-12 18:11:51 +02:00
jrheinlaender
4645fdcd37 Miscellaneous fixes 2016-04-12 18:11:50 +02:00
jrheinlaender
1f42d4e3a3 bugfix for extrude to datum plane 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
7330d4357e Made the rest of the PartDesign features aware of the Body 2016-04-12 18:11:49 +02:00
jrheinlaender
63f782d8f0 More bug fixes for Body insertion/deletion of features 2016-04-12 18:11:48 +02:00
jrheinlaender
ee47c53339 Bug fixes for Body feature insert/remove functionality 2016-04-12 18:11:48 +02:00
jrheinlaender
94b6b89610 Enhanced Pick dialog for PartDesign feature's sketches 2016-04-12 18:11:47 +02:00
wmayer
869e7870f5 + in pad dialog make sure not to compare quantities with different units 2016-02-23 11:34:04 +01:00
Mateusz Skowroński
cd2db00f22 QString::fromAscii() is obsolete in Qt5. Replace it with fromLatin1().
This change is Qt4/Qt5 neutral.
2016-01-05 16:07:25 +01:00
Eivind Kvedalen
ddfbe349cf PartDesign: Added support for expressions. 2015-09-21 14:51:09 +02:00
wmayer
010fc6f307 + fixes #0001721: PartDesign Pad 'Up to face' face selection in the 3D view not working 2015-01-06 18:38:33 +01:00
wmayer
7801fbef3a + fixes #0001849: Enable Spin Boxes support for Pad, Fillet and Chamfer 2014-12-11 18:25:30 +01:00
wmayer
82b8df576d + select value in task pad panel 2014-06-10 12:33:56 +02:00
wmayer
c212e75fcc + allow to always run macros, fix disappearing grid in sketcher 2014-05-13 16:20:51 +02:00
wmayer
3b5cdda879 + fix flaws found with code analyzer tool 2014-05-07 13:09:44 +02:00
wmayer
6b578d13fc + Avoid to open two transactions when creating a pad 2014-02-28 10:02:59 +01:00
wmayer
6f2f417976 + Fix undo/redo issue with pad 2014-02-12 16:15:24 +01:00
jriegel
893f330043 Fix default bug in Pad dialog 2014-02-09 19:21:01 +01:00
jriegel
a97f53a5e7 Fully implement Units in PartDesign Pad 2014-02-09 16:23:06 +01:00
Gavin Swanson
a40a5dd12d Add fancy unit/math input to pad tool
Pad tool does not currently save the units, so the result is still in mm.
2014-02-07 22:10:31 -08:00