Commit Graph

97 Commits

Author SHA1 Message Date
marioalexis
4c323a6325 Part: Crash when calling SubShapes of empty shape from Python 2021-01-18 19:47:35 +01:00
wmayer
c276139f19 Part: [skip ci] add TopoShape::isInfinite 2020-12-19 16:07:00 +01:00
wmayer
aec9d5f07a Py: fix memory leaks by incorrect use of PyList_Append 2020-12-13 16:30:04 +01:00
wmayer
13963592f4 Part: [skip ci] fix crash when trying to scale null shape 2020-10-09 08:31:48 +02:00
wmayer
da6cdb94a1 Part: add method to return a reversed shape 2020-09-25 15:59:08 +02:00
luz.paz
53bb216b57 Part: [skip ci] fix header uniformity
This PR fixes header uniformity across all Part WB files
2019-12-22 00:59:47 +01:00
wmayer
6af98e080f Part: [skip ci] fix two little copy&paste errors 2019-12-17 11:04:13 +01:00
DeepSOIC
cbe19e396b Part: fixup (to make gcc happy) 2019-12-17 10:52:28 +01:00
DeepSOIC
693130d860 Part: fix memory leak in distToShape
https://forum.freecadweb.org/viewtopic.php?f=10&t=41620
2019-12-17 10:52:20 +01:00
wmayer
83ecb8a5ec set default deflection of 0.01 when exporting shape as STL 2019-11-29 13:46:30 +01:00
asapelkin
e951094af9 use emplace_back instead of push_back where justified 2019-11-21 14:48:09 +01:00
Zheng, Lei
71c54272a0 Fix various Py::Object leak 2019-10-08 17:53:20 +02: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
wmayer
fb94e46db9 improve exception handling Shape.distToShape 2019-06-13 21:49:13 +02:00
Abdullah Tahiri
a56658489b Part: Make 3rd party libraries into PCH 2019-05-02 07:09:22 +02:00
wmayer
43bdef67d6 continue PCH on Part module 2019-05-01 16:10:38 +02:00
wmayer
d3631968ab add method to Python interface to get reflect lines of a shape 2019-02-25 10:50:38 +01:00
wmayer
dedaa80762 fixes 0003771: Memory leak in Part.Face.Surface 2019-01-23 22:38:51 +01:00
wmayer
033fce2685 support face colors when writing in OpenInventor format 2019-01-12 15:06:25 +01:00
wmayer
60581cff90 prepare for OCCT 7.3.1 2018-12-13 23:10:10 +01:00
wmayer
729b9e7afa add missing headers, prepare for OCCT 7.3.1 2018-12-13 23:08:48 +01:00
wmayer
36bd5a0ec1 fix build failure for OCCT < 7.0 2018-09-05 10:56:56 +02:00
wmayer
d8c5581566 add optional parameters to copy method to copy topology and/or triangulation 2018-09-04 23:17:25 +02:00
Markus Lampert
0b40519f3f Changed all catch types to references for polymorphic exceptions. 2018-08-08 15:45:30 +02:00
tomate44
1f63d6a103 add python binding of OCC defeaturing 2018-07-29 11:50:06 +02:00
Yorik van Havre
c93ff200ca Part: Allow to disable progress bar in brep string reader 2018-07-19 11:57:07 -03:00
tomate44
f3ac51d9b7 add Approximation option to TopoShape section 2018-06-10 20:59:06 +02:00
wmayer
009b18a553 expose function to Python to get optimal bounding box 2018-05-30 21:27:49 +02:00
wmayer
3c91e14fcd add typedef Py::TopoShape for convenience, move shape2pyshape to own file 2017-09-28 12:54:28 +02:00
wmayer
6ed14ed76a for boolean ops also support to pass single shape and tolerance 2017-09-18 22:16:15 +02:00
wmayer
949c86d364 Port to occ7.2:
+ Standard_Failure::Caught() is now marked as deprecated and should be replaced with standard C++ exception handling
2017-09-01 16:27:46 +02:00
wmayer
eb64ecc06f improve exception message if proximity function fails 2017-06-15 14:28:10 +02:00
wmayer
88bd341ad2 fixes #0002926: Trying to access Part.Shape.children() before doc.recompute() crashes the whole program 2017-06-03 13:46:05 +02:00
wmayer
2a6a58e587 properly raise exception in TopoShapePy::check 2017-05-29 16:52:44 +02:00
wmayer
f9bfd77555 add method to get ancestors of a sub-shape 2017-05-11 11:20:21 +02:00
wmayer
51d7949409 add optional parameter to TopoShape.check() to run bop check 2017-05-10 22:40:12 +02:00
Peter Lama
a75a98ef27 Use OCCT Handle macro for Handle_ classes
This is the result of running OCCT's upgrade script provided
with OCCT 7.0. See
https://www.opencascade.com/content/freecad-occt710-and-windows-rtti-data-missing#comment-form
and
https://www.forum.freecadweb.org/viewtopic.php?f=4&t=21405&start=120#p169019
for why this is necessary for OCCT >= 7.1
2017-04-20 12:27:34 +02: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
Zheng, Lei
eb0f89f477 Part: exported Part::sort_Edges
Fixed export of Part::shape2pyshape
2017-01-20 17:46:47 +08:00
Zheng, Lei
4a0e037893 Part: export Part::shape2pyshape 2017-01-19 23:05:30 +08:00
wmayer
dfbd6aa237 cleanup work: overload methods instead of using new method names 2017-01-04 15:39:27 +01:00
triplus
43ad429734 Add Part BOA multiCut, multiCommon and multiSection methods 2017-01-04 14:06:12 +01:00
wmayer
1dffd81295 fix build failure for occ version < 7.0 2016-11-12 16:19:51 +01:00
wmayer
a557836597 methods to fix shape tolerances 2016-11-12 16:14:46 +01:00
wmayer
ad49a96b14 methods to analyze shape tolerances 2016-11-12 15:31:35 +01:00
wmayer
f944ab3846 replace deprecated auto_ptr with unique_ptr 2016-09-22 13:01:20 +02:00
wmayer
1ce73dda96 fix -Wextra in Part 2016-09-22 11:49:28 +02:00
DeepSOIC
78d32b6405 Part: Py API: add makeOffset2d method to Part.Shape
+ write documentation to makeOffsetShape
2016-09-02 16:26:02 +02:00
Wolfgang E. Sanyer
7f4a437cc2 This commit adds getShape and setShape to TopoShape 2016-08-06 23:42:55 +02:00