Commit Graph

98 Commits

Author SHA1 Message Date
wmayer
9c20ce05ed Part: [skip ci] expose ShapeUpgrade_UnifySameDomain to Python 2020-10-05 16:57:16 +02:00
wmayer
312a4652f6 Part: [skip ci] expose BRepOffsetAPI_MakeFilling to Python 2020-09-30 01:19:30 +02:00
wmayer
00e0e7745c Part: expose GeomPlate algorithm to Python 2020-09-28 18:46:35 +02:00
wmayer
ffa1da617f Python: [skip ci] expose Python types in their corresponding modules 2020-09-21 15:04:26 +02:00
wmayer
fdc07cb6c9 Py3.8: [skip ci] missing initializer for member '_typeobject::tp_vectorcall' [-Wmissing-field-initializers] 2020-06-08 14:40:00 +02:00
wmayer
4142fb90f1 Part: make reverse function parametric 2020-01-29 16:43:35 +01:00
Zheng, Lei
6da72b9859 Part: changes to Part Module
* Added Part::Feature::getTopoShape/getShape() function that can obtain
  shape from any object with proper implementation of getSubObject(). It
  can even construct compound from group object with proper implementation
  of getSubObjects().

* Modified ViewProviderExt to work on any object, because it now obtain
  the shape using Part::Feature::getShape()

* Modified various Part features to obtain base/tool shapes using
  Part::getShape(), which allows them to be any type of object,
  including Link and groups.

* Modified various Part command to relax type requirement on selected
  objects.

* Add support of link and group to dimension, and add dimension refresh
  command

* Support link and group in simple command command, and add a few more
  copy command variations.

* Add special handling of 'Shape' attribute in PropertyContainerPy and
  use Part::Feature::getShape() to return shape for any object without
  Shape property. This allows many python feature work with any object
  without modification.

* GeometrySurface/CurvePy, add convenience attribute 'Rotation'

* TopoShapePy:

    * Extended support of sub shape attribute, e.g. Compound1, Solid2,
      SubShape3 ('SubShape' is used to access child shape of a compound)

    * makeWires(), new API to sort and return wires given a list of edges.

    * transformed/translated/rotated/scaled(), return a new shape with
      some transformation.

    * findPlane(), find the plane of a planar shape

    * isCoplanar(), check if two shape are coplanar
2019-08-17 15:08:35 +02:00
Abdullah Tahiri
a43c29ccd4 Part: Default geometry extensions for boolean and double 2019-07-14 12:37:35 +02:00
Abdullah Tahiri
fb5e8b4df7 Part: GeometryDefaultExtensions template
========================================

Generalisation of code for a default geometry extension in the form of a template.

Default geometry extensions provide a standard interface for an extension having a single stored value (e.g. one int or one string).

Python implementation must be provided separatedly.
2019-07-14 12:37:31 +02:00
Abdullah Tahiri
b5f5d1c32f Part: GeometryStringExtension to extend a geometry by a string 2019-07-14 12:37:30 +02:00
Abdullah Tahiri
9cb2863a2e Part: Expose GeometryIntExtension python type 2019-07-14 12:37:30 +02:00
Abdullah Tahiri
7828c34ffe Part: Standard geometry extension adding an integer value 2019-07-14 12:37:30 +02:00
Abdullah Tahiri
2400d63d70 Part: Geometry Extensions 2019-07-14 12:37:28 +02:00
wmayer
787f5184e8 Parametric refinement feature 2019-07-08 14:37:00 +02:00
wmayer
1b26173580 use INCH instead of IN when setting units for STEP or IGES export 2019-06-13 12:40:01 +02:00
wmayer
e02695b91f Replace Base::Exception with appropriate subclass 2018-11-14 19:45:20 +01:00
Abdullah Tahiri
b1858f2cf4 Part: Geometry Arcs inheriting from GeomTrimmedCurve 2018-10-28 18:32:15 +01:00
wmayer
a53027342e rework error handling mechanism 2018-10-24 19:38:43 +02:00
wmayer
8ce343291b py3: fox compiler warnings
issue 0000995
2017-06-04 00:17:57 +02:00
wmayer
02fb687844 do code cleanup
move BOPTools from Part to PartGui because it depends on GUI
2017-03-01 21:58:04 +01:00
looooo
a388a9d72d py3: Part: App: gathering commits relevant for Mod/Part/App 2017-03-01 17:10:46 +01:00
wmayer
ed23c0d3c4 py3: ported Part to python3 2017-03-01 16:38:53 +01:00
wmayer
81c3bc6ef5 make new Part.Line behaviour the default 2017-02-09 21:47:25 +01:00
wmayer
6b0a0ff9c7 issue #0001935 2017-02-05 19:00:45 +01:00
Abdullah Tahiri
b277620138 Part: GeomBSpline extension for basic BSPline Sketcher support
==============================================================

