Commit Graph

477 Commits

Author SHA1 Message Date
Alexander Golubev
6778c548f4 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
5e5c1ece40 PartDesign/Gui: enable sketches on datum planes inside bodies 2016-04-12 18:12:14 +02:00
Alexander Golubev
f9fe1e319f PartDesign/Gui: more old workflow support
* remove an error message if adding a sketchbased feature without a body
* add champfer or fillet old workflow support

Also rework finishFeature() so at least champfer and fillet may be
inserted into any place of any apropriate body(not only the active one) of the body.
2016-04-12 18:12:14 +02:00
Alexander Golubev
b9983d5d2d PartDesign/Gui/TaskDlgSketchBasedParameters: emhance object hiding/unhiding on reject() 2016-04-12 18:12:14 +02:00
Alexander Golubev
974a434e1f PartDesign/Gui: enhance the TaskFeaturePick with new cotegory of sketches: notInBody
Also add option tp show already used sketches and fix some spacing.
2016-04-12 18:12:14 +02:00
Alexander Golubev
340c52a939 Share code for finding a body containing a feature 2016-04-12 18:12:14 +02:00
DeepSOIC
cd4dce2f1b PartDesign workflow without part/body
PartDesign: make datum features work outside of body/part
PartDesign old workflow: remove a few messageboxes about no part
PartDesign: old workflow: multitransform without body

Still has visibility issues, but generally works.
2016-04-12 18:12:14 +02:00
DeepSOIC
ae81e7d4c9 PartDesign: Make groove work via Revolution ui
Purpose: remove duplicate code.
Remaining: wrong title and icon in task dialog.
2016-04-12 18:12:14 +02:00
DeepSOIC
3d93c906d1 PartDesign: rework axis and plane comboboxes and make it work without part.
Rework combobox filling and link hadling for revolution and transformed features, in order to get rid of hard-coded item indexes and make the lists more dynamic.
2016-04-12 18:12:14 +02:00
DeepSOIC
c940ee8674 PartDesign: disable migration
Temporary. Later, a way to manually invoke it should be made.
2016-04-12 18:12:14 +02:00
Alexander Golubev
118f3d2ebb remove unneeded sketcher tools from part design
Previously similar patch was commited by Stefan Tröger <stefantroeger@gmx.net> but lost during rebase.
2016-04-12 18:12:14 +02:00
Stefan Tröger
b8ccce827e prevent part design features from accidently cross referencing 2016-04-12 18:12:14 +02:00
Stefan Tröger
1711dd4739 fix independent copy and cross reference 2016-04-12 18:12:14 +02:00
Stefan Tröger
a2dba9be6e first take on enhanced feature pick task 2016-04-12 18:12:14 +02:00
Stefan Tröger
ac5307cbd3 fix loft tool naming 2016-04-12 18:12:13 +02:00
Stefan Tröger
5b44e38c89 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
c2a73bbfe2 fix body and part tool texts 2016-04-12 18:12:13 +02:00
Stefan Tröger
54dfe5cbff add part tool to task dialog for no selection 2016-04-12 18:12:13 +02:00
Stefan Tröger
4b2cecb59a fix pipe task dialog icon 2016-04-12 18:12:13 +02:00
Stefan Tröger
23ebdda871 remove hole feature
A hole feature is something needed, however, the current implementation does not use the attacher code which would made it intuitive and compatibel to other workbench tools. A reimplementation is needed.
2016-04-12 18:12:13 +02:00
DeepSOIC
3e8b547354 Datum UI: fixes
* fix messagebox not popping when clicking OK but status is error
* accept preselection
* unify code for all datum commands
* edit selected datum if type matches, instead of creating new one
2016-04-12 18:12:13 +02:00
DeepSOIC
8504265bfc PartDesign: fix porting procedure...
...that caused an assert in attacher that back/front subshape strings
were used for attachment to App::Plane.
2016-04-12 18:12:13 +02:00
DeepSOIC
2dac8f2fdd Datum UI: fixes
* fix highlighting of reference buttons when active
* fix selection of whole objects
* fix some other logic
2016-04-12 18:12:13 +02:00
Stefan Tröger
efa9038b90 no temporaries at by reference parameter 2016-04-12 18:12:12 +02:00
Stefan Tröger
d2bd36e663 fix crash in boolean op if no base feature exists 2016-04-12 18:12:12 +02:00
DeepSOIC
3330cb706a PartDesign: adapt Datum UI to work using Attacher
* adapt
* introduce mode selection
* kill selection gate to allow selecting whole objects (selection gate
should be reintroduced to disallow references between parts, no
restrictions is a temporary state)
* prevent auto-switchover to next ref after an explicit push of a button
* fix highlighting of buttons when selecting corresponding reference
* allow creation of a feature, even if no mode fits references. With a
warning.
2016-04-12 18:12:12 +02:00
DeepSOIC
92e279bcc9 PartDesign: patch old partdesign porting for changes in Datums 2016-04-12 18:12:12 +02:00
DeepSOIC
8babf7c2dc PartDesign: transfer Datums to become AttachableObjects
Crude and quick, needs cleanup.
2016-04-12 18:12:12 +02:00
DeepSOIC
b6152364af Attacher: change Part2DObject's MapMode default to mmDeactivated, and set mode to mmFlatFace only when reading files of old format.
PartDesign, Sketcher: set mapping mode when setting support

