Commit Graph

51 Commits

Author SHA1 Message Date
Ajinkya Dahale
71e70c876b [PD] Use PropertyLinkSubList for loft and sweep sections
This change is necessary since we restrict part-design features to only use
other features from the same body.
2021-11-20 21:37:14 +01:00
Uwe
0b3839f0f6 [PD] TaskDlgPipeParameters - refactor comments
update/refactor comments after today's changes
2021-11-12 00:44:35 +01:00
wmayer
126fadd2d6 PD: make sure to switch off Profile and Section highlighting when closing sweep dialog 2021-11-11 20:33:27 +01:00
wmayer
fb9a3eecff PD: change visibility handling of sweep to support undo/redo 2021-11-11 20:21:47 +01:00
Uwe
6069d48b6d [PD] fix sweep visibility bug
Currently:

    only sweep path is toggled correctly in its visibility, the profile is never shown
    the sections are always shown

This PR fixes this inconsistency reported here: https://forum.freecadweb.org/viewtopic.php?f=19&t=63544
2021-11-11 00:00:58 +01:00
Ajinkya Dahale
37df050d59 [PD] Clear other taskbox buttons in loft and pipe when one pressed 2021-11-10 17:59:45 +01:00
Ajinkya Dahale
314ff0053c [PD] Fixed loft and sweep breaking on section deletion
Item removal in `onDeleteSection()` was also clearing subname details so if one
of the remaining sections was a face this caused a failure.
2021-11-09 23:05:29 +01:00
Ajinkya Dahale
03a8ff7841 [PD] Support adding solid faces for loft and pipe sections
With these changes, one face per solid can be added as either the first
"profile" or subsequent sections in loft and pipe.

This commit depends on `App::PropertyXLinkSubList` preserving the order in which
sections are added.

A minor change this also adds is that when a solid's face is selected that face
is mentioned in the fields instead of the solid (eg `Box:Face1` instead of
`Box`).
2021-11-09 23:05:29 +01:00
wmayer
84274f5c80 PD: [skip ci] fix ambiguous shortcut overload in TaskDlgPipeParameters 2021-11-07 08:27:33 +01:00
wmayer
05f1634276 PD: [skip ci] fixes #0004139: Macro - SubtractivePipe attached path object issues after macro executed 2021-03-29 10:43:08 +02:00
wmayer
08de4809c4 PD: [skip ci] fixes #0004205: Bad behavior when entering manually PD/AdditivePipe path 2021-02-15 00:06:29 +01:00
donovaly
2834075d6a [PD] rename icons to match Wiki files
For the What#s this feature we need to have a uniform naming of the features and its icons. For some PD icons this is not the case and since we are in feature freeze, this is the right time to address this.
(I see the same is already done for Mesh.)
2021-02-11 12:47:25 +01:00
Chris Hennes
41a40c1c31 [PD] Catch Python exceptions in dtors (Coverity)
In some PartDesign task dialogs, the destructors call functions that may
throw exceptions. If that occurs and the exception is uncaught, this
will ususally end up terminating the program. This commit adds try-catch
blocks around each instance of that (identified by Coverity) and handles
the Python exception in the normal reporting workflow.
2021-02-08 21:30:22 +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
wmayer
b9e5bce0f0 PD: improve reference highlighting of a pipe
This change allows to highlight the spline, auxiliary spine, profile and sections of a pipe.
This gives the user a much better feedback of what external shapes are already used to build the pipe
2020-09-17 16:19:38 +02:00
wmayer
a3fda6f9ed PD: [skip ci] fixes for pipe task panel
+ Add/Remove are checkable buttons so if user unchecks it then disable highlighting of spine
+ Avoid superfluous char* -> QString conversion
2020-09-17 14:04:36 +02:00
wmayer
2b676020d2 PD: fixes for pipe task panel
+ fix Qt4 build failure
+ fix handling of adding items to spine/auxiliary spine/sections to allow to remove them again
+ QListWidget::takeItem() returns a pointer to the removed item. So a previous call of QListWidget::item() is superfluous
2020-09-17 11:35:41 +02:00
donovaly
5d96f01cf7 [PD] add context menus to sweep Dialog
- elements in the list of edges/spines/sections can now be deleted by pressing DEL and there is a context menu for this action

