Commit Graph

1699 Commits

Author SHA1 Message Date
Ajinkya Dahale
d99bc1e9df [PD] Refactor Loft::execute() and support points for sections
This is a combination of 4 commits. Original commit messages follow.

[PD] Initial support for point sections in loft

This commit allows the last section in a loft to be a single vertex of a solid.
Currently single vertices of sketches or datum points are NOT supported.

[PD] Allow loft "profiles" to be points

Most reliably done in dialog-based workflow.

[PD] Allow loft last section to be sketch point

[PD] Refactor `Loft::execute`

Makes it easier to support adding a single-vertex sketch in profile or sections
field when selecting the sketch in tree (i.e. without selecting subelements).

[PD] Refactoring after PR #5176 is merged
2021-11-22 04:16:02 +01:00
Ajinkya Dahale
6f5159180b [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
wmayer
84b7185a28 PD: [skip ci] code clean-up in pad and pocket feature 2021-11-20 12:01:55 +01:00
wmayer
998abc8d4d PD: move duplicated code to common base class 2021-11-20 11:45:13 +01:00
wmayer
877e8d14e5 PD: Add common base class for Pad/Pocket 2021-11-20 10:34:01 +01:00
wmayer
039422572a PD: [skip ci] fix warning -Wunused-variable 2021-11-17 19:06:35 +01:00
Yorik van Havre
c4d4575eb3 Merged crowdin translations 2021-11-16 17:30:39 +01:00
wmayer
84e382a5a6 PD: simplify Pad/Pocket commands 2021-11-16 00:58:55 +01:00
wmayer
408e8a40ef PD: [skip ci] for pockets use opposite direction of reference axis 2021-11-16 00:35:57 +01:00
Uwe
cf9e5a3f33 [PD] fix issue 0004785
- then the profile of a pad/pocket was a face, the direction handling was completely broken
2021-11-15 15:44:28 +01:00
Uwe
8b8b04cfde [PD] uniform pad and pocket handling
- since pockets now can have a certain direction, also handle the reference axis like for pad
- uniforms initial length to 10.0
2021-11-15 15:32:56 +01:00
Uwe
c138b75af0 [PD] uniform Pad/pocket UI
now that pockets have the same functionality as pads, the UIs can be unified:

- the position of the Offset widget in the UI is better in pocket, thus use it for pad too
- add missing tabstops for pad
- add missing tooltip for pocket
- update tabstops for pocket
2021-11-14 03:58:21 +01:00
Uwe
e27270e615 [PD] fix pad/pocket direction issue
- the info if a custom direction is used, was incorrectly determined by checking a checkbox that only displays the vector value, no matter if it is a custom vector or not
2021-11-13 04:03:04 +01:00
Uwe
c6f48531cc [PD] fix typos 2021-11-13 00:29:33 +01:00
wmayer
1a969368cb PD: [skip ci] add PartDesignGlobal.h with export/import macros 2021-11-12 18:25:41 +01:00
Ajinkya Dahale
15225b3b09 [PD] Allow body faces when making loft by pre-selection 2021-11-12 01:33:46 +01:00
Uwe
5a2f962b05 [PD] TaskDlgPipeParameters - refactor comments
update/refactor comments after today's changes
2021-11-12 00:44:35 +01:00
Uwe
3eed892880 [PD] add feature to set direction for pockets
This PR adds the functionality of pads to pad along either a custom direction or along an edge to pockets.

So with this PR Pad and Pocket are on the same level of functionality.
2021-11-11 15:55:42 -06:00
wmayer
e6fcfc47fb PD: make sure to switch off Profile and Section highlighting when closing sweep dialog 2021-11-11 20:33:27 +01:00
wmayer
308a5e4c63 PD: change visibility handling of sweep to support undo/redo 2021-11-11 20:21:47 +01:00
Chris Hennes
8d1735741b Merge pull request #4626 from pavltom/GUI_TreeView_Item_Ordering
[Gui] Issue #3923 - Add arbitrary Tree View item ordering
2021-11-10 23:35:05 -06:00
Chris Hennes
e3cdb7f875 Merge pull request #5163 from donovaly/PD-sweep-section-visibility2
[PD] fix sweep visibility bug
2021-11-10 22:43:49 -06:00
Uwe
7353ec0096 [PD] code improvement for FeaturePad
as noted by @chennes in PR #5164, we should follow the C++ style guidelines:
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-if
2021-11-11 02:26:42 +01:00
Uwe
aa0f0cd3bb [PD] code improvements for TaskPadParameters
as requested by @chennes in PR #5164, the code can be simplified:

- remove a redundant type cast, a redundant qualifier and an inconsistent and unnecessary check
2021-11-11 02:08:57 +01:00
Uwe
6db3337cd2 [PD] handle changed property for loft and pipe
- this was missing in PR #5155
2021-11-11 01:24:53 +01:00
Ajinkya Dahale
0f7f7136ce [PD] Check if property is named before strcmp 2021-11-11 01:13:17 +01:00
Uwe
7bea9e5bc5 [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
99bafa24e8 [PD] Clear other taskbox buttons in loft and pipe when one pressed 2021-11-10 17:59:45 +01:00
Uwe
e6837f8ef2 [PD] fix a typo
- also some sorting
2021-11-10 03:26:23 +01:00
Ajinkya Dahale
854b547503 [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
9cade40755 [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
182a0ed882 PD: [skip ci] fix crash in ReferenceSelection::allow 2021-11-09 18:37:54 +01:00
Uwe
fe00d3ab59 [PD] fixes loft visibility on creation and modification
- the PR fixes the issue reported here: https://forum.freecadweb.org/viewtopic.php?f=3&t=63252

- (also a MSVC code formatting fix)
2021-11-07 21:57:00 +01:00
Uwe
f1bc66b323 [PD] simplify Loft code
- also two automatic style fixes made by MSVC
2021-11-07 19:04:38 +01:00
wmayer
b37354b28b PD: [skip ci] fix ambiguous shortcut overload in TaskDlgPipeParameters 2021-11-07 08:27:33 +01:00
Ajinkya Dahale
a24b94efc8 [PartDesign] Fix typo in method name 2021-11-06 00:03:48 +01:00
wmayer
ce95ed8047 PD: [skip ci] open a transaction when creating a new body with DlgActiveBody 2021-11-04 23:21:14 +01:00
Chris Hennes
dfa8bbc8e0 Merge pull request #5128 from luzpaz/freecad-translation-6
PD: Expose missing commands to translation in Measure dropdown menu
2021-11-01 00:22:28 -05:00
wmayer
ad458c423a PD: [skip ci] if no active body exists then by default pre-select the first option to create a new body 2021-10-31 12:33:48 +01:00
0penBrain
ffa6b3ce5e [PartDesign] Remove useless function overriding
Double-click is already handled by PartDesign::ViewProvider::doubleClicked()
 Overridings in Loft & Pipe brings no specific behavior
 By removing overridings, behavioral consistency is improved both in ...
 ... undo commands & body activation management when PartDesign items ...
 ... are double-clicked
2021-10-29 17:30:06 +02:00
Tomas Pavlicek
17f328c7a9 [Gui] Issue #3923 - Arbitrary Tree item ordering + tests 2021-10-26 19:09:34 +02:00
luz paz
d917e65c99 PD: Expose missing commands to translation in Measure dropdown menu
Fixes https://github.com/FreeCAD/FreeCAD-translations/issues/6
2021-10-26 10:35:21 -04:00
wmayer
c1910e644f PD: [skip ci] when creating a datum object allow user to create a body if needed 2021-10-22 20:23:16 +02:00
wmayer
50be9655e8 PD: open transaction when calling item of context-menu of sketch based features 2021-10-22 20:01:43 +02:00
wmayer
16e797362a PD: [skip ci] code cleanup 2021-10-22 19:06:57 +02:00
wmayer
f4e4ed0c25 PD: simplify code to display add/sub shape 2021-10-09 11:38:25 +02:00
wmayer
f0aa77c96d PD: simplify code to display rejected shape and move it to its own function 2021-10-08 22:32:26 +02:00
wmayer
9aa287ba7b Part: remove ViewProviderPartExt::getNormals 2021-10-08 19:34:48 +02:00
wmayer
27d65eca51 PD: do not enforce a reference axis when no profile is used to pad a face 2021-10-08 18:21:42 +02:00
wmayer
12ef275264 PD: do not set ReferenceAxis when no profile is used to pad a face 2021-10-08 17:45:59 +02:00