马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
下面是处理外部DWG文件的通用框架,可以修改里面的回调函数 _remove,适合自己的需要
- (defun c:tt ()
- (defun _remove (doc)
- (defun _print-progess (doc gap / dwg)
- (setq dwg (vla-get-name doc)
- dwg (strcat (vl-filename-base dwg) (vl-filename-extension dwg))
- )
- (princ (xd::string:tailcut (strcat "\n处理 " dwg) gap "..."))
- )
- (textpage)
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;单文件信息打印框架
- (setq num1 0)
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (_print-progess doc 30)
- (setq lst1 nil)
- (vlax-for blk (vla-get-blocks doc)
- (if (and (/= (vla-get-isxref blk) :vlax-true)
- (/= (vla-get-islayout blk):vlax-true))
- (progn
- (setq lst1 (cons (vla-get-name blk) lst1))
- )
- )
- )
- (setq num (1+ num))
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;单文件信息打印框架
- (princ (strcat " 处理了 " (itoa (length lst1)) " 图块."))
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (princ)
- )
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (defun _check ()
- (if (or (not xd::vla:odbx) (not (= (type xd::vla:odbx) 'SUBR)))
- (progn (princ "\n请加载晓东通用LISP函数库再执行.") (exit))
- t
- )
- )
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;主程序框架 ;
- (defun _main ()
- (xd::begin)
- (setq num 0
- fns 0
- )
- (xd::vla:odbx '_remove nil t)
- (princ (strcat "\n\n共处理了 " (itoa num) " 个DWG文件."))
- (xd::end)
- (princ)
- )
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;main ;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (_main)
- (princ)
- )
|