Commit Graph

294 Commits

Author SHA1 Message Date
Alexander Golubev
a5fcd5775e PartDesign: update body management commands according to the changes in body paradigms 2016-04-12 18:12:16 +02:00
Alexander Golubev
bf94c3ebf7 PartDesign: fix negative Offset property in pad and pocket 2016-04-12 18:12:16 +02:00
Alexander Golubev
8c5d514b18 PartDesign: Body rework - add BaseFeature property and make Tip always point to solid 2016-04-12 18:12:16 +02:00
Alexander Golubev
113c10a2b7 PartDesign: make transform parameter dialogs use common base code with other dialogs
subj;
Make PasrtDesign::Transformed provide common for all features
classes interface getBaseObject() instead of specific getSupportObject ();
Refactor some TransformedParameters methods.
2016-04-12 18:12:16 +02:00
Alexander Golubev
147aff0395 PartDesign/Feature: minor gramma fix 2016-04-12 18:12:16 +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
Alexander Golubev
5f6f16e757 PartDesign/FeatureDressUp: implement a proper getBaseObject()
The function getBaseShape() is removed and replaced with getBaseObject()
because it doesn't make a lot of scense: getBaseShape() masked the
base's class implementation (rather than redefine a virtual) which was
better in words of code reuse.

Also BaseFeature and Base properties relations are defined now in a
little another way.
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
0208a3667d PartDesign/FeatureDressUp: make Base and BaseFeature properties track the same feature
Also remove reseting of read-only flag on placement properties on
removing Base feature: it doesn't make any scense for dressup features.
2016-04-12 18:12:15 +02:00
Alexander Golubev
98a0e30582 PartDesign: fix a crash in the loft 2016-04-12 18:12:14 +02:00
Alexander Golubev
ffc6cc2f23 Share code for finding a body containing a feature 2016-04-12 18:12:14 +02:00
DeepSOIC
16e4ce20f0 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
c3da141020 Revolution: fix failure on sketch edges used as an axis
PartDesign Revolution used to fail, when an edge of a sketch was
selected as an axis of revolution. This is fixed by this commit.
Also, made it support selecting an edge from the sketch the revolution
itself is made from.
2016-04-12 18:12:14 +02:00
Stefan Tröger
45aca9fb55 fix loft top face location 2016-04-12 18:12:13 +02:00
Stefan Tröger
e876d9aa81 fix loft result orientation 2016-04-12 18:12:13 +02:00
Stefan Tröger
ef11b75c79 fix pipe tool result orientation 2016-04-12 18:12:13 +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
7d759a5793 delete features when deleting body 2016-04-12 18:12:13 +02:00
Stefan Tröger
12c5e1f92f 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
9e440b955c PartDesign: transfer Datums to become AttachableObjects
Crude and quick, needs cleanup.
2016-04-12 18:12:12 +02:00
DeepSOIC
4cc9b32e32 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
Alexander Golubev
445c26f658 PartDesign/Body: make insert/removeFeature treat NULL in a less special way 2016-04-12 18:12:11 +02:00
Alexander Golubev
ad461fc472 PartDesign: fix spacing in several files 2016-04-12 18:12:11 +02:00
Alexander Golubev
7c2413b0aa PartDesign/Body: add methodes to insert features into specific place
Add a Body::insertFeature() methodes as well as python API for it.
2016-04-12 18:12:11 +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
Alexander Golubev
b67c8bd34d PartDesign/FeatureDraft: fix a wronly placed NOT 2016-04-12 18:12:11 +02:00
Stefan Tröger
d435e15a97 make part design loft functional 2016-04-12 18:12:10 +02:00
Stefan Tröger
c82e4117e9 add feature loft 2016-04-12 18:12:10 +02:00
Alexander Golubev
f4a5bf6acd PartDesign: remove Body::isFeature() because it's the same as BodyBase::hasFeature() 2016-04-12 18:12:10 +02:00
DeepSOIC
36fe5994b9 Revolution: fix crash when selecting stuff during task 2016-04-12 18:12:10 +02:00
DeepSOIC
578f038cf9 Fix programming error in DatumCS 2016-04-12 18:12:10 +02:00
Stefan Tröger
3aae4ce011 respect part design placement rules in pipe 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
a727a9b93d prevent inverted pipes and correct camera adjustment 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
0db83e816a allow sketches with inner wires as pipe profiles 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
Stefan Tröger
e7803eca61 add basic part design pipe infrastructure 2016-04-12 18:12:09 +02:00
Stefan Tröger
6347fe8c86 make origin work correct with multiple parts 2016-04-12 18:12:08 +02:00
Stefan Tröger
d8a0e398a9 make origin lines usable in groove 2016-04-12 18:12:08 +02:00
Stefan Tröger
ec125cf9f2 make origin lines usable in revolution 2016-04-12 18:12:08 +02:00
Stefan Tröger
c5ae4530ab add primitive preview visualization 2016-04-12 18:12:08 +02:00
Stefan Tröger
0a82185b66 add more point possibilities for cs references 2016-04-12 18:12:08 +02:00
Stefan Tröger
d3a7e9a928 fix selection error on datum exception
and add user feedback for failed selections
2016-04-12 18:12:08 +02:00
Stefan Tröger
7cb6606dc2 add remaining coordinate system selections 2016-04-12 18:12:08 +02:00
Stefan Tröger
42264b43ca add a few coordinate system reference systems 2016-04-12 18:12:08 +02:00