(if(and(bh390))(setqbh397))
(setqbh(strcatqianzhui3(chrbh3)houzhui3))
)
)
(if(=bklx"Y");边框半径是否自动处理及r0值
(progn
(if(=zidong_rt)
(setqr0(/(tdaxiao3)2))
(setqr0r)
)
)
(setqr0(/(tdaxiao2)2))
)
(if(=bklx"J");边框为矩形时r0值
(if(=zidong_jt)
(setqr0(/(tdaxiao2)2))
(setqr0(/jgao2))
)
)
(if(=zidong_changt);引线长度是否自动处理及chang0值
(progn
(if(=bklx"Y")
(setqchang0(*r02))
(progn
(if(=bklx"J")
(if(=zidong_jt)
(setqchang0(tdaxiao1))
(setqchang0jkuan)
)
(if(=bklx"W")
(setqchang0(tdaxiao1))
)
)
)
)
)
(setqchang0chang)
)
;对象捕捉
(setqdx(getvar"osmode"))
(setvar"osmode"0)
(biankuangyr0obbh)
(if(and(/=yx"N")(/=yx"n"))
(progn
(if(>=(caro)(carob))
(progn
(setqdian1(list((carob)(/chang02))(-(cadrob)r0jl)))
(setqdian2(list(-(carob)(/chang02))(-(cadrob)r0jl)))
(if(>jiantou0(distanceodian1))(setqjiantou00))
(setqdianx((caro)(*(/jiantou0(distanceodian1))(-(cardian1)(caro)))))
(setqdiany((cadro)(*(/jiantou0(distanceodian1))(-(cadrdian1)(cadro)))))
(command"pline"o"w"0(/jiantou03)(listdianxdiany)"w"00dian1dian2"")
)
(progn
(setqdian1(list(-(carob)(/chang02))(-(cadrob)r0jl)))
(setqdian2(list((carob)(/chang02))(-(cadrob)r0jl)))
(if(>jiantou0(distanceodian1))(setqjiantou00))
(setqdianx((caro)(*(/jiantou0(distanceodian1))(-(cardian1)(caro)))))
(setqdiany((cadro)(*(/jiantou0(distanceodian1))(-(cadrdian1)(cadro)))))
(command"pline"o"w"0(/jiantou03)(listdianxdiany)"w"00dian1dian2"")
)
)
)
)
;对象捕捉
(setvar"osmode"dx)
(setq*error*eroderodnil)
(evalbh)
)
;参数设置********************************************************************************
;初值设置
(defunchuzhi(/qianzhui20houzhui20qianzhui30houzhui30)
(initget1"0123")
(setqbhlx(atoi(getkword"选择一种编号类型:
\n<0>自然数序列(123...)<1>字母序列(abc.../ABC...)<2>带前/后缀自然数序列(a1a2.../B1B2.../
(1)...)<3>带前/后缀字母序列(aaabac.../MaMbMc.../(a)...)选择其中一种0/1/2/3:
")))
(if(=bhlx0)
(progn
(setqbh0(getint"\n输入起始数值:
<1>"))
(if(=bh0nil)(setqbh01))
(setqbh0(1-bh0))
)
)
(if(=bhlx1)
(progn
(setqbh1(1-(ascii(getstring"\n输入起始字母:
"))))
)
)
(if(=bhlx2)
(progn
(setqqianzhui20(getstring(strcat"输入前缀:
<"qianzhui2">")))
(if(/=qianzhui20"")(setqqianzhui2qianzhui20))
(setqbh2(getint"\n输入起始数值:
<1>"))
(if(=bh2nil)(setqbh21))
(setqbh2(1-bh2))
(setqhouzhui20(getstring(strcat"输入后缀:
<"houzhui2">")))
(if(/=houzhui20"")(setqhouzhui2houzhui20))
)
)
(if(=bhlx3)
(progn
(setqqianzhui30(getstring(strcat"输入前缀:
<"qianzhui3">")))
(if(/=qianzhui30"")(setqqianzhui3qianzhui30))
(setqbh3(1-(ascii(getstring"\n输入起始字母:
"))))
(setqhouzhui30(getstring(strcat"输入后缀:
<"houzhui3">")))
(if(/=houzhui30"")(setqhouzhui3houzhui30))
)
)
(c:
sb)
)
;引线设置
(defunyinxian(/yx0yxfjl0chang0jiantou0)
(initget"YN")
(if(=yx"Y")(setqyxf"N")(setqyxf"Y"))
(setqyx0(getkword(strcat"\n""编号是否带引线?
/:
<"yxf">")))
(if(=yx0nil)(setqyxyxf)(setqyxyx0))
(if(=yx"Y")
(progn
(setqjl0(getdist(strcat"输入编号到引线的距离:
<"(rtosjl)">")))
(if(/=jl0nil)(setqjljl0))
(setqchang0(getdist"输入水平段引线的长度:
<自动>"))
(if(/=chang0nil)(setqchangchang0zidong_changnil)(setqzidong_changt))
(setqjiantou0(getdist(strcat"输入箭头大小:
<"(rtosjiantou)">")))
(if(/=jiantou0nil)(setqjiantoujiantou0))
)
)
(c:
sb)
)
;边框设置
(defunbkshezhi(/r0)
(initget1"YWJ")
(setqbklx(getkword"\n选择边框类型[圆(Y)/矩形(J)/无(W)]:
"))
(if(=bklx"Y")
(progn
(setqr0(getdist(strcat"输入圆半径:
<""自动"">")))
(if(/=r0nil)(setqrr0zidong_rnil)(setqzidong_rt))
)
)
(if(=bklx"J")
(progn
(setqjkuan(getdist"\n输入矩形宽:
<自动>"))
(if(=jkuannil)
(setqzidong_jt)
(progn
(setqzidong_jnil)
(setqjgao(getdist"\n输入矩形高度:
"))
)
)
)
)
(c:
sb)
)
;文字设置
(defunwenzi(/th0ta0)
(setqth0(getdist(strcat"输入文字高度:
<"(rtosth)">")))
(if(/=th0nil)
(progn
(setqthth0)
)
)
(setqta0(getangle(strcat"输入文字角度:
<"(rtosta)">")))
(if(/=ta0nil)
(progn
(setqtata0)
(setqta(*(/tapi)180))
)
)
(c:
sb)
)
;绘边框
(defunbiankuangy(banjingyuanxinbianhao)
(if(=bklx"Y")
(command"circle"yuanxinbanjing)
)
(if(=bklx"J")
(progn
(if(=zidong_jt)
(setqjkuan0(tdaxiao1)jgao0(tdaxiao2))
(setqjkuan0jkuanjgao0jgao)
)
(command"pline")
(command(list(-(caryuanxin)(/jkuan02))(-(cadryuanxin)(/jgao02))))
(command"w"00)
(command(list((caryuanxin)(/jkuan02))(-(cadryuanxin)(/jgao02))))
(command(list((caryuanxin)(/jkuan02))((cadryuanxin)(/jgao02))))
(command(list(-(caryuanxin)(/jkuan02))((cadryuanxin)(/jgao02))))
(command"c")
)
)
(command"text""J""MC"yuanxinthtabianhao)
)
;将当前文字样式的文字高度项设置为0
(defungaodu0()
(command"style"""""0"""""""""")
(c:
sb)
)
;编号文字宽与高
(defuntdaxiao(x/abc);x=t则b=宽.x=nil则b=高
(setqa(textbox(list(cons1bh))))
(setqc(/(-(cadara)(cadadra))pianyi))
(if(=x1)
(setqb(-(caadra)(caara)c))
(if(=x2)
(setqb(-(cadadra)(cadara)c))
(setqb(-(distance(cara)(cadra))c))
)
)
(evalb)
)