Offset multiple curves, one curve at a time?

Hello.

Is there a way make offset keep going after one offset?
It would work in this fashion:

  1. pick curve
  2. pick side
  3. pick next curve
  4. pick next side
  5. so on

I can come up with a python script, but wondering if there is a native way to do this?

OffsetMultiple doesn’t work for me, because I need offset curves on opposite side of each other.

Thank you.

* _Offset should work for you.

Perfect, thank you!

Actually, one wrinkle: it doesn’t cancel current command…
I’ve tried * !_Offset but it doesn’t execute offset if I’m in the middle of trim command for example

Currently I’m using simple python script:

# -*- coding: utf-8 -*-
import Rhino

def continuous_offset():
    while True:
        result = Rhino.RhinoApp.RunScript("-Offset", False)
        if not result:
            break

if __name__ == "__main__":
    continuous_offset()

! *_Offset

Hmmm so, a bit of annoyance with this method is if you select a line and then execute offset, it will loop with that line selected again and won’t allow offset other lines

Hmm, yeah, didn’t check with preselected objects. Problem with Offset and preselected curves is the original always remains selected afterwards and the * only repeats the Offset and not any succeeding command - so it’s not possible to macro a deselect afterwards as far as I can see.

Only way I found for the moment is to force post selection by cancelling any existing preselection first.

! _SelNone *_Offset

I guess this might work as a Python script:

import rhinoscriptsyntax as rs

while True:
    result=rs.Command("_Offset")
    if not result: break
    rs.UnselectAllObjects()

Could you make an alias XYZ = !_Offset _SelLast and then loop with *XYZ?

Hmm, seems not to work. Does * not loop aliases?