Commit Graph

149 Commits

Author SHA1 Message Date
Stefan Tröger
ae9dac71d7 PartDesign: Modeling features work with faces
-Rename Sketchbased to ProfileBased to show new behavior
-Adopt ProfileBased to make the relevant helper functions work with faces too
-Adopt features for unified use of helper functions
-Adopt commands to allow face selection
2016-04-12 18:12:22 +02:00
Stefan Tröger
732834c6d8 Handle external references for revolution et all
The reference selection, used in multiple part design features, treated body external references not corectly.
2016-04-12 18:12:22 +02:00
Alexander Golubev
27667cf5e6 Fix warnings introduced in new PartDesign
Mostly unused wariables and compare of signed & unsigned
2016-04-12 18:12:21 +02:00
Stefan Tröger
f058ae12e9 fix sketch classification for other body
hasObject does search recursive only in groups, but a body is not a group. Hence for sketches within a body this will always return false. Annother logic must be used to detect sketches in bodies.
2016-04-12 18:12:21 +02:00
Stefan Tröger
571e5d55d2 fix sketch selection in part design
validateSketch was faulty: as every sketch is valid (non is removed) it could happen that the returned number was >0 but the iterator firstValidSketch was NULL nontheless. The routine needed to be udated to make snese and the usage in prepareSketchbased together with it.
2016-04-12 18:12:21 +02:00
Stefan Tröger
ad5785654e add only a single reference copy 2016-04-12 18:12:21 +02:00
Stefan Tröger
d878028c60 Fix sketch on face of other body or part
The shapebinder object reduces the number of faces to 1, hence the subshape to select is always Face1 and not the original face name
2016-04-12 18:12:21 +02:00
Stefan Tröger
3b43f2cdc5 fix body booleans 2016-04-12 18:12:20 +02:00
Stefan Tröger
f2ad7bde4b PartDesign/Gui: minor fix sWhatsThis of text 2016-04-12 18:12:20 +02:00
Stefan Tröger
08287504fa Fix crossreference handling 2016-04-12 18:12:20 +02:00
Stefan Tröger
a8781fdacc handle independent copies more gracefully 2016-04-12 18:12:20 +02:00
Stefan Tröger
afc666e587 change point of reference feedback for datums
On datum creation it is better to ask the user on OK than on tool activation, as he might hit cancel (and then the created references are till there) or even more important, he could add additional external references within the dialog. The disadvantae is that if the user sets "cross reference" ge gets asked again every time he opens and leaves the dialog.
2016-04-12 18:12:20 +02:00
Stefan Tröger
4e1a9c05cb ask user if he creates inter part/body references 2016-04-12 18:12:20 +02:00
Stefan Tröger
00b230fdf8 Setup ShapeBinder Viewprovider and command 2016-04-12 18:12:19 +02:00
Stefan Tröger
b610dcc97c fix dependent copy references
to make them work with sketches an additional Part2DObject reference needed to be created
2016-04-12 18:12:19 +02:00
Alexander Golubev
3ed51ac4bd PartDesign: add Origin to the Body and unstrap the module from the Parts 2016-04-12 18:12:18 +02:00
Alexander Golubev
d72a919384 OriginGroup: add new abstraction layer between the Part and the GeoFeatureGroup 2016-04-12 18:12:18 +02:00
Alexander Golubev
305151be34 App/Origin: big refactoring
- Rebase App::Origin on App::DocumentObject
 - Keep all control over the Origin structure inside the Origin and it's
   ViewProvider
 - Add OriginFeature class as common base for App::Plane and App::Line
 - Rebase App::Plane and App::Line on top of newly created class and
   move to the file.
 - Change Origin's ViewProvider API associated with temporary display
 - Lots of associated changes to files
 - Several minor fixes
 - Lots of new bugs
2016-04-12 18:12:18 +02:00
Alexander Golubev
067530c168 PartDesign/Gui: Make partDesign's add sketch command Workflow-aware 2016-04-12 18:12:17 +02:00
Alexander Golubev
771c2b2fce PartDesign/Gui: rename some fonctions in ReferenceSelection.cpp
e.g. getPythonStr -> buildLinkListPythonStr etc
2016-04-12 18:12:17 +02:00
Alexander Golubev
9347f66a9e 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
Alexander Golubev
3fff7c6ef2 PartDesign/Gui: move body commands to a separate file 2016-04-12 18:12:16 +02:00
Alexander Golubev
f6b0ed3a47 PartDesign: Body rework - add BaseFeature property and make Tip always point to solid 2016-04-12 18:12:16 +02:00
Alexander Golubev
af385f1c57 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
64783a4ee5 PartDesignGui: move shared code for all dressUp features into common place.
Also this allows the old workflow for thickness and draft features.
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
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
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
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
c2a73bbfe2 fix body and part tool texts 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
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
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
94c066772b PartDesign: fix spacing in several files 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
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
Stefan Tröger
7fc0111944 better pipe view handling 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
835085bc7c add basic part design pipe infrastructure 2016-04-12 18:12:09 +02:00