Commit Graph

578 Commits

Author SHA1 Message Date
DeepSOIC
d06c7df069 Part: Revolve: port to use FaceMaker
For old documents, default to old behavior. For new objects, default to
use FaceMakerBullseye
2016-10-01 23:13:44 +03:00
DeepSOIC
8671edf76c Part: Extrude: port to use FaceMaker
For old documents, default to old behavior. For new objects, default to
use FaceMakerBullseye
2016-10-01 23:13:44 +03:00
DeepSOIC
b04219af6b Part: Face: use facemakers
For old documents, default to FaceMakerCheese. For newly created
objects, use FaceMakerBullseye
2016-10-01 23:13:44 +03:00
DeepSOIC
31f2a93c38 Part: register facemaker classes into typesystem 2016-10-01 23:13:44 +03:00
DeepSOIC
4b26988cb7 Part: implement facemakers: FaceMakerCheese, FaceMakerBullseye
FaceMakerCheese: based on code extracted from Part FeatureExtrude,
exactly the same as facemaking code in PartDesign.

FaceMakerBullseye: new facemaker, that supports nesting like hole inside
a face inside a hole of another face...
2016-10-01 23:13:44 +03:00
DeepSOIC
68918a881f Part: Introduce FaceMaker class
A general class to implement smart making faces from wires (e.g. making
a face from sketch prior to extruding)
2016-10-01 23:13:44 +03:00
wmayer
5bd455cc76 fix -Wdeprecated in Part & FreeCADGui 2016-09-22 15:32:49 +02:00
wmayer
2af6bb6e49 replace deprecated auto_ptr with unique_ptr 2016-09-22 13:01:20 +02:00
wmayer
7d38edb065 fix -Wextra in Part 2016-09-22 11:49:28 +02:00
DeepSOIC
5b3ab1b857 Part: Offset2D: fix save-load instability
Fixes #2699
It was found out that when direction of normal found by FindPlane
depends on if we are using result of offset directly, or after copying.

The fix (workaround) is to copy offset result inside  offset routine, so
that no unstable behavior makes its way to the user.
2016-09-18 18:45:04 +03:00
wmayer
25108d8634 support offset curve in edge.Curve for occ 7.0 2016-09-15 10:36:44 +02:00
wmayer
d0e6621cc9 allow to pass parameter range when creating a line from a line 2016-09-09 13:02:15 +02:00
DeepSOIC
50296e4096 Part: add Offset2D feature
derived from Part::Offset, to re-use task dialog easily
2016-09-02 16:26:02 +02:00
DeepSOIC
53e7a15df1 Part: Offset feature: split off into separate file
withdrew code from PartFeatures.h/.cpp and created FeatureOffset.h/.cpp
2016-09-02 16:26:02 +02:00
DeepSOIC
2a4d4c3b57 Part: Py API: deprecate Part.Wire.makeOffset
(code unchanged. Only added deprecation note to documentation)
2016-09-02 16:26:02 +02:00
DeepSOIC
d4fc0becd7 Part: Py API: add makeOffset2d method to Part.Shape
+ write documentation to makeOffsetShape
2016-09-02 16:26:02 +02:00
DeepSOIC
5462fe60e7 Part: TopoShape: add makeOffset2D method
Supports:
* offsetting wire, compound of wires.
* offsetting compounds in collective or independent manners
('intersection' parameter)
* two offset modes (parameter 'allowOpenResult')
* filling offset when offsetting one wire, or compound in independent
manner

Not supported yet (planned):
* filling offset when offset in collective manner (intersection= true)
* offsetting planar faces
2016-09-02 16:26:02 +02:00
DeepSOIC
6fb25b9df5 Part: Extrude: improvements
* split Dir into Dir+Length; added second Length
* support for parametric linked direction: to arbitrary edge, and to
normal
* options: reverse, symmetric
* second taper angle
* changed offset join mode for tapered extrusion on OCCT7
2016-09-01 11:46:18 +02:00
DeepSOIC
f70ef9745c [breaking] Part: Revolve: fix forgotten check for reverseness of axis link
I didn't know BRepAdaptor_Curve does not take shape orientation
(reverseness) into account.

The commit can break existing projects. If revolution feature was
created with axis linked to reversed edge, and angle span is not 360,
the revolution direction will now swap. The chances of this situation
are pretty low, and revolution supports axis linkage for not long yet.
So I hope it won't cause any noticeable trouble.

