Hi,
In certain cases BRepOffsetAPI_MakePipeShell::Build runs out of stack space.
I like to report the issue with the data to reproduce, but I'm not entirely sure how to supply that data.
This is on Windows 10, Visual Studio 2019, OpenCascade 7.4.0
Besides the splines the only other setting applied to the object is SetTransitionMode(BRepBuilderAPI_RoundCorner)
This is all the data I got out of the object. There might be other data elements that I'm missing (like tolerances etc.), please let me know how to get those.
The printout below recursively prints the shapes and the children of the shapes, the number of '+' characters indicates the level of recursion.
Thanks,
Maurice.
IsReady: 1
ErrorOnSurface: 0
GetStatus: 0
profile:
+"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 27}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 0}
++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 10}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [3.92825e-07, 0, -1, 0, 1, 0, 1, 0, 3.92825e-07]}, "shape": 7, "scale": 1}}, "IsIdentity()": 0}}, "Orient": 0}
+++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 90}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [3.92825e-07, 0, -1, 0, 1, 0, 1, 0, 3.92825e-07]}, "shape": 7, "scale": 1}}, "IsIdentity()": 0}}, "Orient": 0}
+++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 90}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [3.92825e-07, 0, -1, 0, 1, 0, 1, 0, 3.92825e-07]}, "shape": 7, "scale": 1}}, "IsIdentity()": 0}}, "Orient": 1}
first:
+"TopoDS_Shape": {, "TShape.get()": {}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 3}
last:
+"TopoDS_Shape": {, "TShape.get()": {}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 3}
spine:
+"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 11}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 0}
++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 10}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 0}
+++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 90}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 0}
+++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 90}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 1}
++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 10}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [-0.54, 0, 0.515]}, "matrix": {"gp_Mat": [0, -1, 0, 0, 0, -1, 1, 0, 0]}, "shape": 7, "scale": 1}}, "IsIdentity()": 0}}, "Orient": 0}
+++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 90}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 0}
+++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 90}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 1}
++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 10}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 0}
+++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 90}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 0}
+++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 90}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 1}
++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 10}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [-1.08, 0, -0.157]}, "matrix": {"gp_Mat": [-1, -3.92825e-07, 0, 0, 0, -1, 3.92825e-07, -1, 0]}, "shape": 7, "scale": 1}}, "IsIdentity()": 0}}, "Orient": 0}
+++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 90}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 0}
+++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 90}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 1}
++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 10}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 0}
+++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 90}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 0}
+++"TopoDS_Shape": {, "TShape.get()": {"TopoDS_TShape": {"Flags": 90}}, "Location": {"TopLoc_Location": {"Transformation()": {"gp_Trsf": {"loc": {"gp_XYZ": [0, 0, 0]}, "matrix": {"gp_Mat": [1, 0, 0, 0, 1, 0, 0, 0, 1]}, "shape": 0, "scale": 1}}, "IsIdentity()": 1}}, "Orient": 1}