乐筑天下

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

[编程交流] 所需的层交换 LISP

[复制链接]

6

主题

26

帖子

25

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-10-10 23:16:58 | 显示全部楼层 |阅读模式
大家好,
我正在寻找一种可以帮助我切换下一层或上一层背靠背的 lisp。意味着如果我有 5 层并且我想从 1 切换到 2,那么我应该按“AS”或 2 到 1,然后按“SA”以获得下一层或上一层。
谢谢
回复

使用道具 举报

48

主题

657

帖子

33

银币

限制会员

铜币
-1
发表于 2022-10-10 23:45:28 | 显示全部楼层
控制+向下翻页/向上翻页也能正常工作吗?
哎呀-回答错误的问题!
回复

使用道具 举报

6

主题

26

帖子

25

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-10-10 23:56:20 | 显示全部楼层
我试过了,这可以在布局之间切换。我需要层切换 LISP。

[color=rgb( var(--theme-text_light) )]



回复

使用道具 举报

48

主题

657

帖子

33

银币

限制会员

铜币
-1
发表于 2022-10-11 00:12:07 | 显示全部楼层
这将为您提供所有图层的列表
         
  1. (vlax-for lyr (vla-get-layers (vla-get-activedocument (vlax-get-acad-object) ) )  (setq table (cons (vla-get-name lyr) table)))
        
这会将当前图层设置为列表中的第一个图层(位置 0):

         
  1. (command "setvar" "clayer" (nth 0 table))
        
这得到了当前层

         
  1. (getvar "clayer")


因此,我认为您不会越过(第 n 个 0 表)中的最后一层,这应该可以帮助您弥补吗?
请记住,AutoCAD 认为的第一层可能不是您认为的那样。您可能需要按字母顺序对图层列表进行排序以与图层管理器​​显示相同。
回复

使用道具 举报

6

主题

26

帖子

25

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-10-11 00:31:04 | 显示全部楼层
感谢您的宝贵答复。我没有太多了解代码的知识。如果你能提供给我一个 lisp 代码,那么我可以将它转换成 lisp 来运行它。
为了更好地理解,请参阅下面的层列表。我只想根据我想要的图层从 12 切换到 25 或 32(在绘制任何东西之前)。
这可以通过鼠标选择来完成,但这很耗时。我只是想减少选择的时间,因为我需要多次切换图层 。
001704er4ncnohh7pstwvm.png
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 01:53 , Processed in 0.263278 second(s), 65 queries .

© 2020-2024 乐筑天下

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