--DeepSOIC
2016-09-01 11:46:18 +02:00
wmayer
4c9b486954 fix crash when saving a document after aborting a pending transaction 2016-08-31 17:58:55 +02:00
wmayer
24333d02d3 fix Coverity issues 2016-08-22 15:33:54 +02:00
wmayer
c2dd2e2b99 fix Coverity issues 2016-08-21 18:46:40 +02:00
wmayer
fcdaf5405c fix Coverity issues 2016-08-20 15:41:33 +02:00
wmayer
26865522ea issue #0002666: Error on Save File 2016-08-12 13:33:48 +02:00
wmayer
0d011e2190 fix various compiler warnings 2016-08-09 13:16:26 +02:00
DeepSOIC
d4e1fab28f Part: use the just-added methods to make properties read-only 2016-08-08 21:48:50 +03:00
DeepSOIC
61f597814d Part: Revolve: add support for axis link and midplane
Changes on the App side only.
Added two properties:
* AxisLink (accepts an edge - line or arc of circle)
* Symmetric (for distributing the revolution symmetrically in both
directions)
2016-08-08 19:34:27 +03:00
DeepSOIC
b2fd98e442 Part: make Fusion and Common able to fuse arrays
If Fusion or Common features get only one argument, and the shape is a
compound, the children of the compound are treated as list of arguments.
2016-08-07 12:15:08 +02:00
Wolfgang E. Sanyer
d1d2f1f811 This commit adds getShape and setShape to TopoShape 2016-08-06 23:42:55 +02:00
wmayer
1848b39992 fix TopoShape::getFacesFromSubelement 2016-08-04 15:22:30 +02:00
wmayer
c294c8bdbd + rename methods in Vector3 class
+ add convenience methods Cross and Dot to Vector3 class
+ fix bug in DistanceToLineSegment in Vector3 class
2016-07-30 15:14:47 +02:00
maito78
db7465b215 Add parameter at given distance method for curves 2016-07-29 22:40:19 +02:00
DeepSOIC
8c908d4106 Part: add BOPTools package as member of Part Py module 2016-07-29 14:18:01 +03:00
DeepSOIC
ca4299230a Part: add BOPTools package
Containing implementation of new JoinConnect, as well as new splitting
tools: BooleanFragments, Slice and XOR.
2016-07-29 14:16:54 +03:00
wmayer
6e6904898c fix build failure with occ 6.9.0 2016-07-17 16:18:12 +02:00
tomate44
2281881f06 fix VDegree
fix for getVDegree that was returning UDegree
2016-07-15 11:27:24 +02:00
wmayer
b6670cde01 + GFA is available since OCC 6.9.0, raise an AttributeError otherwise 2016-07-14 15:16:02 +02:00
wmayer
602053d2d4 + expose OCC version number to Python 2016-07-14 14:11:54 +02:00
WandererFan
0319adeec7 wmayer patch for Win & OCC7 compat 2016-07-11 15:32:16 +02:00
DeepSOIC
7338ea3e85 Part: TopoShapePy: made Solid constructor accept CompSolid
Part.Solid(shape) now accepts compsolid as input, and creates a solid by
joining the compsolid.

Same done to Part.makeSolid().

+ change exception handling to expose the error message.
2016-07-04 14:58:53 +03:00
DeepSOIC
31aeb84075 Part: TopoShapePy: add generalFuse method 2016-07-04 14:57:50 +03:00
DeepSOIC
2206be773b Part: TopoShape: add generalFuse method (GFA)
OCC's Generaal Fuse Algorithm
2016-07-04 14:55:38 +03:00
DeepSOIC
a6f2f2ec22 Part: AttachmentEditor: withdraw code to use Show module 2016-06-20 01:19:02 +03:00
tomate44
4749733b60 Implements more arguments to BSplineCurve.approximate 2016-06-13 14:18:35 +02:00
wmayer
ec82ea252a + add overloaded methods of write() and read() to write and read from streams 2016-06-11 14:47:01 +02:00
wmayer
9bfdfc723e + for importBrep() and exportBrep() allow file names or file objects 2016-06-11 12:38:58 +02:00
wmayer
01c4212502 + revert regression in commit 92bf46cc affecting Part Thickness tool 2016-06-01 09:13:16 +02:00
wmayer
285a417402 + fix mistake in BSplineCurve.interpolate for Tangents/TangentFlags argument 2016-05-25 14:22:22 +02:00
tomate44
082793c452 Update BSplineCurve interpolate documentation 2016-05-25 11:50:52 +02:00
wmayer
432709330a + support of tangents in BSplineCurve.interpolate 2016-05-24 23:15:17 +02:00