立即注册 登录
晓东CAD家园-论坛 返回首页

eachy的个人空间 http://bbs.xdcad.net/?14 [收藏] [复制] [分享] [RSS]

日志

由特定图框归档图形

已有 374 次阅读2013-5-6 18:09 |个人分类:Lisp

代码:
(defun c:DWGWB (/      ss     ssl    thisdrawing   path	  i	 e
obj box bp up atts name key0 n
key s1 na tag
)
(princ "\n选择归档范围[All - 全选]....")
(if (and (setq ss (ssget '((0 . "insert") (8 . "TK*") (66 . 1))))
(setq na (nentsel "\n点取属性图名: "))
(= (cdr (assoc 0 (setq al (entget na)))) "ATTRIB")
(setq tag (cdr (assoc 2 al)))
)
(progn
(setq ssl (sslength ss)
thisdrawing (vla-get-activedocument (vlax-get-acad-object))
path (getvar "dwgprefix")
i -1
)
(vla-startundomark thisdrawing)
(vlax-for lay (vla-get-layers thisdrawing)
(vla-put-lock lay :vlax-false)
)
(if (zerop
(length (vl-directory-files (strcat path "归档" "*.dwg")))
)
(vl-mkdir (strcat path "归档"))
)
(setq path (strcat path "归档\\"))
(command ".zoom" "o" ss "") ;_仅适用 2004+
(repeat ssl
(setq e (ssname ss (setq i (1+ i)))
obj (vlax-ename->vla-object e)
)
(vla-getboundingbox obj 'bp 'up)
(setq bp (safearray-value bp)
up (safearray-value up)
)
(command ".zoom" "w" bp up)
(setq atts
(safearray-value (variant-value (vla-getattributes obj)))
)
(while atts
(if (= (vla-get-tagstring (car atts)) tag)
(setq name (vla-get-textstring (car atts))
atts nil
)
)
(setq atts (cdr atts))
)
(if name
(progn
(ybvl-clearcset)
(if (findfile (strcat path name ".dwg"))
(progn
(princ (strcat "\n" path name ".dwg 已存在!"))
(initget 128 "S I")
(setq key
(getkword
"\n已有重名文件,请选择[S - 另存/I - 忽略]<回车替换>:"
)
)
(cond
((= key "S")
(setq n 1)
(while
(findfile (strcat path name "同名" (itoa n) ".dwg")
)
(setq n (1+ n))
)
(setq name (strcat name "同名" (itoa n)))
(princ (strcat "\n文件另存为" path name ".dwg"))
)
((= key "I") (setq name nil))
(t)
)
)
)
(if name
(progn
(setq s1 (ssget "w" bp up))
(vla-wblock
thisdrawing
(strcat path name)
(vla-get-activeselectionset thisdrawing)
)
)
)
)
)
)
(vla-endundomark thisdrawing)
)
)
(command ".zoom" "p")
(princ "\n归档完毕")
)

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-28 12:54 , Processed in 0.121764 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部