The code below sometimes crashes Rhino for me. It seems that with a small enough quantity of breps to process or a large enough time between each call to CreateOffsetBrep, the crashing can be prevented. I sent in an error report for this last weekend.
Thank you,
Steve
6.0.17269.9391, 9/26/2017
Windows 7 Professional SP1
import Rhino.Geometry as rg
import rhinoscriptsyntax as rs
def main():
c = xrange(6)
breps0 = [rg.Sphere(rg.Point3d(10.0*i, 10.0*j, 10.0*k), 1.0).ToBrep()
for i in c for j in c for k in c]
print "{} breps to be offset.".format(len(breps0))
breps1 = []
tolerance = rs.UnitAbsoluteTolerance()
for i, brep0 in enumerate(breps0):
rc = rg.Brep.CreateOffsetBrep(
brep0, distance=1.0, solid=False, extend=False,
tolerance=tolerance)
rs.Sleep(5)
for brep1 in rc[0]:
if brep1.IsValid: breps1.append(brep1)
print "{} valid breps from Brep.CreateOffsetBrep.".format(len(breps1))
if __name__ == '__main__': main()