Commit Graph

160 Commits

Author SHA1 Message Date
Zheng, Lei
3ef438eaf0 Fix mixed line endings 2022-04-26 12:52:55 -05:00
marioalexis
22fe0d62fd Part: Add functions to replace indentical code structure in TopoShapePyImp.cpp 2022-04-23 16:40:48 +02:00
marioalexis
817063290a Part: Clean up code in TopoShapePyImp.cpp 2022-04-23 16:40:48 +02:00
marioalexis
c01dfad130 Part: Fix getElement method in Python TopoShape class 2022-04-15 17:38:17 +02:00
Chris Hennes
0a65575c2c Part: PR6497 move return statement to new line 2022-03-29 12:37:00 -05:00
wmayer
068c0e5a98 Part: modernize C++11
* use nullptr
2022-03-23 19:26:14 +01:00
wmayer
9160f06e1c Base: rename BaseExceptionFreeCADError to PyExc_FC_GeneralError 2022-03-17 14:45:48 +01:00
wmayer
58a719e207 Base: move ILogger sub-classes to their own source files in order to reduce including stream classes in client code 2022-03-06 10:13:47 +01:00
wmayer
95f583a677 Part: fix typos in make* functions 2022-02-16 12:48:02 +01:00
wmayer
398381c16e Part: for vertex, edge, wire use BRepExtrema_DistShapeShape to check whether point is inside 2021-10-23 16:39:28 +02:00
wmayer
745f8e044d Part: for faster execution make sewing optional when creating shape from mesh 2021-10-01 19:29:49 +02:00
luz paz
c69f245d6f Part: remove py2 code 2021-04-25 11:29:35 +02:00
tomate44
8b0c58d1b4 Part: Shape.ReflectLines: add 2D/3D, visibility and EdgeType options 2021-04-18 08:26:26 +02:00
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