明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2000|回复: 9

中断程序。

[复制链接]
发表于 2012-6-13 06:27:22 | 显示全部楼层 |阅读模式
本帖最后由 millermin 于 2012-6-13 06:37 编辑

想做一个程序,可逐个打开层,然后程序中断执行,手工使用一些zoom和pan功能,肉眼检查有无图元错误地使用了该层,但不做任何编辑,然后恢复中断,再继续执行程序,关闭该层,打开下一个层,直到层表的结尾,结束程序。我现在已经得到了一个层表。苦于不知道如何可以中断,恢复程序。 谢谢。                                                                        
 楼主| 发表于 2012-6-13 18:27:25 | 显示全部楼层
有人懂点吗?
发表于 2012-6-13 21:45:00 | 显示全部楼层
你的这个功能不要自己写了,赚ET 工具栏,工具条上有这个功能,就是浏览图层!
发表于 2012-6-14 00:03:13 | 显示全部楼层
millermin 发表于 2012-6-13 18:27
有人懂点吗?

  1. (defun c:tt(/ D LAYERS LOOP LA GO)
  2.   (while (setq d (tblnext "layer" (null d)))
  3.     (setq layers (cons (cdr (assoc 2 d)) layers))
  4.   )
  5.   (command "layer" "t" "*" "off" "*" "y" "")
  6.   (setq loop t)
  7.   (while loop
  8.     (setq la (car layers)
  9.           layers (cdr layers)
  10.           )
  11.     (command "layer" "on" la "")
  12.     (command "zoom" "")
  13.     (while (= 1 (getvar 'cmdactive))
  14.       (vl-cmdf pause)
  15.       )
  16.     (command "layer" "off" la "")
  17.     (if (not layers)
  18.       (setq loop nil)
  19.       (progn
  20.         (initget "Yes No")
  21.       (setq go (getkword "[继续<Yes/No>]<Yes>"))
  22.         (if (= "No" go) (setq loop nil))
  23.       )
  24.       )
  25.     )
  26.   (command "layer" "on" "*" "")
  27.   (princ)
  28.   )
 楼主| 发表于 2012-6-14 09:34:42 | 显示全部楼层
sfzyr 发表于 2012-6-13 21:45
你的这个功能不要自己写了,赚ET 工具栏,工具条上有这个功能,就是浏览图层!

我用的10版没找到这个功能。
 楼主| 发表于 2012-6-14 10:01:22 | 显示全部楼层
Gu_xl 发表于 2012-6-14 00:03

两句没看懂,感觉语句太短,想是半句话,所以不理解:
1,(while loop
2.  (if (not layers)

是不是有什么约定的东西省略了?谢谢。
发表于 2012-6-14 12:13:46 | 显示全部楼层
millermin 发表于 2012-6-14 09:34
我用的10版没找到这个功能。

10的我不知道有沒有

04的,我裝了express,裏面的layer 工具中有layer walk 工具,就是你要的功能,還可以多個一起看,看看之間的配合以及孔位是否有問題,很好用的工具,但是我不用,我一般自己用單開,多開 多關 ,單關等自己寫的程序操作.
发表于 2012-6-14 15:04:40 | 显示全部楼层
millermin 发表于 2012-6-14 10:01
两句没看懂,感觉语句太短,想是半句话,所以不理解:
1,(while loop
2.  (if (not layers)

loop是循环标志,(if (not layers) ..是判断循环是否结束!之所有没有直接 (while layers ...
是因为后面还提供了一个图层没有遍历完就可以退出的机制!
 楼主| 发表于 2012-6-15 09:36:22 | 显示全部楼层
Gu_xl 发表于 2012-6-14 15:04
loop是循环标志,(if (not layers) ..是判断循环是否结束!之所有没有直接 (while layers ...
是因为后 ...

谢谢。搞懂了。程序也写好了。很好用。
 楼主| 发表于 2012-6-15 09:39:17 | 显示全部楼层
sfzyr 发表于 2012-6-14 12:13
10的我不知道有沒有

04的,我裝了express,裏面的layer 工具中有layer walk 工具,就是你要的功能,還可以 ...

根据layer walk 我在菜单里找到了。估计小妾已被封为夫人了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-22 03:49 , Processed in 0.224724 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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