Part: Create CompSolid/Compound/Shell if null before adding a sub-shape

Creating a shape with Part.CompSolid(), Part.Compound() or Part.Shell() is a null shape. In order to allow to append sub-shapes with the add()
method a valid shape must be created beforehand.

This fixes #13208
This commit is contained in:
wmayer
2024-04-27 08:20:29 +02:00
committed by Yorik van Havre
parent 5ba93dd9f0
commit 1febe5cde8
3 changed files with 11 additions and 0 deletions

View File

@@ -25,6 +25,7 @@
#ifndef _PreComp_
# include <BRep_Builder.hxx>
# include <Standard_Failure.hxx>
# include <TopoDS.hxx>
# include <TopoDS_CompSolid.hxx>
#endif
@@ -109,6 +110,9 @@ PyObject* TopoShapeCompSolidPy::add(PyObject* args)
BRep_Builder builder;
TopoDS_Shape comp = getTopoShapePtr()->getShape();
if (comp.IsNull()) {
builder.MakeCompSolid(TopoDS::CompSolid(comp));
}
auto shapes = getPyShapes(obj);
try {