Commit Graph

288 Commits

Author SHA1 Message Date
Alexander Golubev
15b6eccc00 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
984b0dd715 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
ebfd298baf 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
ccfc18946d PartDesign: fix a crash in the loft 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
92a7811618 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
f62b8fa6a6 fix loft top face location 2016-04-12 18:12:13 +02:00
Stefan Tröger
6245935d72 fix loft result orientation 2016-04-12 18:12:13 +02:00
Stefan Tröger
aa7098cf75 fix pipe tool result orientation 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
81601959ab delete features when deleting body 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
8babf7c2dc PartDesign: transfer Datums to become AttachableObjects
Crude and quick, needs cleanup.
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
Alexander Golubev
7c88cacf25 PartDesign/Body: make insert/removeFeature treat NULL in a less special way 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
a688b2848b 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
f20ff5a8d4 PartDesign: refactor positionBySketch
Rename it to positionByPrevious. Rewrite.
Rewrite SketchBased::transformPlacement.
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
e59767d80b PartDesign/FeatureDraft: fix a wronly placed NOT 2016-04-12 18:12:11 +02:00
Stefan Tröger
d18cd54743 make part design loft functional 2016-04-12 18:12:10 +02:00
Stefan Tröger
de24cbc189 add feature loft 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
DeepSOIC
0f9abd1a30 Fix programming error in DatumCS 2016-04-12 18:12:10 +02:00
Stefan Tröger
df119c3e9c respect part design placement rules in pipe 2016-04-12 18:12:09 +02:00
Stefan Tröger
7d584f82a2 simple bugfixes 2016-04-12 18:12:09 +02:00
Stefan Tröger
f199c844e6 add two scaling modes 2016-04-12 18:12:09 +02:00
Stefan Tröger
ad352e9b33 make multisection work 2016-04-12 18:12:09 +02:00
Stefan Tröger
468c380bd2 prevent inverted pipes and correct camera adjustment 2016-04-12 18:12:09 +02:00
Stefan Tröger
254e2226ba generalize preview mode 2016-04-12 18:12:09 +02:00
Stefan Tröger
31ac29501c implement faster pipes with inner wires 2016-04-12 18:12:09 +02:00
Stefan Tröger
7a8c2efdb2 allow sketches with inner wires as pipe profiles 2016-04-12 18:12:09 +02:00
Stefan Tröger
be7d962595 add options for pipe tool 2016-04-12 18:12:09 +02:00
Stefan Tröger
835085bc7c add basic part design pipe infrastructure 2016-04-12 18:12:09 +02:00
Stefan Tröger
eba61e360d make origin work correct with multiple parts 2016-04-12 18:12:08 +02:00
Stefan Tröger
4f43bdc814 make origin lines usable in groove 2016-04-12 18:12:08 +02:00
Stefan Tröger
38128e57bd make origin lines usable in revolution 2016-04-12 18:12:08 +02:00
Stefan Tröger
1332b7e866 add primitive preview visualization 2016-04-12 18:12:08 +02:00
Stefan Tröger
a6b796d5f8 add more point possibilities for cs references 2016-04-12 18:12:08 +02:00
Stefan Tröger
b4dd0072ab fix selection error on datum exception
and add user feedback for failed selections
2016-04-12 18:12:08 +02:00
Stefan Tröger
b2d566379e add remaining coordinate system selections 2016-04-12 18:12:08 +02:00
Stefan Tröger
2b3ca7b39c add a few coordinate system reference systems 2016-04-12 18:12:08 +02:00
Stefan Tröger
6301fce72c add part design thickness 2016-04-12 18:12:08 +02:00
Stefan Tröger
afee98c1e9 allow to add faces to fillet and chamfer 2016-04-12 18:12:07 +02:00
Stefan Tröger
dda47f7135 fix primitive offset setting issues 2016-04-12 18:12:07 +02:00
Stefan Tröger
9c172a535b add remaining primitive features 2016-04-12 18:12:07 +02:00
Stefan Tröger
bcf168748e allow shapes as coordinate system references 2016-04-12 18:12:07 +02:00
Stefan Tröger
27d46a6593 primitive bug fixes, add cylinder and sphere 2016-04-12 18:12:07 +02:00