3pt Mirror

is Mirror- 3pt going in V6 by any chance?
or has someone already written a script to do it that you don’t mind sharing? (python)

thanks for any info.

Hi Jeff - 3pt mirror is in V6 and in V5… did that not get into Rhino for Mac? I don’t have that running at the moment…

-Pascal

it’s not on Mac as far as i can gather.

what’s the actual name of the command?

lol… oh wait.
it’s there!!
and it works exactly as i was hoping


i feel silly.
: )

Hi Jeff - on Windows it’s Mirror with the 3Pt option.

here’s a quick py


def Mirror3Pt():
    
        ids = rs.GetObjects("Select objects to mirror", preselect=True)
        if not ids: return
        
        pts = rs.GetPoints(True, False, "Set plane origin.", "Set plane points.", 3)
        if not pts: return
        if len(pts) != 3: return
        
        plane = rs.PlaneFromPoints(pts[0], pts[1], pts[2])
        if not plane: return
        xform = rs.XformMirror(plane.Origin, plane.ZAxis)
        rs.TransformObjects(ids, xform, True)
        
    
if __name__ == "__main__": Mirror3Pt()




-Pascal

Oh… ok…

-Pascal =)

1 Like

thank you.
see the post i made while you were writing the script.

:oops:

What’s the 3rd point for?

you need 3 points to define a plane so the third point allows you to mirror objects around planes other than the cplane

@dmoyes - to follow up - the normal Mirror command also uses a plane but it is constrained to be vertical to the current CPlane so you do not need the third point. 3Pt allows an arbitrary mirror plane to be defined, two points is not enough to define a plane…

-Pascal

1 Like

So obvious now that you’ve explained it! Thanks.

right… thanks for clarifying that.
the vanilla mirror tool uses a plane perpendicular to cplane as the mirror.