明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2118|回复: 8

[LISP]经典小程序大集合。我抛砖:改变物体所在层(包括块)

[复制链接]
发表于 2005-7-20 12:46 | 显示全部楼层 |阅读模式
(defun c:chlayer (/ a1 a2 n index b1 b2 d1 d2 b3)
     (graphscr)
     (prompt "Select entities to be changed ") (terpri)
     (setq a1 (ssget))
     (prompt "Point to entity on target layer ") (terpri)
     (setq a2 (entsel))
     (setq n (sslength a1))
     (setq index 0)
     (setq b2 (entget (car a2)))
     (setq d2 (assoc 8 b2))
     (repeat n
          (setq b1 (entget (ssname a1 index)))
          (setq d1 (assoc 8 b1))
          (setq b3 (subst d2 d1 b1))
          (entmod b3)
          (setq index (+ index 1))
     )
)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 1金钱 +5 贡献 +10 激情 +2 收起 理由
meflying + 5 + 10 + 2 【好评】鼓励一下!

查看全部评分

发表于 2005-7-20 14:07 | 显示全部楼层
没必要制造麻烦:
  1. (defun c:chlayer (/ a1 a2 d2)
  2.   (prompt "Select entities to be changed : ")
  3.   (setq a1 (ssget)
  4. a2 (entsel "\nPoint to entity on target layer : ")
  5. d2 (cdr(assoc 8 (entget (car a2))))
  6.   )
  7.   (command "change" a1 "" "p" "la" d2 "")
  8.   (princ)
  9. )
 楼主| 发表于 2005-7-20 17:30 | 显示全部楼层

交换 反复 比较。

上面的简单,但是不能改变图块的属性也随层。

希望有更多的小程序过来秀。

发表于 2005-7-21 03:26 | 显示全部楼层

用刷子不行么?

发表于 2005-7-21 09:31 | 显示全部楼层
无痕发表于2005-7-21 3:26:00 用刷子不行么?

用刷子可能改变的不仅仅是图层,还有线形,颜色等。
发表于 2005-7-21 13:51 | 显示全部楼层

(entmod ent)

用此语言好些!!

发表于 2005-7-22 13:27 | 显示全部楼层

有道理,不过用的不多

发表于 2005-7-25 17:44 | 显示全部楼层
很好,谢谢
发表于 2005-7-29 17:55 | 显示全部楼层

我选择100000000个物体会很慢吗?

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-21 11:00 , Processed in 0.334066 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表