うまくいっているか自信がないのですが交点に点を描くマクロです。
交点を構成している図形は線分だけにして下さい。
*^C^C$M=setenv;to;0;$(if,$(=,$(getenv,to),0),undo;be;setenv;as;$(getvar,autosnap);;ap;$(getvar,aperture);autosnap;0;aperture;1;-layout;d;tmplo;;n;tmplo;;s;tmplo;point;0<0;erase;all;;model;ucs;w;setenv;to;1)$(if,$(=,$(getenv,to),1),select;縦線を選択^X\copybase;non;0<0;p;;-layout;s;tmplo;pasteclip;non;0<0;zoom;e;setenv;vcnt;1;;to;2)$(if,$(=,$(getenv,to),2),;to;4;select;l;;ucs;ob;l;lengthen;dy;;;l;;;$M=id;non;"""$(*,$(getvar,perimeter),0.113)"""<0;ucs;w;setenv;to;3)$(if,$(=,$(getenv,to),3),erase;l;;setenv;vp$(getenv,vcnt);$(getvar,lastpoint);;vcnt;$(+,$(getenv,vcnt),1);;to;2)$(if,$(=,$(getenv,to),4),model;select;横線を選択^X\copybase;non;0<0;p;;-layout;s;tmplo;pasteclip;non;0<0;zoom;e;setenv;hcnt;1;;to;5)$(if,$(=,$(getenv,to),5),;to;7;select;l;;ucs;ob;l;lengthen;dy;;;l;;;$M=id;non;"""$(*,$(getvar,perimeter),0.101)"""<0;ucs;w;setenv;to;6)$(if,$(=,$(getenv,to),6),erase;l;;setenv;hp$(getenv,hcnt);$(getvar,lastpoint);;hcnt;$(+,$(getenv,hcnt),1);;to;5)$(if,$(=,$(getenv,to),7),model;select;交点を構成するオブジェトを選択^X\zoom;o;p;;setenv;i;1;;j;1;;to;8)$(if,$(=,$(getenv,to),8),$(if,$(<,$(getenv,j),$(getenv,hcnt)),;to;9,-layout;d;tmplo;autosnap;$(getenv,as);aperture;$(getenv,ap);^Cundo;e))$(if,$(=,$(getenv,to),9),$(if,$(<,$(getenv,i),$(getenv,vcnt)),;to;10,;i;1;;j;$(+,$(getenv,j),1);;to;8))$(if,$(=,$(getenv,to),10),point;int;$(getenv,vp$(getenv,i));$(getenv,hp$(getenv,j));setenv;i;$(+,$(getenv,i),1);;to;8)^M
手順
1.コマンド発行
2.交点の縦線を選択
3.交点の横線を選択
4.交点を構成している線分、全部を選択。
です。
- zukki-
- 2018/05/23 (Wed) 09:32:09