明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1407|回复: 5

[提问] 选择随层线型相同的对象

[复制链接]
发表于 2013-12-23 13:22:32 | 显示全部楼层 |阅读模式
大家好,麻烦帮我改正下面的程式.

(defun c:stl()
  (setq en(entget(car(entsel"\n选择一个参照对象:"))));选择参照对象
  (setq lay(cdr(assoc 8 en)));取得参照对象图层
  (setq layn(TBLOBJNAME "layer" lay));检查参照对象图层
  (setq ladata(entget layn));取得图层信息
  (setq la6(cdr(assoc 6 ladata)));取得随层对象的线型
  (setq ss(ssget (list(cons 6 la6) (list(cons 8 lay)))));选择参照图层里线型为la6的对象
  )
发表于 2013-12-23 13:35:29 | 显示全部楼层
(setq ss(ssget (list(cons 6 la6) (list(cons 8 lay)))))=>(setq ss(ssget (list(cons 6 la6) (cons 8 lay))))
 楼主| 发表于 2013-12-23 13:39:35 | 显示全部楼层
自贡黄明儒 发表于 2013-12-23 13:35
(setq ss(ssget (list(cons 6 la6) (list(cons 8 lay)))))=>(setq ss(ssget (list(cons 6 la6) (cons 8 lay ...

大哥,我按你的提示改了,运行后还是提示:ssget 列表错误
 楼主| 发表于 2013-12-23 13:42:34 | 显示全部楼层
自贡黄明儒 发表于 2013-12-23 13:35
(setq ss(ssget (list(cons 6 la6) (list(cons 8 lay)))))=>(setq ss(ssget (list(cons 6 la6) (cons 8 lay ...

搞错了,不是提示ssget 列表错误,而是选择不到对象
发表于 2016-4-11 15:53:34 | 显示全部楼层
(DEFUN C:tucengxuanz(/ EN LAY)
(SETQ EN(ENTSEL "\n选择图层上的实体:"))
(SETQ LAY(CDR(ASSOC 8 (ENTGET(CAR EN)))))
(SETQ SS(ssget "x" (LIST(CONS 8 LAY))))
(setq s1 (sslength ss))
(princ s1)
)
发表于 2016-4-17 15:48:23 | 显示全部楼层
本帖最后由 llsheng_73 于 2016-4-17 15:55 编辑

  1. (defun c:stl(/ en)
  2.   (if(setq en(entsel"\n选择一个参照对象:"));选择参照图元
  3.     (sssetfirst'nil(setq en(entget(car en))en(ssget"X"(mapcar'(lambda(x)(assoc x en))'(6 8))))));选择与参照l图元线型和图层相同的图元
  4.   )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-20 11:20 , Processed in 0.196020 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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