如何从中创建菜单
所以我有一个lisp文件,里面有大约50个lisp例程。用它创建AutoCAD菜单最直接(最简单)的方法是什么?
它会是一个。崔。cuix。mnu或。mns?
我曾尝试通过cui编辑器创建它,但这太麻烦了。
我不想在cui中定义50个不同的命令,然后将它们拖到菜单上。
我是说。。。它们已经在一个地方捆绑在一起了,肯定有办法进口它们吗?
此外,在创建这些菜单后,我看不到导出它们的方法。
最终,我希望能够从任何cad机器上加载菜单,并立即将菜单拉到拇指驱动器上。 很抱歉发这么晚的帖子,但我实际上也在这一行寻找一些东西。在2008/11年,我曾尝试使用vla工具处理CUI(x)文件,但它似乎没有任何作用。目前,我有一个函数,它读取LSP文件以查找所有defuns:
从这个列表中,我得到了所有defun名称的列表+每个名称需要多少个参数。仅提取命令的“简单”方法是执行以下操作:
然后,我将这些添加到菜单MNL文件中的自动加载调用中。
但我陷入困境的地方实际上是将命令添加到CUI中。E、 g.从MenuGroups集合中获得MenuGroup项后,我尝试将新的MenuItem添加到我知道已经存在的菜单中:
我已经在VLIDE中详细介绍了它,在任何阶段都不会发生错误,最后一个foreach每次运行AddMenuItem方法时都会返回vla对象。但该菜单中没有显示任何内容,即使通过CUI命令进行编辑,也似乎什么都没有。
我是否遗漏了什么,或者通过lisp根本不可能做到?显然,menugroup对象的Save&SaveAs方法自ACad 2006年起停止使用,因此它们什么都不做:从开发人员的帮助: 伊恩,
我需要一些类似的东西回来了一段时间,并想出了这个-也许它会有所帮助?
(我将其用于自动加载程序以生成自动加载语句)
李 谢谢李,你的可能比我的更好(因为我的读嵌套的defuns)-尽管我使用我的LSP\u GetDefuns不仅仅是为了命令(也为了掌握如何用参数调用其他“正常”的defuns)。
但不幸的是,这并不是我要解决的问题,而是当我试图通过编程将命令添加到CUI中时。我正在从大量的LSP文件中制作CUI,并希望有某种方法编写脚本,至少是创建命令。
不过,我可能需要通过XML编辑CUI文件本身,但由于ADesk警告不要这样做,我正在尝试使用他们的方法。 您正在编辑现有CUI吗?如果没有,你可以省去很多麻烦,然后写信给MNU并从那里加载。 是的,这可能就是我需要做的!只是想:“为什么要回头?为什么不一步到位?”特别是因为这是一个运行的CUI,它会经常从各种来源更新-目前似乎每天有大约10个新命令,忽略了100个积压。希望以后不要这么多!
假设我只需要使用中间MNU,然后导入CUI。如果有人愿意分享一个旧的MNU制作代码,我将非常高兴,否则我将不得不花周末的工作。 这是一个旧的参考,但Lakose Visual lisp开发人员圣经2003。pdf有一个关于制作崔的部分,这可能会有所帮助。
页:
[1]