用于解冻冻结的按钮宏
我使用LT,因此只能实现宏和DIESEL解决方案。有人能想出一种方法来编写一个命令来切换冻结层和解冻层吗?
据我所知,我不能使用图层状态,因为每个图形都有用户生成的唯一图层。
最终,我删除了冻结的层和这些层上的所有对象,因此任何可以从宏中返回层列表的东西都将是令人惊讶的。 没有命令或宏来关闭/打开图层或冻结/解冻图层?
如果我是Autodesk,我会发出layswitchfreeze命令。 Autodesk不需要这样做,因为它可以通过程序以各种方式完成,但不需要LT
有人在那里,如果你可以导出一个图层列表LT!!!名称和开/关等,然后您可以轻松编写脚本(excel)来更改图层状态。 我从未想过这一点。也许可以将层列表导入到脚本文件中,并让其填充哪些层设置为冻结,哪些层设置为解冻。明亮的我不知道如何以这种方式导出,但无论如何我都会研究它。谢谢比格尔。 您可以在图层窗口中运行命令layerstate its作为一个按钮,您可以全部打开全部关闭等,然后可以将文件更改为相反的格式并重新加载。你可以加载记事本并进行搜索替换 我能想到的最好的(没有口齿不清):
解冻所有层:
^C^C^P._-layer;"thaw";"*";;
还原层:
^C^C^P._layerp;
请注意,这不会考虑解冻后所做的任何图层更改。要获得更多功能,需要LISP(或其他代码) 在这方面做得很快,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行
希望这是有意义的,如果你挣扎与文字部分张贴在这里一旦你做了宏只需要一两分钟。
这是一个单词宏,用于一次更改,只需复制粘贴内容,用于每个已冻结的,无绘图等
Sub OnOff()
'
' OnOff Macro
' Macro recorded 8/3/2011 by
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "90^p0"
.Replacement.Text = "90^ponthawnoplot"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub 让人们知道这是否解决了你的问题是个好主意。很乐意帮助更多人。 很抱歉,比格尔,我刚刚注意到你和伦德曼的其他建议。
我还没有解决这个问题,只是没有在工作流程中进行任何“修补”。
在图层特性管理器中单击鼠标右键时,我发现了此菜单。如果我按开/关对层进行排序,然后选择所有可以打开的关闭层,然后右键单击,反转选择并关闭这些层。
比我希望的还要笨拙。我希望AutoCAD能够在所有图层之间切换图层设置。
无论如何,相信你的BIGAL会有一个雄心勃勃的解决方案。我喜欢它。我将继续研究这个问题,但在尝试编写宏以导出LAYERSTATE时遇到了一个障碍。似乎没有对话框我做不到。 这能行吗?
要冻结除当前外的所有内容:-
^C^C-LAYER;F;*;;
解冻所有:-
^C^C_Laythw;
页:
[1]
2