Is there a way to create a pipe around a curve that maintains history?
Have you tried scripting the Pipe command?
The only thing I have tried is Rhino.AddPipe() in a vbscript file.
Try it using _Pipe and Rhino.Command eg. in vb using 1.0 as radius:
Rhino.Command("Pipe 1.0 1.0 Enter Thick=No Cap=None")
the curve must be selected before. To use history, you can enable it via Rhino.Command too, or rs.Command in python:
import rhinoscriptsyntax as rs def PipeWithHistory(r=1.0): curve = rs.GetObject("Select curve", rs.filter.curve, True, True) if not curve: return None cmd = "_History _Record=_Yes _Update=_Yes _Lock=_No _Enter" rs.Command(cmd, False) cmd = "_Pipe " + str(r) + " " + str(r) + " _Enter _Thick=_No _Cap=_None" rs.Command(cmd, False) cmd = "_History _Record=_No _Enter" rs.Command(cmd, False) if __name__=="__main__": PipeWithHistory(1.0)