明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4959|回复: 22

再---请教如何用LISP的SSGET函数选中“非锁定层”的实体

  [复制链接]
发表于 2003-12-22 02:46:00 | 显示全部楼层 |阅读模式
在LSP程序中用SSGET函数选择物体准备处理,锁定层的物体不需要也不能被改动,但是却被加入选择集并且可以被redraw函数重画,如何排除锁定层的物体使之不被选中?

回复: (ssget "");Rejects locked layers

不行啊,ACAD不接受这个函数
Command: (ssget "")
*Cancel*

请讲详细些,谢谢!
发表于 2003-12-22 06:30:00 | 显示全部楼层
可以啊,选择时锁定层物体不亮显,
发表于 2003-12-22 08:19:00 | 显示全部楼层
可以先用命令select,选择all,然后用ssget
(command "_.select" "all" "")
(setq ss (ssget "p"))
发表于 2003-12-22 09:04:00 | 显示全部楼层
To meflying:
                 您好,     你的方法好好的. 用(command "_.select" "all" "")就全部選非鎖定層的了. 很合適樓主選到非鎖定層的全部實體了. 呵呵 :D
发表于 2003-12-22 13:26:00 | 显示全部楼层
(ssget "")好像可以的吧?

不过如何不可以的话可以自己做一个过滤表的吧,这样不是快很多吗?
用COMMAND太慢了吧
发表于 2003-12-22 13:31:00 | 显示全部楼层
过滤表我也想过,好象写不出来。。。。
我测试过,简单的command命令和普通函数的运行时间差不多
发表于 2003-12-22 13:43:00 | 显示全部楼层
那我放一个我写的过滤表:)



;取得非锁定层
(defun getunlocklayer(/ layer lay_list )
(setq layer (tblnext "layer" T))
  (if (= (cdr (assoc 70 layer) ) 0)
(setq lay_list (list (cons 8 (cdr (assoc 2 layer)))))
    )
(setq layer (tblnext "layer"))
(while layer
  (if (= (cdr (assoc 70 layer) ) 0)
     (setq lay_list (append lay_list (list (cons 8 (cdr (assoc 2 layer))))))
    )
        (setq layer (tblnext "layer"))
         )
   (append (cons (cons -4  "<OR") lay_list) (list (cons -4  "OR>")))

  )
我还以为我刚刚没回复,原来有两个贴晕啊
例:
(ssget (getunlocklayer))
发表于 2003-12-22 13:46:00 | 显示全部楼层
这个到是没想到,动态写过滤表,好!
发表于 2003-12-22 14:09:00 | 显示全部楼层
简化一下程序:

  1. (defun getLayer ( / layer lay_list)
  2.   (while (setq layer (tblnext "layer" (not layer)))
  3.     (if (= (cdr (assoc 70 layer)) 0)
  4.       (setq lay_list (append lay_list (list (cons 8 (cdr (assoc 2 layer))))))
  5.     )
  6.   )
  7.   (append (cons (cons -4  "<OR") lay_list) (list (cons -4  "OR>")))
  8. )
发表于 2003-12-22 16:31:00 | 显示全部楼层
查看(LUCAS 是我)
http://www.xdcad.net/forum/showthread.php?s=&postid=380504#post380504
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 10:35 , Processed in 0.203142 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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