Commit Graph

66 Commits

Author SHA1 Message Date
wmayer
a566046de1 Part: use BRepTools::OuterWire to get outer wire of a face
In the past ShapeAnalysis::OuterWire() was used that may fail to determine the correct outer wire.

Forum thread: https://forum.freecad.org/viewtopic.php?t=83122
2023-11-30 12:41:49 +01:00
Florian Foinant-Willig
a922be727f Part: fix crash with null face 2023-10-05 08:14:50 +02:00
Chris Hennes
068b39092c Part: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
wmayer
7cb51a4980 Part: modernize C++: use range-based for loop 2023-08-16 21:56:32 -05:00
wmayer
17b457a783 Part: add functions to return the number of nodes and triangles of a tessellation 2023-04-11 13:34:44 +02:00
berniev
f4ffd15864 Mod: redundant void 2 2022-08-08 10:27:50 +02:00
wmayer
b6494085b4 Part: replace PyObject_IsTrue with Base::asBoolean 2022-07-16 13:31:10 +02:00
Uwe
1f0a94c539 [Part] TopoShapeFacePyImp.cpp: add includes needed by the CI compiler 2022-07-03 18:16:27 +02:00
Uwe
a44d4b9b87 [Part] Topo*: remove unneeded includes
- also sort includes
2022-07-03 17:41:42 +02:00
andrea
c66aadeb60 removed references to OCC<7 2022-06-25 14:29:24 +02:00
wmayer
76af01f482 Part: [skip ci] remove superfluous const_cast 2022-06-24 16:10:09 +02:00
wmayer
3696d89592 Part: [skip ci] use Py::None() 2022-04-08 10:58:10 +02:00
0penBrain
f75f4aaa9c [CrashFix] Core: fix crash when Surface is null 2022-04-08 10:55:31 +02:00
wmayer
6d2d45ceb7 Part: modernize C++11
* use nullptr
2022-03-23 19:26:14 +01:00
wmayer
1f12dca2b4 Py: replace BaseExceptionFreeCADError with more suitable exception types 2022-03-17 13:54:23 +01:00
marioalexis
83b55e577b Part: Use Tools::getNormal to compute normal to surface 2022-01-20 13:01:27 +01:00
wmayer
1a96fa60ce Part: add exception handling to Face.makeEvolved/Wire.makeEvolved 2021-11-30 20:04:31 +01:00
wmayer
d41a9a1e5c Part: implement Part.Wire.makeEvolved and Part.Face.makeEvolved 2021-11-30 18:17:29 +01:00
wmayer
a7f9c2f1b9 OCCT: port FreeCAD sources to version 7.6
SMESH is not yet ported
Although FreeCAD code compiles with OCCT 7.6 it doesn't work at the moment
2021-10-09 13:49:02 +02:00
wmayer
14e3c91158 Py: fix memory leak 2021-04-09 16:59:33 +02:00
wmayer
12577acc40 Part: [skip ci] allow to create empty shapes of each type 2020-10-16 17:08:49 +02:00
wmayer
1f8296736b Part: improve Python interface
+ rename getCurve2dFromGeom2d to makeFromCurve2d
+ add function makeFromCurve and makeFromTrimmedCurve like makeFromSurface
+ implement OffsetCurve.BasisCurve
+ fix memory leak in BRepOffsetAPI_MakePipeShellPy
2020-09-27 23:34:45 +02:00
wmayer
173576e49c Part: add method to add a wire (e.g. to create a hole) to a face 2020-09-25 16:00:01 +02:00
luz.paz
17ada69518 Part: [skip ci] fix header uniformity
This PR fixes header uniformity across all Part WB files
2019-12-22 00:59:47 +01:00
Abdullah Tahiri
216926233f Part: Make 3rd party libraries into PCH 2019-05-02 07:09:22 +02:00
wmayer
dc1720a7f2 continue PCH on Part module 2019-05-01 16:10:38 +02:00
tomate44
4e827194ef add a python method to cut holes in a Part.Face, from a list of wires 2019-04-29 12:33:43 -03:00
wmayer
2aee1e8368 fixes 0003771: Memory leak in Part.Face.Surface 2019-01-23 22:38:51 +01:00
wmayer
9aa6a700d8 Replace Base::Exception with appropriate subclass 2018-11-14 19:45:20 +01:00
wmayer
5a380af1d7 remove ambiguous function setTolerance, use Tolerance attribute instead 2018-08-19 14:31:04 +02:00
wmayer
99ec96acd5 prepare for PyCXX 7.0 2018-04-18 19:20:50 +02:00
wmayer
9b28d1e226 remove SetMinTolerance as suggested by PR 1240 2018-01-21 18:17:45 +01:00
tomate44
31ce28aa0d tolerance fix in TopoFace.validate() 2018-01-21 12:25:14 +01:00
wmayer
9980b74816 add method to get u,v nodes of the tessellation of a face
add method to get the nodes of the tessellation of an edge
2018-01-14 15:52:08 +01:00
wmayer
c5847cf918 fixes #0003262: normal vector returned by Face.normalAt(u,v) is not always a unit vector 2017-12-09 13:33:30 +01:00
wmayer
0d617f97d6 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
Peter Lama
fa4bebf2e0 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
wmayer
86b99e55dc add method to extract pcurve from an edge 2016-11-26 19:28:06 +01:00
wmayer
7b05dddf40 support creating Face from support face or surface and outer wire 2016-11-18 15:25:15 +01:00
DeepSOIC
115c7e4f88 Part: FaceMaker: check if instance is actually created.
Part::FaceMaker::ConstructFromType() could return null pointer if
abstract class type is supplied.

Here, it is fixed by checking for null pointer in facemaker itself,
rather than in every place  ConstructFromType is being used.
2016-10-04 10:03:19 +02:00
wmayer
da406cddb8 handle possible crashes with FaceMaker and fix a few coding flaws 2016-10-02 14:47:59 +02:00
DeepSOIC
585fc856bc Part: Py API: add methods to use FaceMakers
* new Part.Shape.Face() constructor footprints with facemaker class
supplied as string mane of C++ class.
* add Part.makeFace method that uses facemaker.
2016-10-01 23:13:44 +03:00
wmayer
7d38edb065 fix -Wextra in Part 2016-09-22 11:49:28 +02:00
wmayer
c2dd2e2b99 fix Coverity issues 2016-08-21 18:46:40 +02:00
Wolfgang E. Sanyer
d1d2f1f811 This commit adds getShape and setShape to TopoShape 2016-08-06 23:42:55 +02:00
wmayer
cb73d010bb + port to OCC 7.0 2016-05-14 16:53:27 +02:00
wmayer
858b9bf3b9 + issue #0002542: Part.Wire.makeoffset() doesn't handle circles correctly. 2016-05-12 19:03:23 +02:00
Mateusz Skowroński
05f95c0506 Fix files encoding. Go from ISO8859-1 to UTF-8. 2015-09-21 19:50:49 -03:00
wmayer
c1f96b20b1 + fix strict-aliasing warnings 2015-08-29 19:48:08 +02:00
wmayer
897591f765 + add methods to get GProps from curves and surfaces 2015-03-22 18:39:49 +01:00