考えてみました
lt2019で確認です、その他のバージョンでは正常に動作しないかもしれません
簡易的なので複雑な図面では誤動作すると思います
ご了承ください
*^C^C$M=setenv;to;0;$(if,$(=,$(getenv,to),0),ucs;w;join;\;select;non;@;non;@;;draworder;p;;b;rectang;nea;@;'setenv;p1;$M="""$(getvar,lastpoint)""";\setenv;p3;$M="""""""$(getvar,lastpoint)""""""";;to;1)$(if,$(=,$(getenv,to),1),;sw1;$(if,$(<,$(index,0,$(getenv,p3)),$(index,0,$(getenv,p1))),1;;to;2,0;;to;3))$(if,$(=,$(getenv,to),2),;sw2;$(if,$(<,$(index,1,$(getenv,p3)),$(index,1,$(getenv,p1))),0;;to;4,1;;to;4))$(if,$(=,$(getenv,to),3),;sw2;$(if,$(<,$(index,1,$(getenv,p3)),$(index,1,$(getenv,p1))),2;;to;4,3;;to;4))$(if,$(=,$(getenv,to),4),;p1;$(getenv,p1)^H^H;;p3;$(getenv,p3)^H^H;;to;5)$(if,$(=,$(getenv,to),5),;p2;$M=$(nth,$(getenv,sw2),$(index,0,$(getenv,p3))""","""$(index,1,$(getenv,p1)),$(index,0,$(getenv,p1))""","""$(index,1,$(getenv,p3)),,);;to;6)$(if,$(=,$(getenv,to),6),;p2;$M=$(nth,$(getenv,sw2),,,$(index,0,$(getenv,p1))""","""$(index,1,$(getenv,p3)),$(index,0,$(getenv,p3))""","""$(index,1,$(getenv,p1)));;to;7)$(if,$(=,$(getenv,to),7),;p4;$M=$(nth,$(getenv,sw2),$(index,0,$(getenv,p1))""","""$(index,1,$(getenv,p3)),$(index,0,$(getenv,p3))""","""$(index,1,$(getenv,p1)),,);;to;8)$(if,$(=,$(getenv,to),8),;p4;$M=$(nth,$(getenv,sw2),,,$(index,0,$(getenv,p3))""","""$(index,1,$(getenv,p1)),$(index,0,$(getenv,p1))""","""$(index,1,$(getenv,p3)));;to;9)$(if,$(=,$(getenv,to),9),erase;l;;lengthen;dy;non;$(getenv,p1);non;$(getenv,p2);;;;non;$(getenv,p4);non;$(getenv,p3);;setenv;to;10)$(if,$(=,$(getenv,to),10),break;non;$(getenv,p2);f;non;$(getenv,p2);non;$(getenv,p3);ucs;p;^Csetenv;to;0)^M
1.マクロ起動
2.1本目のオブジェクトを選択(画像の□の部分)
3.2本目の交点を選択(画像の○の部分)
※、指示の方向によって処理が変わってしまうので画像のとおり選択してください
また、中心の線は処理できないので別途処理してください
R版なのでsetenv,getenvが使用できなかったら
MAIN MENUの【レギュラー版での使用に関する注意事項】
https://ameblo.jp/totthi-macro/entry-10895232361.html
を対応してください