Commit Graph

93 Commits

Author SHA1 Message Date
wmayer
e9662984e7 Part: make reverse function parametric 2020-01-29 16:43:35 +01:00
Zheng, Lei
f028ba42ff 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
21e1ccbe9b Part: Default geometry extensions for boolean and double 2019-07-14 12:37:35 +02:00
Abdullah Tahiri
27620ed717 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
0c1df38a4b Part: GeometryStringExtension to extend a geometry by a string 2019-07-14 12:37:30 +02:00
Abdullah Tahiri
a846d7627c Part: Expose GeometryIntExtension python type 2019-07-14 12:37:30 +02:00
Abdullah Tahiri
ba3831715c Part: Standard geometry extension adding an integer value 2019-07-14 12:37:30 +02:00
Abdullah Tahiri
622f249dcd Part: Geometry Extensions 2019-07-14 12:37:28 +02:00
wmayer
1b0d03e4ab Parametric refinement feature 2019-07-08 14:37:00 +02:00
wmayer
98a53884dc use INCH instead of IN when setting units for STEP or IGES export 2019-06-13 12:40:01 +02:00
wmayer
9aa6a700d8 Replace Base::Exception with appropriate subclass 2018-11-14 19:45:20 +01:00
Abdullah Tahiri
c3592c8ff4 Part: Geometry Arcs inheriting from GeomTrimmedCurve 2018-10-28 18:32:15 +01:00
wmayer
d88860a4c1 rework error handling mechanism 2018-10-24 19:38:43 +02:00
wmayer
729cfd8155 py3: fox compiler warnings
issue 0000995
2017-06-04 00:17:57 +02:00
wmayer
3d6fc352c5 do code cleanup
move BOPTools from Part to PartGui because it depends on GUI
2017-03-01 21:58:04 +01:00
looooo
275db827aa py3: Part: App: gathering commits relevant for Mod/Part/App 2017-03-01 17:10:46 +01:00
wmayer
d5e9afa52b py3: ported Part to python3 2017-03-01 16:38:53 +01:00
wmayer
c19dd8b4c7 make new Part.Line behaviour the default 2017-02-09 21:47:25 +01:00
wmayer
6da95687e0 issue #0001935 2017-02-05 19:00:45 +01:00
Abdullah Tahiri
e026378e7d 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
67d76b309c 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
273f3995c0 add class GeomArcOfConic to reduce code duplication 2016-12-04 14:20:56 +01:00
wmayer
4ba8b565dc add class GeomConic to reduce code duplication 2016-12-04 11:36:50 +01:00
wmayer
ad41408b73 set type names of geom classes 2016-12-03 13:26:12 +01:00
wmayer
c74ba63283 implement Line class 2016-12-01 00:04:13 +01:00
wmayer
19237df7bf add class LineSegment 2016-11-30 16:26:21 +01:00
wmayer
0e320ae8cf implement Line2d 2016-11-26 15:30:00 +01:00
wmayer
78a6da83b0 add Python wrappers for Geom2d classes 2016-11-22 14:09:19 +01:00
wmayer
cd761ab804 wrapper for Geom2d package 2016-11-21 18:17:10 +01:00
wmayer
85020ab780 + remove GeomHermiteCurve class and add its methods to GeomBSplineCurve 2016-10-29 15:08:17 +02:00
wmayer
13b7a32596 add support of Hermite curves 2016-10-26 10:28:23 +02:00
DeepSOIC
31f2a93c38 Part: register facemaker classes into typesystem 2016-10-01 23:13:44 +03: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
8c908d4106 Part: add BOPTools package as member of Part Py module 2016-07-29 14:18:01 +03:00
wmayer
602053d2d4 + expose OCC version number to Python 2016-07-14 14:11:54 +02:00
DeepSOIC
7e38a59bac Attacher: Py: create AttachEnginePy
Not very useful at the moment, just created the interface.
2016-05-13 19:54:44 +03:00
DeepSOIC
c040ee7333 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
4dbbb1a7ed Part: duplicate include cleanup
no functional changes
2016-05-13 19:54:44 +03:00
DeepSOIC
464ea0c85d Attacher: fix typesystem (forgotten ::init())
still doesn't work =(
2016-04-21 20:55:42 +03:00
DeepSOIC
93fff0e65f Sketcher: new attachment engine 2016-04-12 18:12:12 +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
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
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
027a560fbc + add Python binding to Plate surface 2015-11-19 15:27:35 +01:00
wmayer
c082cc47a1 + Add parametric feature to create face from sketches 2015-11-12 19:44:24 +01:00
Mateusz Skowroński
05f95c0506 Fix files encoding. Go from ISO8859-1 to UTF-8. 2015-09-21 19:50:49 -03:00