乐筑天下

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

[编程交流] 切换图层

[复制链接]

22

主题

272

帖子

254

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2022-7-6 14:26:32 | 显示全部楼层 |阅读模式
需要宏或lisp,将保持两个层中只有一个。
如果图层“APPROVED”(已批准)处于打开状态,则图层“Premial”(初步)处于关闭状态,反之亦然。
使用AutoCAD 2002。
非常感谢。
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 14:30:05 | 显示全部楼层
嗯,好吧,我可以写一个Lisp程序的切换他们之间的两个。。。这就是你想要的吗?
回复

使用道具 举报

22

主题

272

帖子

254

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2022-7-6 14:34:10 | 显示全部楼层
是的,先生!
确实如此。
如果一个打开,另一个关闭
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:36:16 | 显示全部楼层
像这样的?
 
(不好看)
 
  1. (defun c:laysw (/ lay1 lay2)
  2. (vl-load-com)
  3. (and (setq lay1 (tblobjname "LAYER" "APPROVED")
  4.             lay1 (vlax-ename->vla-object lay1))
  5.       (setq lay2 (tblobjname "LAYER" "PRELIMINARY")
  6.             lay2 (vlax-ename->vla-object lay2))
  7.       (cond ((eq :vlax-true (vla-get-layeron lay1))
  8.              (vla-put-layeron lay1 :vlax-false)
  9.              (vla-put-layeron lay2 :vlax-true))
  10.             (t (vla-put-layeron lay2 :vlax-false)
  11.                (vla-put-layeron lay1 :vlax-true))))
  12. (princ))
回复

使用道具 举报

22

主题

272

帖子

254

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2022-7-6 14:39:58 | 显示全部楼层
谢谢李,啤酒我请客。
完美的
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:43:02 | 显示全部楼层
 
让它成为克伦堡(1664-非布兰克)
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 14:45:45 | 显示全部楼层
相信我,李,你所拥有的比我想要的要好得多,但你说它不好看,所以我把它清理了一点。
 
  1. (defun c:laysw (/ lay1 lay2)
  2. (vl-load-com)
  3. (setq lay1 (vlax-ename->vla-object (tblobjname "LAYER" "APPROVED"))      
  4.        lay2 (vlax-ename->vla-object (tblobjname "LAYER" "PRELIMINARY")))
  5. (if (eq :vlax-true (vla-get-layeron lay1))
  6.     (progn
  7.       (vla-put-layeron lay1 :vlax-false)
  8.           (vla-put-layeron lay2 :vlax-true))
  9.     (progn
  10.       (vla-put-layeron lay2 :vlax-false)
  11.           (vla-put-layeron lay1 :vlax-true)))
  12. (princ))
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 14:50:10 | 显示全部楼层
李,有没有一个网站解释一下这些桌子是什么?i、 e.“块”“层”等?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:54:57 | 显示全部楼层
 
我更喜欢我的,因为如果提供了nil,vlax ename->vla object将返回一个错误(因此,如果没有找到该层),在AND语句中,mine将在第一个nil返回时停止。
 
至于有哪些表,请查看tblnext上VLIDE中的帮助
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 14:57:15 | 显示全部楼层
除了我在没有图层的情况下运行它时出现的代码错误。嗯。如果是这样的话。
 
谢谢你给了我这个方向。向你学习总是很愉快
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 00:25 , Processed in 0.623509 second(s), 72 queries .

© 2020-2025 乐筑天下

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