乐筑天下

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

[编程交流] lisp中的修改。切换

[复制链接]

18

主题

44

帖子

26

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-5 13:16:03 | 显示全部楼层 |阅读模式
我有一个lisp代码,可以一次打开一个图层,其余图层将处于关闭状态。
(定义c:NL()
(if(=lay nil)(setq num 0))
(setq entlay(tblnext“layer”num))
(setq lay(cdr(assoc 2 entlay)))
(命令“layer”s“lay”off“*”“”)
(setq num nil)
 
但我需要修改如下
lisp应该询问哪些层在可见状态下持续打开,哪些层切换其可见性。
假设我们有如下cad层:
拱形墙
Archi窗口
Archi地板
选择灯光
选择电缆
选择设备。
lisp应询问2个用户输入查询,如下所示:
1、请给出不可切换的图层:
2、请给出要切换的图层:
如果我给用户输入“Arch”作为第一个查询的字符串,那么所有的Archi-*层将连续显示,如果我给“Elect”作为第二个查询的字符串,那么所有Elect-*层将切换其可见性
谢谢
T、 婆罗门南丹
回复

使用道具 举报

28

主题

317

帖子

292

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-5 13:56:00 | 显示全部楼层
你好。
有些事情我不太明白。
如果要为要切换的层请求字符串,为什么会要求您为不切换的层提供字符串?(即:如果要切换Elect*,切换*Elect并不意味着也表示不切换ARCH*?这就像在询问某人的目的地之前询问他们不想去的地方…)。它的行为也可能令人恼火;假设你打开了一层“elect cable”,其他的都关闭了。切换“Elect*”将使您最终打开Elect灯/Elect设备,但也会关闭“Elect电缆”。
你知道本地命令Laywalk吗?它似乎比所要求的lisp更实用。您可以从一个对话框开始,该对话框包含每个层的当前开/关状态,并可以使用control+Select来独立切换它们。它也可以与关键字一起使用,即键入Elect*,然后输入,所有Elect都将打开。然后取消选中过滤器复选框,all elect*将保持打开(选中),其他层将显示在列表中(未选中,因此仍处于关闭状态)。使用控制+鼠标选择,您可以独立切换它们。我经常使用laywalk/layiso/layon,从不觉得需要使用任何lisp来控制开/关状态。试试看,如果它不适合你的需要,请告诉我原因,我会看看我能做些什么。如果它确实适合您的需要,请相应地标记此答案。
干杯
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 14:36:06 | 显示全部楼层
可以从命令行运行layer
 
-la off ARCH*on Elect*F asdf-1*等
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 23:27 , Processed in 1.093974 second(s), 59 queries .

© 2020-2025 乐筑天下

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