要求在ACAD2004、2005上用LSP程序实现一下功能: 标题栏用属性块的方式调入,填写完标题栏项目后,如要保存图形,则默认以“图号”+“名称”为文件名,路径可选。 如图号为“1024085”,名称为“机架总成”,则保存文件名为“1024085机架总成”。 ----------------------------------------------------------------------------------------------------------------------------- 有人给出下面程序: 以下程序调试成功,你需要将程序中的“标题栏属性块名”“图号”“名称”替换成你们用的块名、属性名! 另:前四行通过对话框选择一文件来获取路径,应保证选择的路径下有一个文件 (defun c:SaveAttName(/ tp L ss en el nm t1 t2 tn) (setq tp (getfiled "文件保存路径" "" "" 4)) ;选取任意一个文件 (setq L (strlen tp)) (while (/= (substr tp L 1) "\\") (setq L (1- L))) (setq tp (substr tp 1 L)) ;获取文件路径
(setq ss (ssget "X" (list (cons 0 "INSERT") (cons 2 "标题栏属性块名")))) (setq en (ssname ss 0) el (entget en)) (while (/= (dxf 0 (setq el (entget (setq en (entnext en))))) "SEQEND") (setq nm (dxf 2 el)) (if (= nm "图号") (setq t1 (dxf 1 el))) (if (= nm "名称") (setq t2 (dxf 1 el))) ) (setq tn (strcat tp t1 t2 ".dwg")) (command "SAVEAS" "" tn) (princ) ) ------------------------------------------------------------------------------------------------------------ 在CAD2005加载运行后提示:
SAVEATTNAME ; 错误: no function definition: DXF 请高手赐教
|