发布于:2007-09-03 19:25:03
来自:建筑设计/CAD下载及教程
[复制转发]
下面是CAD默认几个命令的改进,使用AUTOLISP编写,可以加快绘图速度,有兴趣的朋友可以使用下啊,其中第一个是旋转命令的改进,特别适合在不知道图形角度的情况下通过选取两点旋转到0度,第二种是连续复制,不用在使用COPY命令后再输入M就可以实现连续复制,方便了复制的速度,第三个是字体的替换,对于打开别人的图后由于字体而看不见很多内容的时候,直接输入FT,所有因为替换不当而无法显示的字体都将以ROMAND字体显示出来,可以自己修改喜欢的字体。
使用方法:把下面的所有拷贝到CAD目下的acad2004.lsp或者acad2004doc.lsp文件中,保存后重新启动CAD即可。
如果是2002,就拷贝到acad2002.lsp或者acad2002doc.lsp文件下,使用的好的话,别忘记回帖……
两点定旋转rt 连续复制cc 字体替换ft
;;两点定旋转
(defun C:rt ()
(setvar "cmdecho" 0)
(setq css (ssget))
(setq p1 (getpoint "\n请输入旋转基点"))
(command "rotate" css "" p1 "r" p1)
(setq css nil)
(setvar "cmdecho" 1)
(prin1)
)
;;连续复制
(defun C:cc ()
(setvar "cmdecho" 0)
(setq css (ssget))
(command "copy" css "" "m")
(setq css nil)
(setvar "cmdecho" 1)
(prin1) )
;;字体替换
(defun c:ft()
;(setq orig_cmd (getvar "cmdecho"))
;(setvar "cmdecho" 0)
(setq elist (tblnext "STYLE" T))
(while (/= elist nil)
(setq nm (cdr (assoc 2 elist))
en (cdr (assoc 3 elist))
cn (cdr (assoc 4 elist))
enl (strlen en)
)
(if (and
(/= en nil)
(= cn nil)
(= (findfile en) nil)
(= (strcase (substr en (- enl 2))) "SHX")
)
(command "_style" nm "romans.shx" "0.0" "0.7" "" "" "" "")
); end if
(if (and
(/= cn nil)
(= (findfile cn) nil)
)
(command "_style" nm "romans.shx,hztxt.shx" "0.0" "0.7" "" "" "" "")
) ;end if
(setq elist (tblnext "STYLE"))
);end while
;(setvar "cmdecho" orig_cmd)
)
全部回复(14 )
只看楼主 我来说两句回复 举报
回复 举报