明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3483|回复: 15

lisp命令执行时清除当前选择

  [复制链接]
发表于 2009-1-6 09:38 | 显示全部楼层 |阅读模式
每次调用lisp命令的时候,之前的选择还在,不知如何才能清除以便执行lisp命令?
发表于 2009-1-6 09:56 | 显示全部楼层

try (acet-ss-clear-prev)   ; need ET

发表于 2009-1-6 10:34 | 显示全部楼层
ET 的函数在图纸空间有时会出错。他的原理就是创建一个对象,然后undo回去。
发表于 2009-1-6 10:38 | 显示全部楼层

先(SETQ SS (SSGET "p"))

再(SETQ SS nil)?

发表于 2009-1-6 11:24 | 显示全部楼层
oyxx1023发表于2009-1-6 10:38:00先(SETQ SS (SSGET \"p\"))再(SETQ SS nil)?

这样不行吧
 楼主| 发表于 2009-1-7 12:18 | 显示全部楼层

我经常先选择一实体,察看实体的层等信息,之后就调用lisp命令,而此前的选择没有被清除,lisp命令建立在此选择后,很不好,那个ese逃脱符又不知道如何使用

\n为换行

\e、\t的都不行~~

发表于 2009-1-7 14:40 | 显示全部楼层
(command /e)
发表于 2009-1-7 14:55 | 显示全部楼层
命令: (command "select" "")

命令: (ssget "p")
nil

发表于 2009-1-7 16:48 | 显示全部楼层
nonsmall发表于2009-1-7 14:55:00命令: (command \"select\" \"\")命令: (ssget \"p\")nil

这样也不行的,

先执行选择集操作确保 (ssget "p") 返回为真

然后(command "select" "")

再(ssget "p")
---------------------------------------------只有返回nil才有效的

发表于 2009-1-7 16:53 | 显示全部楼层

;;-------------这是ET的方法-------------------------------

;; ▓ (lta:ClearSS)
;; [功能] 清空选择集
(defun lta:ClearSS (/ ss)
  (if (setq ss (ssget "_x" (list (cons 410 (getvar "ctab")))))
    (progn
      (setvar "cmdecho" 0)
      (setvar "highlight" 0)
      (command "_.select" (ssname ss 0) "")
      (command "_.undo" "1")
      (setvar "highlight" 1)
    )
  )
  nil
)

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

本版积分规则

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

GMT+8, 2024-6-27 22:37 , Processed in 0.190628 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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