see https://forum.freecadweb.org/viewtopic.php?f=19&t=50222&p=431021#p431021
2020-09-17 00:45:43 +02:00
wmayer
1c730a7f00 PD: do not use active document in task dialogs because this is error-prone 2020-09-15 13:21:32 +02:00
mwganson
74e4a3e976 [Part Design] allow for preselecting loft sections and pipe spines prior to invoking command 2020-09-15 10:48:09 +02:00
wmayer
b480a207c0 Coverity: Uncaught exception 2020-07-20 17:34:29 +02:00
wmayer
9a7f97c827 Fix usage of Reference dialog:
+ fix memory leak by using QDialog on the stack
+ open a transaction where needed when making a copy to avoid mess with undo/redo
+ set proper title and use main window as parent
+ replace class name Dialog with PartDesignGui::DlgReference
2018-12-03 17:54:05 +01:00
wmayer
7acdb56d92 Replace Base::Exception with appropriate subclass 2018-11-14 19:28:00 +01:00
wmayer
198b047bdd clean-up work in TaskPipeOrientation 2018-09-20 17:47:36 +02:00
wmayer
14b8579a62 fixes #0003599: PartDesign Additive and Subtractive Pipe features don't allow changing sections after creation 2018-09-20 17:17:41 +02:00
wmayer
83c40da2a5 issue #0003599: PartDesign Additive and Subtractive Pipe features don't allow changing sections after creation 2018-09-20 15:14:33 +02:00
wmayer
7fd67f881e fix possible crash in pipe/scaling task panels 2018-03-10 16:53:14 +01:00
Unknown
772c5b1970 Doxygen Typos
+ doxy whitespace formatting
+ added more misc. typos
+ grammar fixes
[skip ci]
2017-10-15 16:27:42 +02:00
wmayer
14985a8b0b fix typos 2017-09-25 22:36:31 +02:00
Kurt Kremitzki
7f03cca88c Check PartDesign::AdditivePipe's auxiliary spine for existence before deciding its externality 2017-07-01 19:30:49 -05:00
Kunda
99c99006b8 source typo fixes pt4 (only on py3 merged code) 2017-03-02 13:47:21 +01:00
wmayer
bebda4c6ad fix crash when pressing cancel on pipe task panel 2017-01-24 15:00:41 +01:00
Stefan Tröger
9a3b952fb9 PartDesign: Port body to be a origin group 2017-01-04 16:01:58 +01:00
wmayer
664cf65d26 fix -Wextra in PartDesign 2016-09-22 18:34:56 +02:00
wmayer
46adbae952 fix whitespaces 2016-08-25 12:27:08 +02:00
wmayer
63ad26491f fix Coverity issues 2016-08-22 15:02:18 +02:00
Stefan Tröger
c5ca99658b PartDesign: Fix pipe preview display
When a base feature was available the preview mode did not show the pipe and also set the visibility of the pipe to false
2016-05-18 23:53:49 +02:00
Stefan Tröger
62f563938b PartDesign: Handle pipe external references 2016-05-18 23:53:33 +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
Stefan Tröger
45861b4f92 remove linear and S-shape scaling from pipe
They worked and are nice feature, but the handling with properties must be worked out better. To avoid any incompatibility due to property changes the functionality is removed now.
2016-04-12 18:12:13 +02:00
Stefan Tröger
0606e767cd fix pipe task dialog icon 2016-04-12 18:12:13 +02:00
Stefan Tröger
d435e15a97 make part design loft functional 2016-04-12 18:12:10 +02:00
Stefan Tröger
84cd1588d0 Update pipe icon and add it to the taskwatcher 2016-04-12 18:12:09 +02:00
Stefan Tröger
620b2bb5d7 simple bugfixes 2016-04-12 18:12:09 +02:00
Stefan Tröger
68ee7f4f27 add two scaling modes 2016-04-12 18:12:09 +02:00
Stefan Tröger
df386cc3c1 make multisection work 2016-04-12 18:12:09 +02:00
Stefan Tröger
d796ca2bf9 better pipe view handling 2016-04-12 18:12:09 +02:00
Stefan Tröger
342ba89afd generalize preview mode 2016-04-12 18:12:09 +02:00
Stefan Tröger
68d172687b implement faster pipes with inner wires 2016-04-12 18:12:09 +02:00
Stefan Tröger
9c4e1070eb add options for pipe tool 2016-04-12 18:12:09 +02:00