I wrote a code which creates intersected polyhedron and polygon. I want to cut that polyhedron with that polygon and remove the remaining solid. I tried CutPolyhedronWithPlane function but it gives the attached error. I need help on this.
- Forum
- CAD Parametric Modelling
- PythonParts
[Question] How can I cut a polyhedron and remove 1 part with python parts? [Solved]
Show solution Hide solution
Hi,
you put wrong type of arguments into the CutPolyhedronWithPlane. According to the signature, you must put a Polyhedron3D first, then a Plane3D. In the error, I can see two problems:
- in the first argument you have put some tuple instead of a polyhedron you want to cut
- in the second argument, you put a Polygon3D. not a Plane3D
Regarding the first problem: I don't know, what you have done with the polyhedron. I can only assume, you have used some function from geometry module, that returns a tuple of (error_code, polyhedron) (this is often the case) and you took the whole result, without unpacking it.
Regarding second problem: You cut the solid with a plane, not with a polygon. A plane is defined by one point and a vector. A polygon is a collection of points on a specific plane. Those are two different things.
You can get the plane, on which a polygon is situated with the GetPlane method. Again, this method returns a tuple of error_code and the plane! So unpack it first, like this:
err, plane = polygon.GetPlane()
Best,
Bart
Hi,
you put wrong type of arguments into the CutPolyhedronWithPlane. According to the signature, you must put a Polyhedron3D first, then a Plane3D. In the error, I can see two problems:
- in the first argument you have put some tuple instead of a polyhedron you want to cut
- in the second argument, you put a Polygon3D. not a Plane3D
Regarding the first problem: I don't know, what you have done with the polyhedron. I can only assume, you have used some function from geometry module, that returns a tuple of (error_code, polyhedron) (this is often the case) and you took the whole result, without unpacking it.
Regarding second problem: You cut the solid with a plane, not with a polygon. A plane is defined by one point and a vector. A polygon is a collection of points on a specific plane. Those are two different things.
You can get the plane, on which a polygon is situated with the GetPlane method. Again, this method returns a tuple of error_code and the plane! So unpack it first, like this:
err, plane = polygon.GetPlane()
Best,
Bart
you put wrong type of arguments into the CutPolyhedronWithPlane. According to the signature, you must put a Polyhedron3D first, then a Plane3D. In the error, I can see two problems:
in the first argument you have put some tuple instead of a polyhedron you want to cut
in the second argument, you put a Polygon3D. not a Plane3D
Regarding the first problem: I don't know, what you have done with the polyhedron. I can only assume, you have used some function from geometry module, that returns a tuple of (error_code, polyhedron) (this is often the case) and you took the whole result, without unpacking it.Regarding second problem: You cut the solid with a plane, not with a polygon. A plane is defined by one point and a vector. A polygon is a collection of points on a specific plane. Those are two different things.
You can get the plane, on which a polygon is situated with the GetPlane method. Again, this method returns a tuple of error_code and the plane! So unpack it first, like this:
err, plane = polygon.GetPlane()Best,
Bart
Thanks to you, I have realized I accidentally deleted the "err" from createpolyhedron part. For the second problem, I was aware of it, but I could not see that function. Thanks a lot. There will be more questions
Best,
Ümit