找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1525|回复: 7

[求助] [求助]:请问怎样让画云线的时候自己创建一图层,当程序完成后返回用户图层?

[复制链接]
发表于 2005-8-5 23:07:31 | 显示全部楼层 |阅读模式

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

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

×
请问高手和斑竹们:
怎样让画云线的时候自动创建一图层,程序执行完成后,返回用户的当前图层?
我自己写了一个代码不正确?请求高手们解决?
谢谢!
(defun c:vcc ()
    (command "layer" "m" "Cloud_temp" "" "revcloud")
    (princ)
)


如果xyp1964斑竹看到了这个帖子,也请求他顺便解决一下这个帖子反应的问题?
谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-8-6 01:16:10 | 显示全部楼层
目前没有好办法!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2005-8-6 09:38:47 | 显示全部楼层
[php]
(defun c:vcc ()
  (defun end-revcloud(calling-reactor Info /)
    (if (member (car Info) '(;|"LINE"|;"REVCLOUD"))
      (setvar "clayer" $$$*rev*)
    )
    (vlr-remove start-revcloud)
  )
  
  (setq start-revcloud
         (vlr-command-reactor
                        nil
            '((:vlr-commandEnded . end-revcloud)))        
  )
  
  (setq $$$*rev* (getvar "clayer"))
  (if(not(tblsearch "layer""Cloud_temp"))
      (command "layer" "m" "Cloud_temp" "")
   )
  (setvar "clayer" "Cloud_temp")
  (command ;|"line"|;"REVCLOUD")
  (princ)
)
[/php]
由于刚删了2005,不能用REVCLOUD试,就用line试的.
应该能用吧.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-6 17:54:09 | 显示全部楼层
楼主问题的关键是如何让程序知道autocad命令(比如 revcloud 命令或其他任何命令)结束。 我也曾问过这样 的问题:如何让autocad执行line命令, 然后显示ok。问题的实质是一样的。

(command "layer" "m" "Cloud_temp" "" "revcloud") 是无法让程序得知revcloud 命令何时结束的,所以不可行。

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

使用道具 举报

发表于 2005-8-6 19:17:52 | 显示全部楼层
AutoCAD 命令反应器-vlr-command-reactor:
  1. [FONT=courier new]vlr-command-reactor 函数
  2. 语法 : (vlr-command-reactor data callbacks)
  3. 功能 : 构造 AutoCAD 命令反应器,对命令事件给出通知。
  4. 说明
  5. 1)参数 data 为任何要与反应器对象相关联的 AutoLISP 数据。若没有数据则为 nil。
  6. 2)参数 callbacks 为表,其中包含下列格式的点对:
  7. (event-name . callback_function)
  8. 在这里,event-name 是下表命令反应器事件中的符号之一,callback_function 为符号,代表事件发生时要调用的函数。
  9. 每个回调函数都接受如下两个参数:
  10.    reactor_object  调用回调函数的 VLR 对象
  11.    list  包含单个元素的表,字符串表示命令名
  12. 返回值:
  13. reactor_object 参数。   
  14. 命令反应器事件
  15.       事件名                    说明
  16. :vlr-unknownCommand     发出了 AutoCAD 未知的命令。
  17. :vlr-commandWillStart   已调用某 AutoCAD 命令。
  18. :vlr-commandEnded       已完成某 AutoCAD 命令。
  19. :vlr-commandCancelled   已取消某 AutoCAD 命令。
  20. :vlr-commandFailed      无法完成某 AutoCAD 命令。[/FONT]
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-6 20:38:06 | 显示全部楼层
xyp1964 和 aeo 两位版主果真非同一般, 不仅编程水平很高, 而且热心助人,来这里算是找对地方了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-6 21:00:28 | 显示全部楼层
已经试了, 完全可以。可以说这是一个非常通用的程序,值得收藏

另外,在语句
(setvar "clayer" $$$*rev*) 中变量$$$*rev*  的 $ 和 * 号有什么特殊意义么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-25 21:15:35 | 显示全部楼层
最初由 aeo 发布
[B][php]
(defun c:vcc ()
  (defun end-revcloud(calling-reactor Info /)
    (if (member (car Info) '(;|"LINE"|;"REVCLOUD"))
      (setvar "clayer" $$$*rev*)
    )
    (vlr-remove start-revcloud)
... [/B]


AEO斑竹大哥:
能不能帮我把上面的程序做一个出错处理呀?比如,输入VCC后,用户按ESC退出后,能返回用户的上一个图层。现在的这个程序是输入VCC后,返ESC退出,当前层就变成了Cloud_temp层了,能不能返回用户的上一个图层呀?
谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 11:34 , Processed in 0.279169 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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