乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: mdbdesign

[编程交流] 切换图层

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:59:50 | 显示全部楼层
 
哦,是的,对不起,我搞错了塞克-我知道我的意思
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 15:01:52 | 显示全部楼层
我也知道你的意思
回复

使用道具 举报

15

主题

209

帖子

121

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-6 15:04:30 | 显示全部楼层
这可能更适合反应堆。如果有人使用图层下拉菜单打开一个图层,那么他们都会打开。使用reactor,您可以在每个命令后或某个命令后检查层状态,等等。。。。
 
就这么说吧。。。。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:10:05 | 显示全部楼层
 
这一点很好,但当它们都打开时,代码将默认关闭一个。
回复

使用道具 举报

15

主题

209

帖子

121

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-6 15:13:29 | 显示全部楼层
 
 
没错,但你仍然可以同时打开/关闭这两个选项。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:15:49 | 显示全部楼层
蒂姆,我试着创造这个,但我似乎不能得到它太多的功能。。。
 
  1. (defun c:MacON ()
  2. (vl-load-com)
  3. (if (not lay:react)
  4.    (progn
  5.      (setq lay:react
  6.        (vlr-command-reactor nil
  7.          (list
  8.            (cons :vlr-commandWillStart 'ChkLay))))
  9.      (princ "\n<< LAYER REACTOR INITIATED >>")))   
  10. (princ))
  11. (defun ChkLay (/ lay1 lay2)
  12. (and (setq lay1 (tblobjname "LAYER" "APPROVED")
  13.             lay2 (tblobjname "LAYER" "PRELIMINARY"))
  14.       (setq lay1 (vlax-ename->vla-object lay1)
  15.             lay2 (vlax-ename->vla-object lay2))
  16.       (cond ((vl-every
  17.                (function
  18.                  (lambda (x) (eq :vlax-true (vla-get-layeron x)))) (list lay1 lay2))
  19.              (vla-put-layeron lay2 :vlax-false))
  20.             ((vl-every
  21.                (function
  22.                  (lambda (x) (eq :vlax-false (vla-get-layeron x)))) (list lay1 lay2))
  23.              (vla-put-layeron lay1 :vlax-true))))
  24. (princ))
  25. (defun c:MacOFF ()
  26. (if lay:react
  27.    (progn
  28.      (vlr-remove lay:react)
  29.      (setq lay:react nil)
  30.      (princ "\n<< LAYER REACTOR DEACTIVATED >>")))
  31. (princ))
回复

使用道具 举报

22

主题

272

帖子

254

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2022-7-6 15:17:30 | 显示全部楼层
 
希望能在加拿大找到
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 15:22:12 | 显示全部楼层
我知道我落后了,因为我们换成了反应堆,但我想我会放纵一下。
 
  1. (defun c:laysw (/ lay1 lay2)
  2. (vl-load-com)
  3. (and
  4.    (setq lay1 (tblobjname "LAYER" "APPROVED")
  5.          lay2 (tblobjname "LAYER" "PRELIMINARY")
  6.    ) ;_ setq
  7.    (setq lay1 (vlax-ename->vla-object lay1)
  8.          lay2 (vlax-ename->vla-object lay2)
  9.    ) ;_ setq
  10.    (mapcar
  11.      '(lambda (x y)
  12.         (vla-put-layeron x y)
  13.       ) ;_ lambda
  14.      (if (eq :vlax-true (vla-get-layeron lay1))
  15.        (list lay1 lay2)
  16.        (list lay2 lay1)
  17.      ) ;_ if
  18.      '(:vlax-false :vlax-true)
  19.    ) ;_ mapcar
  20. ) ;_ and
  21. (princ)
  22. ) ;_ defun
回复

使用道具 举报

15

主题

209

帖子

121

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-6 15:24:42 | 显示全部楼层
这似乎有效。
 
命令:LSW切换图层
 
如果两个层都打开或关闭,则当调用任何命令时,它将打开批准的层。
 
  1. 5

 
我对反应堆的了解非常有限,所以请相信它的价值
回复

使用道具 举报

15

主题

209

帖子

121

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-6 15:28:33 | 显示全部楼层
注意:上面没有考虑层的存在。。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-5 00:15 , Processed in 0.840243 second(s), 70 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表