(DEFUN C:pc ()
(setq dsc (xuanzekuai))
(setq ljm (xuanzewenjian))
(setq selscr (strcat (getvar \"TEMPPREFIX\") \"20140408.scr\"));;创建CSR脚本语句
;;; 向脚本添加能识别的CSR语句;;;
(setq txlist (vl-directory-files ljm \"*.dwg\"));;生成文件列表
(setq i 0)
(setq len (vl-list-length txlist));;读取文件个数
(setq neirong (open selscr \"w\"))
(repeat len
(setq tm (nth i txlist))
(setq str2 (strcat ljm \"\\\\\" tm));;打开文件路径
(setq str3 (strcat \"*\" dsc \"\\\\\" tm));;插入分解(\"*\"分解符)的块路径
(princ (strcat \"open \\\"\" str2 \"\\\"\\n\"
\"-insert \" str3
\" 0 1 0 qsave \\n\"
\"close \\n\"
)
neirong
)
(setq i (1+ i))
)
;;;;按文件数写入语句
(close neirong)
;;;关闭脚本文件
(command \"._script\" selscr);;;运行脚本
(princ)
)
;;;以下为选择需要打开的文件的子程序;;;
(defun xuanzewenjian (/ obj folder path)
(vl-load-com)
(setq obj (vlax-create-object \"Shell.Application\"))
(setq folder (vlax-invoke-method
obj 'browseforfolder
0 \"请指定要打开的DWG文件夹\"
1
)
)
(if (vl-catch-all-error-p
(setq path (vl-catch-all-apply
'(lambda
()
(vlax-get-property
(vlax-get-property folder 'self)
'path
)
)
)
)
)
nil
path
)
)
;;;以下为选择块的文件的子程序;;;
(defun xuanzekuai (/ obj folder path)
(vl-load-com)
(setq obj (vlax-create-object \"Shell.Application\"))
(setq folder (vlax-invoke-method
obj 'browseforfolder
0 \"请指定块DWG块文件夹\"
1
)
)
(if (vl-catch-all-error-p
(setq path (vl-catch-all-apply
'(lambda
()
(vlax-get-property
(vlax-get-property folder 'self)
'path
)
)
)
)
)
nil
path
)
因篇幅问题不能全部显示,请点此查看更多更全内容