乐筑天下

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

[综合讨论] 用于解冻冻结的按钮宏

[复制链接]
YZ

27

主题

232

帖子

205

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-7 00:04:16 | 显示全部楼层 |阅读模式
我使用LT,因此只能实现宏和DIESEL解决方案。
 
有人能想出一种方法来编写一个命令来切换冻结层和解冻层吗?
 
据我所知,我不能使用图层状态,因为每个图形都有用户生成的唯一图层。
 
最终,我删除了冻结的层和这些层上的所有对象,因此任何可以从宏中返回层列表的东西都将是令人惊讶的。
回复

使用道具 举报

YZ

27

主题

232

帖子

205

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-7 00:10:18 | 显示全部楼层
没有命令或宏来关闭/打开图层或冻结/解冻图层?
 
如果我是Autodesk,我会发出layswitchfreeze命令。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-7 00:13:41 | 显示全部楼层
Autodesk不需要这样做,因为它可以通过程序以各种方式完成,但不需要LT
 
有人在那里,如果你可以导出一个图层列表LT!!!名称和开/关等,然后您可以轻松编写脚本(excel)来更改图层状态。
回复

使用道具 举报

YZ

27

主题

232

帖子

205

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-7 00:16:52 | 显示全部楼层
我从未想过这一点。也许可以将层列表导入到脚本文件中,并让其填充哪些层设置为冻结,哪些层设置为解冻。明亮的我不知道如何以这种方式导出,但无论如何我都会研究它。谢谢比格尔。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-7 00:20:24 | 显示全部楼层
您可以在图层窗口中运行命令layerstate its作为一个按钮,您可以全部打开全部关闭等,然后可以将文件更改为相反的格式并重新加载。你可以加载记事本并进行搜索替换
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-7 00:22:26 | 显示全部楼层
我能想到的最好的(没有口齿不清):
 
解冻所有层:
  1. ^C^C^P._-layer;"thaw";"*";;

 
还原层:
  1. ^C^C^P._layerp;

 
请注意,这不会考虑解冻后所做的任何图层更改。要获得更多功能,需要LISP(或其他代码)
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-7 00:27:23 | 显示全部楼层
在这方面做得很快,layerstates将得到LT的支持。
 
好了,现在怎么做图层状态导出它会写一个las文件,这是一个txt文件,你会在这个文件中找到每一层两行,然后说11,这是=关闭和冻结90 3=没有绘图90 10=冻结90 0=打开和解冻&没有绘图
 
在word中,您可以一次编辑两行,如果您只需将3更改为11,则可能会破坏las文件的3号颜色,如果层名称中有11,则需要进行搜索并至少替换4次,做一个宏并保存它首先是把一个虚拟的数字在冻结说fXXXX,然后一个虚拟的数字为on on XXXX等,然后交换fXXXX的一个新的on号码,否则你会使一切,无法解决什么应该关闭。
 
进行编辑,然后重新加载las文件。例如搜索将90^p3替换为90^pFxxx^p是行的末尾,因此中间更改了2行
 
希望这是有意义的,如果你挣扎与文字部分张贴在这里一旦你做了宏只需要一两分钟。
 
这是一个单词宏,用于一次更改,只需复制粘贴内容,用于每个已冻结的,无绘图等
  1. Sub OnOff()
  2. '
  3. ' OnOff Macro
  4. ' Macro recorded 8/3/2011 by
  5. '
  6.    Selection.Find.ClearFormatting
  7.    Selection.Find.Replacement.ClearFormatting
  8.    With Selection.Find
  9.        .Text = "90^p0"
  10.        .Replacement.Text = "90^ponthawnoplot"
  11.        .Forward = True
  12.        .Wrap = wdFindContinue
  13.        .Format = False
  14.        .MatchCase = False
  15.        .MatchWholeWord = False
  16.        .MatchWildcards = False
  17.        .MatchSoundsLike = False
  18.        .MatchAllWordForms = False
  19.    End With
  20.    Selection.Find.Execute Replace:=wdReplaceAll
  21. End Sub
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-7 00:31:26 | 显示全部楼层
让人们知道这是否解决了你的问题是个好主意。很乐意帮助更多人。
回复

使用道具 举报

YZ

27

主题

232

帖子

205

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-7 00:36:02 | 显示全部楼层
很抱歉,比格尔,我刚刚注意到你和伦德曼的其他建议。
 
我还没有解决这个问题,只是没有在工作流程中进行任何“修补”。
 
在图层特性管理器中单击鼠标右键时,我发现了此菜单。如果我按开/关对层进行排序,然后选择所有可以打开的关闭层,然后右键单击,反转选择并关闭这些层。
010419gyrdjjtltmtttlra.jpg
 
比我希望的还要笨拙。我希望AutoCAD能够在所有图层之间切换图层设置。
 
无论如何,相信你的BIGAL会有一个雄心勃勃的解决方案。我喜欢它。我将继续研究这个问题,但在尝试编写宏以导出LAYERSTATE时遇到了一个障碍。似乎没有对话框我做不到。
回复

使用道具 举报

16

主题

119

帖子

109

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
82
发表于 2022-7-7 00:36:58 | 显示全部楼层
这能行吗?
 
要冻结除当前外的所有内容:-
 
  1. ^C^C-LAYER;F;*;;

 
解冻所有:-
 
  1. ^C^C_Laythw;
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 21:44 , Processed in 0.744099 second(s), 74 queries .

© 2020-2025 乐筑天下

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