绕过DCL opt的LISP例程
我怀疑我想做的事做不到,但我想我还是会问的。我想写一个例程,直接加载第三方程序的“.INI”文件,而不必经过DCL。
我有一个许可软件包,使用DCL加载用户定义的配置文件。配置文件有许多设置,我可以切换到“新的、现有的、拆卸的、未来的”工作等。我经常使用这个DCL。在匆忙中,我选择了SAVEAS而不是GET-CONFIG,并覆盖了我的设置。我想编写一个工具栏lisp例程或宏来运行配置命令,并通过一次选择做出适当的选择。
我尝试做的最好的类比类似于使用“layer”命令,AutoCAD打开DCL;但是,当键入“-layer”时,可以在命令行键入图层选项。对于lisp编程,“-”允许在例程中嵌入命令选项,同时完全避免DCL框。
在这种情况下,我使用的“命令”称为“MQCFG”,作为Mech-q管道程序的一部分。该命令打开一个“配置”DCL,需要几个鼠标点击和列表框滚动来完成该命令。然后我选择一个“获取配置”按钮。“Get Config”(获取配置)按钮打开另一个DCL,其中有一个窗口,指向包含“Mech-q-XXX”的目录。INI“文件。
DCL不包含选项的任何快捷键,前面的“-”会导致命令爆炸。我正在运行AutoCAD 2006。
如有任何建议,我们将不胜感激。提前谢谢你。
射线 如果此自定义程序是带有DCL文件(以及其他.ini文件等)的LISP,则LISP将用于从DCL文件中查找和加载对话框定义,并将尝试检索输入对话框的值。
唯一的希望是LISP中有一个子函数,它接受完成程序所需的所有参数,使用对话框中输入的值调用。如果存在这样的函数,可以使用必要的值直接从另一个LISP调用它,并完全绕过对话框。
李 射线
如果程序的选项存储在中。ini文件,那么应该可以编写自己的代码来更改相关选项。打开。ini文件,并研究代码,看看哪些行存储了各种选项的信息。您可以使用(打开文件名“W”)重写代码行,以合并对的更改。ini文件。当然,我一定会备份你的。在您尝试任何操作之前,请输入ini文件,以防万一。 李/朗尼,谢谢你的帮助。
我打开了ini文件。它是严格按行分隔的数据,例如图层名称、设置,可能还有开关。没有明显的命令指示如何调用和执行例程,我无法确定程序对数据做了什么。
李,我认为你是对的。我想我需要例程中运行的子函数的名称。我将尝试联系编写软件的公司,看看他们是否可以提供功能名称给我。我希望开发者能提供一条捷径。
对话框似乎停止了例程的执行,在进行鼠标输入之前,无法使程序继续。按照程序现在的操作方式切换设置是一个很大的负担。
再次感谢你的帮助。
射线 射线
您可以拍摄的快照。ini文件,就像现在一样,然后进入程序,只更改一个值。然后您可以比较代码,看看在中实际发生了什么变化。ini文件,它可以帮助您确定是否可以根据需要更改ini文件中的设置。
我查了Mech-Q,我不确定你会在他们的论坛上得到多少支持,因为那里的帖子似乎有75%是垃圾邮件,哈哈(http://www.asvic.com.au/).
页:
[1]