Commit Graph

776 Commits

Author SHA1 Message Date
Alexander Golubev
d62aa38ac4 PartDesign/App: cleanup datum's classes and headers 2016-04-12 18:12:19 +02:00
Alexander Golubev
68c78de00d PartDesign/Gui: add origin sizing and rework datums sizing 2016-04-12 18:12:18 +02:00
Alexander Golubev
1d7a1982aa Part/Attacher: remove a couple of no more valid asserts 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
f6b0ed3a47 PartDesign: Body rework - add BaseFeature property and make Tip always point to solid 2016-04-12 18:12:16 +02:00
Alexander Golubev
340c52a939 Share code for finding a body containing a feature 2016-04-12 18:12:14 +02:00
Stefan Tröger
73e1982154 fix datum crash when origin is selected 2016-04-12 18:12:13 +02:00
DeepSOIC
f446541717 Attacher: proximity modes
The modes that base on distToShape:
* a line that connects the closest points,
* the actual points
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
d009a5cd3d Attacher: line and point AttachEngines. Other changes.
* propose attachment modes
* refactor setUp and Copy
* split off postprocessing from 3D to reuse in 1D and 0D calculations
* AttachableObject: fix error printout in onChange
* AttachableObject: no more defaults to Attacher3D
* implementation of lines and points attachment (some of the proposed modes).
* refactor getShapeType, add getShapeType(obj, sub); add a flag to eRefType enum, indicating that referenced thing is a whole object that has placement.
* change readLinks to be static, and obtain shape types in the process.
* test mode enums lengths equality
* extend ObjectXY to work on conics.
* Fix upside-down sketches attached as TangentPlane on most shapes.
* Fix crash when a shape of unlisted type is in the links.
* fix attaching to datum lines go crazy because of infinities.
* abs->fabs
* support for App::Line
* Add namespace qualifiers to TYPESYSTEM_SOURCE-like stuff
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
9a48d210cf PropertyLinkSubList, Sketcher: move legacy Support readout from PropertyContainer to Part2DObject 2016-04-12 18:12:12 +02:00
DeepSOIC
9331c2a677 Attacher: fix crash of suggestor on compounds 2016-04-12 18:12:12 +02:00
DeepSOIC
d69e50510e Sketch: expose positionBySupport python func 2016-04-12 18:12:12 +02:00
DeepSOIC
8286c36b6f Sketcher: minimalistic UI for new attachment engine 2016-04-12 18:12:12 +02:00
DeepSOIC
93fff0e65f Sketcher: new attachment engine 2016-04-12 18:12:12 +02:00
DeepSOIC
1b754d35c5 Sketcher: change Support from PropertyLinkSub to PropertyLinkSubList
Note: may fail to build after this commit...
2016-04-12 18:12:12 +02:00
Stefan Tröger
6301fce72c add part design thickness 2016-04-12 18:12:08 +02:00
Stefan Tröger
27d46a6593 primitive bug fixes, add cylinder and sphere 2016-04-12 18:12:07 +02:00
Stefan Tröger
07099e1163 add coordinate system datum 2016-04-12 18:12:07 +02:00
DeepSOIC
1226fec82c Sketcher: fix free-standing sketches
See forum thread, Sketch support == NULL
http://forum.freecadweb.org/viewtopic.php?f=20&t=10942
2016-04-12 18:12:07 +02:00
blobfish
cc0aa9cab2 Part: BodyBase: typo in property header macro 2016-04-12 18:12:06 +02:00
blobfish
79d4d202dd Part Design: support for overlapping and coincident patterns
Fixed crash after rejecting a MultiTransform dialog
    remove overlap check
    adding getSolid to cut operation
    add extrema method to part::checkinterference
    move refineshape call out of loops
    divideTools functions
2016-04-12 18:12:00 +02:00
jrheinlaender
5a0ac01640 Update SketchObject Placement when the Support property changes 2016-04-12 18:11:55 +02:00
jrheinlaender
a07d1fdba8 Python functions to intersect curves and surfaces 2016-04-12 18:11:55 +02:00
jrheinlaender
a5eee4503e Removed some old code 2016-04-12 18:11:55 +02:00
jrheinlaender
5aa16e7807 Allow datum points and lines to have offsets from their references 2016-04-12 18:11:55 +02:00
jrheinlaender
58822e07fd Moved Body::isAfterTip() to BodyBase 2016-04-12 18:11:55 +02:00
jrheinlaender
de17a3ede4 Pad/Pocket: Allow extrude up to a datum plane 2016-04-12 18:11:50 +02:00
jrheinlaender
fb9d56911d Miscellaneous fixes 2016-04-12 18:11:50 +02:00
jrheinlaender
d082f16bbf Try to be consistent with sketch plane orientation PartDesign module <-> Sketcher module 2016-04-12 18:11:50 +02:00
jrheinlaender
2d7813295b Allow selecting back of base planes, miscellaneous fixes 2016-04-12 18:11:50 +02:00
jrheinlaender
5ac8aeaf2c Moved some methods from PartDesign::Body to Part::BodyBase so the SketchObjects will be removed cleanly from the Body when deleted 2016-04-12 18:11:49 +02:00
jrheinlaender
857ede8847 Moved generic Datum class to Part module to avoid Sketcher dependency on PartDesign 2016-04-12 18:11:49 +02:00
jrheinlaender
dc9c6b0e5d Miscellaneous fixes 2016-04-12 18:11:49 +02:00
jrheinlaender
34af72186c Make sure that App::Plane sketch placement is identical to deprecated SketchOrientationDialog placement 2016-04-12 18:11:49 +02:00
jrheinlaender
8390bbb999 Work on inserting, removing, hiding and showing features in the body 2016-04-12 18:11:48 +02:00
jrheinlaender
0a893135c8 Show three base planes (XY, YZ, XZ) at the beginning of the feature tree and allow to create sketches on them 2016-04-12 18:11:47 +02:00
jriegel
5b23d06cfe implement active body in PartDesign 2016-04-12 18:11:45 +02:00
jriegel
437bf6d917 Add some commands to assembly 2016-04-12 18:11:44 +02:00
wmayer
8728bb2172 + always get occ version information in About dialog 2016-03-19 15:55:09 +01:00
wmayer
0777ef1e13 + command to create points object from geometry
+ implement TopoShape::getPoints
2016-03-05 23:36:57 +01:00
wmayer
d962fda983 + removed unneeded pure virtual method getFaces from PropertyComplexGeoData
+ extend interface of ComplexGeoData::getPoints to also return normals if available
2016-03-04 17:16:57 +01:00
wmayer
27db1362e7 + change binary export & import of shapes to restore placement and orientation 2016-02-29 18:37:36 +01:00
wmayer
047cf5cd9c + make code more readable 2016-01-21 16:07:07 +01:00
wmayer
294c978341 + simplify porting of Part module to Python3 2016-01-20 22:05:53 +01:00
wmayer
750897c20e + introduce proper enum for property status to replace plain integers 2016-01-01 15:36:24 +01:00
wmayer
c633ec4075 + make API of InventorBuilder more flexible and add new methods 2015-11-26 15:27:40 +01:00
wmayer
6f8adef286 + PLate surface approximation 2015-11-19 18:52:19 +01:00
wmayer
027a560fbc + add Python binding to Plate surface 2015-11-19 15:27:35 +01:00