更改块
我想更改块颜色层和ltype(1000 pst)块实体1:
层1到0
按层到按块的颜色
L将bylayer键入byblock
块实体2:
层1到0
颜色2到1
L类型Dashdot(不更改)
谢谢你的帮助。
帕斯卡
ET中的块替换? 无块替换
我想更改块的de颜色、图层和ltype。
我没时间测试你自己试试
(defun C:CBC(/ blockobj bname en ent obj);change block
(setq ent (entsel "\nSelect block: "))
(setq en (car ent)
obj (vlax-ename->vla-object en)
bname (vla-get-effectivename obj)
blockobj
(vla-item (vla-get-blocks
(vla-get-activedocument
(vlax-get-acad-object)))
bname)
)
(vla-put-layer obj "0")
(vlax-for item blockobj
(if (eq "1" (vla-get-layer item))
(if (and (eq "AcDbLine" (vla-get-objectname item))
(eq "DASHDOT" (strcat (vla-get-linetype item)))
(eq 2 (vla-get-color item))
)
(progn
(vla-put-layer item "0")
(vla-put-color item 1))
(progn
(vla-put-layer item "0")
(vla-put-color item acByBlock)
(vla-put-linetype item "BYBLOCK")
)
)
)
)
(vla-regen (vla-get-activedocument
(vlax-get-acad-object))
acallviewports)
(princ)
)
(princ "\n ***Type CBC to execute***")
(prin1)
(vl-load-com)
~'J'~ 嗨,菲索,
CBC。lsp效果很好,
现在我有以下问题。
我想更改3种颜色(参见示例)。
帕斯卡
帕斯卡,请把样图贴出来
我使用A2008
你的照片对我来说不够清楚
~'J'~ 这是我的样图。。
更改块。图纸
好的,我明天回来
~'J'~
嗨,帕斯卡
再试一次
(defun C:CB2(/ blockobj bname en ent obj) ;change block
(setq ent (entsel "\nSelect block: "))
(setq en (car ent)
obj (vlax-ename->vla-object en)
bname (vla-get-effectivename obj)
blockobj
(vla-item (vla-get-blocks
(vla-get-activedocument
(vlax-get-acad-object)))
bname)
)
(vla-put-layer obj "0")
(vlax-for itemblockobj
(if (and (eq "DASHDOT" (strcase (vla-get-linetype item)))
(eq 2 (vla-get-color item))
)
(vla-put-color item 1)
)
(if (and (eq "ByLayer" (vla-get-linetype item))
(eq acLnWtByLayer (vla-get-lineweight item))
(eq 2 (vla-get-color item))
)
(vla-put-color item
)
(if (eq acByLayer (vla-get-color item))
(vla-put-color item acByBlock)
)
(vla-put-layer item "0")
)
(vla-regen (vla-get-activedocument
(vlax-get-acad-object))
acallviewports)
(princ)
)
(princ "\n ***Type CB2 to execute***")
(prin1)
(vl-load-com)
~'J'~ Thx Fixo!对于你的日常(CB2.LSP)。
现在我可以比以前更快地完成工作了。
非常感谢您抽出时间。
页:
[1]
2