Mapping mode mmFlatFace is no longer default, so an explicit assignment
is required.
2016-04-12 18:12:12 +02:00
DeepSOIC
3040fa5cff PartDesign: Fix revolution
It failed to close task if starting a body.
2016-04-12 18:12:12 +02:00
DeepSOIC
288873f13a PartDesign: accomodating to sketch's multisupport
* FeatureSketchBased getSupportFace check for mapping mode
* Fixes failure to place sketches on DatumPlanes
2016-04-12 18:12:12 +02:00
DeepSOIC
74c1b4e825 PartDesign: fix refuse to pad
When something was depending on a sketch (another sketch, for example),
padding (revolving, pocketing, etc) it was impossible. This is fixed.

Also, padding or revolving a single sketch twice was allowed (with a
warning msg displayed).
2016-04-12 18:12:11 +02:00
Alexander Golubev
a0545327b0 PartDesign: make MoveFeatureInTree command use new insert functions 2016-04-12 18:12:11 +02:00
Alexander Golubev
e7dd714e63 PartDesign: add migrating sketch support to MoveFeature command 2016-04-12 18:12:11 +02:00
Alexander Golubev
37ed464594 PartDesign/Workbench: make a message more translation-frendly 2016-04-12 18:12:11 +02:00
Alexander Golubev
94c066772b PartDesign: fix spacing in several files 2016-04-12 18:12:11 +02:00
Alexander Golubev
f50716c097 PartDesign/Workbench: move fix of sketch support into separate function
Outside PartDesign sketches can have no support plane for them. But
PartDesign doesn't allow that.
Move the code for migration of "free" sketches of planes
into a separate fuction so it may be reused.
2016-04-12 18:12:11 +02:00
DeepSOIC
5d54fef29e Loft: fix build with MSVC2013 2016-04-12 18:12:11 +02:00
DeepSOIC
220c88edb6 PartDesign: tidy up sketch support and base feature confusion
Not complete, transformPlacement and positionBySketch are pending...
2016-04-12 18:12:11 +02:00
Alexander Golubev
099d79b7fb PartDesign: fix a couple of crashes
The first crash was reported here:
http://forum.freecadweb.org/viewtopic.php?f=20&t=11205&start=50#p91052

The second one accures then moving a feature from a body without solid
features.
2016-04-12 18:12:11 +02:00
Stefan Tröger
b733d38064 better active part and document tip handling 2016-04-12 18:12:10 +02:00
Stefan Tröger
d18cd54743 make part design loft functional 2016-04-12 18:12:10 +02:00
Stefan Tröger
17d4ccb537 add loft viewprovider 2016-04-12 18:12:10 +02:00
Alexander Golubev
1635b5c807 PartDesign: remove Body::isFeature() because it's the same as BodyBase::hasFeature() 2016-04-12 18:12:10 +02:00
DeepSOIC
6aa31c33f4 Revolution: fix crash when selecting stuff during task 2016-04-12 18:12:10 +02:00
Danny Lepage
aa3a7283f1 Fix Debug Assert in CmdPartDesignDuplicateSelection::activated
Under Windows, "Edit/Duplicate selected object" raised a
Debug Assertion Failed "Expression: sequence not ordered".
2016-04-12 18:12:10 +02:00
Danny Lepage
8aca518b6e Fix Boolean operation tooltip text.
As reported by triplus
2016-04-12 18:12:10 +02:00
DeepSOIC
b7abab1131 Fix build on Windows 2016-04-12 18:12:10 +02:00
Stefan Tröger
aaad6cb644 add missing return value 2016-04-12 18:12:09 +02:00
Stefan Tröger
b425c028ee Update pipe icon and add it to the taskwatcher 2016-04-12 18:12:09 +02:00