lvbin2ooo 发表于 2015-11-24 11:30:39

图层特性管理器批量改图层线宽



如图,图层特性管理器,想要用lisp 批量修改里头所有线宽“0.0”改为“0.4”,求大神给思路或代码;

附,转发站内,LEE MAC的一个图层提取器,很强大。

Linhay 发表于 2015-11-25 13:49:34

本帖最后由 Linhay 于 2015-11-25 15:06 编辑

(defun c:tt (/ lwn *DOC lname)
(VL-LOAD-COM)
(setvar "cmdecho" 0)
(setq *Doc (vla-get-ActiveDocument (vlax-get-acad-object)))
   (vlax-for n (vla-get-layers *DOC)
      (setq lwn (vla-get-LineWeight n))
      ;;;(setq lname (vla-get-name n))
      (if (= lwn 0)
            (vla-put-Lineweight n 40);;(command "-layer" "lw" "0.40" lname "");;
      )
   )
(setvar "cmdecho" 1)
(princ)
)

adidasljh 发表于 2024-6-13 10:07:03

Linhay 发表于 2015-11-25 13:49


简洁明了,大神啊!

wlj96167 发表于 2023-11-6 15:00:30

回帖是一种美德!感谢楼主的无私分享 谢谢

Linhay 发表于 2015-11-24 12:03:40

只把0.0改成0.4吗?默认的不改?

lvbin2ooo 发表于 2015-11-24 14:09:25

Linhay 发表于 2015-11-24 12:03 static/image/common/back.gif
只把0.0改成0.4吗?默认的不改?

默认的不用。但是想把0.0改为默认也行。

lvbin2ooo 发表于 2015-11-24 14:11:22

自己学艺不精,刚才搜集了下,想到:
(command "layer""s" "LEVEL11"   "L" "Continuous" "" "LW" "0.4" "" "")

这样就可以修改LEVEL11的线宽为0.4了,但是如何批量选择 LW 是0.0的图层呢;

lvbin2ooo 发表于 2015-11-25 20:39:09

Linhay 发表于 2015-11-25 13:49 static/image/common/back.gif


非常感谢。vlisp 确实不擅长,自己以为自己已经懂了lisp..才发现自己只是一个小微粒。。谢谢。

xfjiamy 发表于 2017-10-3 22:44:47

谢谢楼主分享

pengfei2010 发表于 2017-10-5 11:41:00

回帖是一种美德!感谢楼主的无私分享 谢谢

wlj96167 发表于 2023-11-6 14:51:07


回帖是一种美德!感谢楼主的无私分享 谢谢
页: [1] 2
查看完整版本: 图层特性管理器批量改图层线宽