找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 730|回复: 6

[讨论]:Lisp中command的回车用什么?

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-9-3 12:31:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
问题来自关于一些图层操作的Lisp,比如图层关闭,当使用选择集时,好像以前的程序都是用遍历的方法,今天偶然用Layer命令,发现 Off Lock Freeze 选项都是支持选择集的

命令:
-LAYER
当前图层:  0
输入选项
[?/生成(M)/设置(S)/新建(N)/开(ON)/关(OFF)/颜色(C)/线型(L)/线宽(LW)/打印(P)/冻结(
F)/解冻(T)/锁定(LO)/解锁(U)/状态(A)]: of

输入要关闭的图层名列表或 < 选择对象 >:

选择对象: 指定对角点: 找到 1 个

选择对象:  确实希望关闭图层“0”(当前图层)? <N> y 输入选项
[?/生成(M)/设置(S)/新建(N)/开(ON)/关(OFF)/颜色(C)/线型(L)/线宽(LW)/打印(P)/冻结(
F)/解冻(T)/锁定(LO)/解锁(U)/状态(A)]:


但是这个选择集在lisp中怎么写?

(vl-cmdf ".layer" "off" "" (ssget) "")

提示: 无效的选项关键字。 off 后面的 "" 在这里解释为空字串了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-9-3 20:53:30 | 显示全部楼层
出个馊主意
  1. (defun ptos (e)
  2.     (setq e (mapcar 'rtos e))
  3.     (setq e (strcat (car e) "," (cadr e) "," (caddr e)))
  4.   )
  5. (defun c:tt ()
  6.   (setq e (entsel))
  7.   (if e
  8.     (setq e (ptos (cadr e)))
  9.   )
  10.   (sendkeys (strcat "-layer of {enter}" e "  y  "))
  11. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8644个

财富等级: 富甲天下

发表于 2004-9-4 11:04:10 | 显示全部楼层
呵呵,wkai斑竹把这个sendkeys用得出神入化了,不如再完善一下,做个宏编辑器。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-5 17:56:09 | 显示全部楼层
  1. (Defun ZHF_ActiveX_Begin ()
  2.   (Setq *Acadobject* (Vlax-Get-Acad-Object))
  3.   (Setq *Acaddocument* (Vla-Get-Activedocument *Acadobject*))
  4.   (Setq *Mspace* (Vla-Get-Modelspace *Acaddocument*))
  5. )
  6. (defun c:tt()
  7.   (ZHF_ActiveX_Begin)
  8. (command "-layer" "off")
  9. (vla-sendcommand *Acaddocument* "\r")
  10. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2004-9-5 23:50:51 | 显示全部楼层
The layer command needs a list of layers separated by commas to work on, for
instance...
(command "-layer" "off" "layer1,layer2" "")

没办法,command下的layer是没办法的.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-6 12:14:57 | 显示全部楼层
按" "中间空格。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-6 22:09:08 | 显示全部楼层
再来一个:

  1. (vla-sendcommand  (vla-get-activedocument(vlax-get-acad-object)) "-layer off \015")
复制代码

\015 换为 \n 也可以
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-27 10:14 , Processed in 0.389859 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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