def _make_shell(vec): algo = BRepOffsetAPI_Sewing() for a in vec: algo.Add(a.Shape()) algo.Perform() if len(vec) > 1: fixer = ShapeFix_Shell(algo.SewedShape()) fixer.Perform() return Shape(fixer.Shell()) else: return Shape(algo.SewedShape())
def _unify_shell(proto): faces = [] mkShell = BRepOffsetAPI_Sewing() newfaces = _unify_faces_array(proto.faces()) for n in newfaces: mkShell.Add(n.Shape()) mkShell.Perform() return Shape(mkShell.SewedShape())