Bill Tillman 发表于 2022-7-6 07:30:56

DwgUnits的变量

我在论坛上发现了这个非常酷的代码http://www.cadtutor.net/forum/showthread.php?41605-将单位从无单位mm更改为-(成批处理数百个块)
 
焦点在页面下方,有点叫BATCHMM。这正是我今天早上需要的工具,用来纠正一大堆积木,其中一些积木没有单位,而另一些积木没有单位。
 
我的问题是,这将设置插入比例为我想要的,但我还想设置测量和角度的显示格式和精度格式。但我似乎找不到像insunits这样的变量来实现这一点。
 
此外,在阅读这篇文章时,似乎还有另一个未记录的命令-dwgunits,它将允许手动输入信息。但是如果可能的话,我需要在batchmm程序中运行这个。任何人都知道找到其他“未记录”命令的好地方。这就像把一块新石头和一些这种东西翻过来,然后在下面找到一个整洁的玩具。

Lee Mac 发表于 2022-7-6 08:07:26

LUNITS/LUPREC/AUNITS/AUPREC
 
系统变量参考
或者使用sysvdlg命令

Bill Tillman 发表于 2022-7-6 08:30:28

谢谢李。这些变量运行良好。我想知道你是否可以在这方面再帮我一点。该程序是VLISP某些更深入特性的一个极好示例。我正在逐行研究它,以了解作者是如何做到这一点的。到目前为止,一切都很好,与此同时,它正在启动一个巨大的区块列表,并将所有区块更改为统一的。虽然我注意到当它运行时,我可以忘记用我的电脑做任何其他事情。它接受所有击键并将其聚焦到AutoCAD窗口中。我可以点击鼠标并获得一些动作,但只要在IE中键入地址以查看其他信息,它就不允许这样做。CPU显然被占用,无法打开和关闭文件。没问题,我有一些其他的机器,我可以修补,而这做它的工作。。。。是的,我首先在测试文件夹中设置了它,然后运行它以确保它做了我们期望的事情。这是。。。就这些变量而言,将所有块逐个更改为相同。
 
现在我的问题是,在改变变量后,我插入了一条线来缩放“E”。我可以看到命令出现在命令行的上,当我打开文本窗口时,我可以看到它已执行,但块图形的保存副本未缩放到范围。它们只剩下打开时的缩放级别。同样,这没什么大不了的,但最好将所有保存的块图形放大到最大值,这样当你打开它们时,你就不必在屏幕的角落里寻找一个关闭的部分。几年前创建这些积木的人并不太符合标准,只是在那一刻做了一些事情。
 
打开文件并在新文件上运行LISP代码的过程也是我正在深入研究的一个重要特性。像这样的东西我有很多用处。但我很好奇为什么图形关闭时缩放命令没有保存。

Lee Mac 发表于 2022-7-6 08:46:11

Visual LISP缩放操作是应用程序对象的方法,因此只对活动文档进行操作,不会影响文档集合中的其他文档对象;类似地,在命令行调用的缩放命令将仅在激活图形上操作。
 
对于您的任务,我强烈建议您使用脚本在图形上迭代,并对图形执行必要的操作。当使用脚本处理一组图形时,对可用操作的限制相对较少,此外,打开和关闭一组图形的脚本过程占用的CPU更少,因为它不会持续占用AutoLISP运行的UI处理器线程,因此,当Windows 7中的桌面Windows管理器(DWM)没有收到来自AutoCAD UI线程的输入时,AutoCAD不会在5秒后变得无响应。
页: [1]
查看完整版本: DwgUnits的变量