您可以编辑一个块并更改其中的所有内容。这是一个lisp,用于将发现特定线型的每个块中的线型更改为不同的线型。
我从这里的论坛上得到了一个叫做block edit的来源
- ; my line only change
- ;(defun c:normblocks (/ adoc)
- (vl-load-com)
- (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
- (vla-startundomark adoc)
- (vlax-for block (vla-get-blocks adoc)
- (if (not (wcmatch (strcase (vla-get-name block) t) "*_space*"))
- (vlax-for ent block
- (if (= (vla-get-linetype ent ) "solid" )
- (progn
- (vla-put-linetype ent "Continuous")
- (princ (vla-get-name block))
- )
- );_ end of if
- ) ;_ end of vlax-for
- ) ;_ end of if
- ) ;_ end of vlax-for
- (vla-regen adoc acactiveviewport)
- (vla-endundomark adoc)
- (princ)
完整的代码应易于更改颜色
- (defun c:normblocks (/ adoc)
- (vl-load-com)
- (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
- (vla-startundomark adoc)
- (vlax-for block (vla-get-blocks adoc)
- (if (not (wcmatch (strcase (vla-get-name block) t) "*_space*"))
- (vlax-for ent block
- ; (vla-put-color ent 0)
- (vla-put-linetype ent "Bylayer")
- (vla-put-lineweight ent aclnwtbyblock)
- ) ;_ end of vlax-for
- ) ;_ end of if
- ) ;_ end of vlax-for
- (vla-regen adoc acactiveviewport)
- (vla-endundomark adoc)
- (princ)
- ) ;_ end of defun
- (defun c:normblock (/ adoc selset)
- (vl-load-com)
- (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
- (vla-startundomark adoc)
- (if (setq selset (ssget "_:S:L" '((0 . "INSERT"))))
- (vlax-for ent (vla-item
- (vla-get-blocks adoc)
- (cdr (assoc 2 (entget (ssname selset 0))))
- ) ;_ end of vla-item
- (vla-put-color ent 0)
- (vla-put-linetype ent "ByBlock")
- (vla-put-lineweight ent aclnwtbyblock)
- ) ;_ end of vlax-for
- ) ;_ end of if
- (vla-endundomark adoc)
- (princ)
- ) ;_ end of defun
按层查找颜色
- (vl-load-com)
- (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
- (vla-startundomark adoc)
- (vlax-for block (vla-get-blocks adoc)
- (if (not (wcmatch (strcase (vla-get-name block) t) "*_space*"))
- (vlax-for ent block
- (vla-put-color ent 0)
- (vla-put-linetype ent "Bylayer")
- (vla-put-lineweight ent aclnwtbyblock)
- ) ;_ end of vlax-for
- ) ;_ end of if
- ) ;_ end of vlax-for
- (vla-regen adoc acactiveviewport)
- (vla-endundomark adoc)
- (princ)
|