sharetow 发表于 2021-9-12 09:57:55

块内层归0层

本帖最后由 sharetow 于 2021-9-17 13:32 编辑

将块内元素全部改为0层,颜色byblock
命令:C0

shcvip 发表于 2022-8-29 20:26:17

3278 发表于 2022-8-29 19:33
是写错了么,是bylayer么。(vla-put-color dxl acBlock)改为(vla-put-color dxl acBylayer)

弄好了,谢谢前辈。

sharetow 发表于 2022-8-21 08:52:48

shcvip 发表于 2022-8-20 19:53
可否除了某个特性的图层不改,比如中心层,其他的都改为0层

中心层不改变

惜惜2 发表于 2024-9-2 14:53:38

(defun C:C0(/ dxl km)
(if (= (getvar "cmdactive") 1) (ssget "x" ) (sssetfirst nil (ssget "x" )))
        (and
                (setq dxl (car(l-vldxl(ssget "_:S:L" '((0 . "INSERT"))))))
                (setq km (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))))
                (l-c0 dxl km)
                (not(vla-Update dxl))
                (vlax-release-object km)
        )
        (princ)
)
;
(defun l-c0(dxl km)
        (vla-put-layer dxl "0")
        (vla-put-color dxl acbylayer)
        (if (= "AcDbBlockReference" (vlax-get-property dxl "objectname"))
                (progn
                        (vlax-for x (vla-item km (vla-get-name dxl))
                                (l-c0 x km)
                        )
                        (if(=(vla-get-HasAttributes dxl):vlax-true)
                       (vl-cmdf "AttSync" "n" (vla-get-name dxl))
                        )
                )
        )T
)
;
(defun l-vldxl(dx / dxl i)
        (if (null dx)
                (setq dxl nil)
                (progn
                        (setq i 0 dxl nil)
                        (sssetfirst nil nil)
                        (repeat (sslength dx)
                                (setq dxl (cons (vlax-ename->vla-object (ssname dx i)) dxl) i (1+ i))
                        )
                )
        )
        dxl
)

大佬,其余选中的图元也能归置0层吗?这个需要怎么修改

dasha321 发表于 2021-9-12 11:16:33

怎么没有回复呢

cghdy 发表于 2021-9-13 10:11:04

缺函数了no function definition: L-VLDXL

nsh935 发表于 2022-7-28 08:49:33

谢谢   分享!!!

szhorse 发表于 2022-8-3 12:32:01

感谢,今天终于偶遇到了

Dea25 发表于 2022-8-5 11:29:40

好用,顶一下

shcvip 发表于 2022-8-20 19:53:32

可否除了某个特性的图层不改,比如中心层,其他的都改为0层

shcvip 发表于 2022-8-26 22:09:36

本帖最后由 shcvip 于 2022-8-26 22:36 编辑

sharetow 发表于 2022-8-21 08:52
中心层不改变
在变成0层的时候,可否将颜色改为 byblock 而不是byblock

转发 改块的颜色
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=184659&fromuid=7322683
(出处: 明经CAD社区)


3278 发表于 2022-8-29 19:33:11

shcvip 发表于 2022-8-26 22:09
在变成0层的时候,可否将颜色改为 byblock 而不是byblock

是写错了么,是bylayer么。(vla-put-color dxl acBlock)改为(vla-put-color dxl acBylayer)
页: [1] 2 3
查看完整版本: 块内层归0层