自作したマクロ例でいうと下記のような感じです。
setenvのabcの値を一回一回変えないといけないので、文字数をくってしまいます。
*^C^C$M=setenv;toa;0;;tob;0;;toc;0;;tod;0;;abc;0;$(nth,$(getenv,toa),$(if,$(<,$(getenv,abc),1),;sw;0;;画層1;$(getvar,clayer);;画層2;$(getvar,clayer);;abc;0;;st;長さ寸法記入;;toa;1,))$(nth,$(getenv,toa),,toa;0;;HV;0;CANNOSCALE;1:$(getenv,注釈尺度);$(nth,$(getenv,sw),ray,ray,ray,ray);^X始点を指定:<$(getenv,st)>--切替(R)--^X\$M="""$(if,$(getvar,cmdactive),;setenv;toa;3,setenv;toa;2)""")$(nth,$(getenv,toa),,,;sw;$(if,$(=,$(getenv,sw),2),0,$(+,$(getenv,sw),1));;st;$M="""$(nth,$(getenv,sw),長さ,平行,のど厚,直列)寸法記入;;toa;1""")$(nth,$(getenv,toa),,,,p1;$(getvar,lastpoint);;toa;4)$(nth,$(getenv,toa),,,,,;toa;0;$(nth,$(getenv,sw),;abc;1;;tob;1,ortho;of;dimaligned;@;\\chprop;L;;P;LA;Dimension;;setenv;toa;1,ortho;of;ucs;$(getenv,p1);\;dimlinear;0;\\ucs;w;chprop;L;;P;LA;Dimension;;setenv;toa;1))$(nth,$(getenv,toa),,,,,,toa;0;chprop;L;;P;LA;Dimension;;ray;繰り返し(L)/切替(R)^X\$M="""$(if,$(getvar,cmdactive),;setenv;toa;3,setenv;toa;6)""")$(nth,$(getenv,toa),,,,,,,;toa;0;ray;直列寸法(L)/切替(R)^X\$M="""$(if,$(getvar,cmdactive),;dimcontinue;@;;;chprop;L;;P;LA;Dimension;;setenv;toa;6,setenv;sw;0;;toa;1)""")$(nth,$(getenv,tob),,;toa;0;;tob;0;;abc;0;ortho;on;dimlinear;@;次の点を指定(L)/切替(R)^X\$M="""$(if,$(getvar,cmdactive),;setenv;p2;$(getvar,lastpoint);;abc;1;;toc;3,setenv;abc;1;;tob;2)""")$(nth,$(getenv,tob),,,tob;0;;abc;0;ortho;on;line;$(getenv,p1);per;中心線部2点目(1点目の垂直点)を選択^X\;setenv;abc;1;;tob;3)$(nth,$(getenv,tob),,,,;tob;0;;abc;0;;p2;$(getvar,lastpoint);;abc;1;;tob;4)$(nth,$(getenv,tob),,,,,x1;$(index,0,$(getenv,p1));;y1;$(index,1,$(getenv,p1));;x2;$(index,0,$(getenv,p2));;y2;$(index,1,$(getenv,p2));;abc;1;;tob;5)$(nth,$(getenv,tob),,,,,,;abc;1;dist;$(getenv,p1);$(getenv,p2);setenv;$(if,$(=,$(getenv,y1),$(getenv,y2)),d1;0;;tob;6,d1;90;;tob;7))$(nth,$(getenv,tob),,,,,,,abc;1;;$(if,$(<,$(getenv,x1),$(getenv,x2)),d2;0;;toc;1,d2;180;;toc;1))$(nth,$(getenv,tob),,,,,,,,;abc;1;;$(if,$(<,$(getenv,y1),$(getenv,y2)),d2;0;;toc;1,d2;180;;toc;1))$(nth,$(getenv,toc),,;toc;0;;abc;0;ucs;$(getenv,p1);5<$(getenv,d1);;erase;L;;dimlinear;0","0;$(*,$(getvar,distance),2)<$(getenv,d2);\chprop;L;;P;LA;Dimension;;ucs;w;setenv;abc;1;;toc;2)$(nth,$(getenv,toc),,,toc;0;;abc;0;select;L;;dimoverride;dimblk1;_open30;dimsd2;on;dimsd1;off;dimse2;on;dimse1;off;;p;;setenv;toa;1)$(nth,$(getenv,toc),,,,;toc;0;;abc;0;$(if,$(eq,$(getenv,画層1),Dimension),-layer;s;0;;setenv;abc;1;;toc;5,;abc;1;;toc;4))$(nth,$(getenv,toc),,,,,toc;0;;abc;0;$(if,$(eq,$(getenv,画層1),Revision),-layer;s;0;;,)setenv;abc;1;;toc;5)$(nth,$(getenv,toc),,,,,,;toc;0;;abc;0;dimlinear;$(getenv,p1);$(getenv,p2);寸法線の位置を決定(L)/垂直寸法に固定(R)^X\setenv;abc;1;;toc;6)$(nth,$(getenv,toc),,,,,,,toc;0;;abc;0;;画層1;$(getvar,clayer);dimcontinue;L;;$M="""$(if,$(getvar,cmdactive),;layiso;L;;layon;setenv;abc;1;;toc;7,setenv;abc;1;;tod;2)""")$(nth,$(getenv,toc),,,,,,,,;toc;0;;abc;0;$(if,$(eq,$(getvar,clayer),Dimension),;abc;1;;tod;2,;abc;1;;tod;1))$(nth,$(getenv,tod),,;tod;0;;abc;0;$(if,$(eq,$(getvar,clayer),Revision),;abc;1;;tod;2,chprop;L;;P;LA;Dimension;;-layer;s;$(getenv,画層2);;setenv;toa;0))$(nth,$(getenv,tod),,,tod;0;;abc;0;-layer;s;$(getenv,画層1);;setenv;abc;1;;tod;$(if,$(=,$(getenv,HV),0),3,4))$(nth,$(getenv,tod),,,,;tod;0;;abc;0;dimlinear;$(getenv,p1);$(getenv,p2);v;寸法線の位置を決定(L)/水平寸法に固定(R)^X\setenv;HV;1;;abc;1;;toc;6)$(nth,$(getenv,tod),,,,,tod;0;;abc;0;dimlinear;$(getenv,p1);$(getenv,p2);h;寸法線の位置を決定(L)/垂直寸法に固定(R)^X\setenv;HV;0;;abc;1;;toc;6)^M
- ken
- 2024/02/21 (Wed) 14:58:26