iCAx开思网
标题:
cad尺寸驱动
[打印本页]
作者:
lixuming
时间:
2008-7-25 08:32
标题:
cad尺寸驱动
这个程序只能驱动直线,曲线类不能驱动,程序本身是网上找的,偶就是基本改了下,使驱动后尺寸准确,把程序复制到tt.txt里面再改成vtt.lsp文件,再2cad加载就可以了,执行命令为:TT(应该算是原创吧)
(defun c:tt(/ BLB EP ESPL N-EP N-SP NEW-T SD SD-DXF SEA SEB SP SS1 SS2 SS3)
(setq SD (entsel "\n选择驱动尺寸:"))
(if SD
(PROGN
(SETQ SD-DXF (ENTGET (CAR SD)))
(WHILE (NOT (wcmatch (CDR (ASSOC 0 SD-DXF)) "*DIM*"))
(setq SD (entsel "\n选择驱动尺寸:"))
(SETQ SD-DXF (ENTGET (CAR SD))))
(SETQ SP (CDR (ASSOC 13 SD-DXF))
EP (CDR (ASSOC 14 SD-DXF))
ESPL (DISTANCE SP EP)
SEA (ANGLE SP EP)
SEB (ANGLE EP SP)
NEW-T (getdist "\n新的长度:"))
(while (eq nil NEW-T)
(setq NEW-T (getdist "\n新的长度:")))
(if NEW-T
(progn
(setq BLB (* 1 (abs (- NEW-T ESPL))))
(if (> ESPL NEW-T )
(setq N-SP (POLAR SP SEA BLB)
N-EP (POLAR EP (+ PI SEA) BLB))
(setq N-SP (POLAR SP SEB BLB)
N-EP (POLAR EP (+ PI SEB) BLB))
)
(setvar "osmode" (logior (getvar "osmode") 16384))
(setvar "cmdecho" 0)
(vl-cmdf "_.undo" "_group")
(SETQ SS1 (SSGET "C" (POLAR SP (+ PI (* 0.25 PI)) 0.4)(POLAR SP (* 0.25 PI) 0.4))
SS2 (SSGET "C" (POLAR EP (+ PI (* 0.25 PI)) 0.4)(POLAR EP (* 0.25 PI) 0.4))
)
(IF SS1
(COMMAND "STRETCH" (SSGET "C" (POLAR SP (+ PI (* 0.25 PI)) 0.4)(POLAR SP (* 0.25 PI) 0.4))
""SP N-SP))
(IF SS3
(COMMAND "STRETCH" (SSGET "C" (POLAR EP (+ PI (* 0.25 PI)) 0.4)(POLAR EP (* 0.25 PI) 0.4))
""EP N-EP))
(vl-cmdf "_.undo" "_end")
(setvar "osmode" (logand (getvar "osmode") 49151))
(PRINC"\n编写:BDYCAD\n尺寸驱动程序运行完毕, 欢迎使用.谢谢!")))
)
)
(princ)
)
作者:
zwx100
时间:
2008-7-25 10:41
好东西试试怎样
欢迎光临 iCAx开思网 (https://www.icax.org/)
Powered by Discuz! X3.3