1) Basic set/get interface for poles, weights, knots and multiplicities

2) Introduction of GeomBoundedCurve class replicating OCC hierarchy. Why? To provide seamless start/end point interface for any bounded curve, i.e. Bezier, BSpline,

Note: The ArcOfConic start/end point interface relies on GeomTrimmedCurve, and introduces CCW/CW correcting code which relies on Axis. Axis are introduced in GeomConic and are
not part of GeomBounded.

Note 2: In the future, it may be thought to make GeomArcOfConic (the equivalent of GeomTrimmedCurve) deriving from GeomBoundedCurve, as to fully replicate OCC hierarchy. GeomBoundedCurve
defines the functions as virtual to allow seamless integration.
2017-01-05 11:58:33 +01:00
Stefan Tröger
d0d4d6bc07 Port Attacher codde to the extension framework
AttachableObjects are desired in multiple occasions, and the current AttachableObject is not flexible enough to handle all cases. Hence the code is portet to an extension, which gives the needed flexibility.
2016-12-07 06:41:40 +01:00
wmayer
932eab40fc add class GeomArcOfConic to reduce code duplication 2016-12-04 14:20:56 +01:00
wmayer
adf3cc0f95 add class GeomConic to reduce code duplication 2016-12-04 11:36:50 +01:00
wmayer
fa585583d8 set type names of geom classes 2016-12-03 13:26:12 +01:00
wmayer
c6529d21fe implement Line class 2016-12-01 00:04:13 +01:00
wmayer
e96370f820 add class LineSegment 2016-11-30 16:26:21 +01:00
wmayer
1348fe6bc1 implement Line2d 2016-11-26 15:30:00 +01:00
wmayer
9bdad96a69 add Python wrappers for Geom2d classes 2016-11-22 14:09:19 +01:00
wmayer
689d2e42a9 wrapper for Geom2d package 2016-11-21 18:17:10 +01:00
wmayer
9ff8260608 + remove GeomHermiteCurve class and add its methods to GeomBSplineCurve 2016-10-29 15:08:17 +02:00
wmayer
18a5ff83b1 add support of Hermite curves 2016-10-26 10:28:23 +02:00
DeepSOIC
12d33e841f Part: register facemaker classes into typesystem 2016-10-01 23:13:44 +03:00
DeepSOIC
e3ca28baa8 Part: add Offset2D feature
derived from Part::Offset, to re-use task dialog easily
2016-09-02 16:26:02 +02:00
DeepSOIC
1f6174e3f2 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
c069987e41 Part: add BOPTools package as member of Part Py module 2016-07-29 14:18:01 +03:00
wmayer
161f418824 + expose OCC version number to Python 2016-07-14 14:11:54 +02:00
DeepSOIC
7000d551b7 Attacher: Py: create AttachEnginePy
Not very useful at the moment, just created the interface.
2016-05-13 19:54:44 +03:00
DeepSOIC
fe295b701b Attacher: Py: introduce Py interface of AttachableObject
Small - just the introduction.
Support for Py features based on AttachableObject.
Redirect Part2DObjectPython's father to be AttachableObjectPython.
2016-05-13 19:54:44 +03:00
DeepSOIC
00d8537b66 Part: duplicate include cleanup
no functional changes
2016-05-13 19:54:44 +03:00
DeepSOIC
1ca73cf428 Attacher: fix typesystem (forgotten ::init())
still doesn't work =(
2016-04-21 20:55:42 +03:00
DeepSOIC
42ecc24ec5 Sketcher: new attachment engine 2016-04-12 18:12:12 +02:00
jrheinlaender
5b3d5e6bd8 Moved generic Datum class to Part module to avoid Sketcher dependency on PartDesign 2016-04-12 18:11:49 +02:00
jriegel
b825571562 implement active body in PartDesign 2016-04-12 18:11:45 +02:00
jriegel
6700512efe Add some commands to assembly 2016-04-12 18:11:44 +02:00
wmayer
a4dc263846 + always get occ version information in About dialog 2016-03-19 15:55:09 +01:00