我如何获得命令原因
我编写了一个子例程来更新图形边框。CADWorx中有一个名为IGO的命令,用于创建等轴测图形。我想让这个命令调用我的函数来更新边界。但我的代码不起作用。(defun c:igo ( / )
(setvar "cmdecho" 0)
(command "igo")
(setvar "cmdecho" 1)
(runisoborderupdate)
(princ)
) 首先,通过对函数使用相同的名称,可以重写所述CADWorx的定义。
在AutoLISP中调用IGO命令将受到定义方式的影响-如果来自AutoLISP包,则应使用:
(command "igo") (c:igo)
我不太明白你的意思。因为当我试图用line命令测试你说的话时:
(c:line)
不起作用。但这确实:
(command "line")
我正在尝试运行IGO命令,以便让它运行我的更新功能。 如果要运行的命令是Lisp函数,则应该这样调用它(c:igo),但如果它是内置命令,则应该使用命令函数调用它
(命令行)。
非常感谢。虽然(c:igo)不起作用,但我尝试了(c:isogenout),结果成功了。
但它仍然会弹出对话框。我尝试了(c:-异基因)和(c:u异基因),但没有成功。
有什么想法吗? 这是什么意思?
它是另一个Autodesk程序中的Lisp函数还是命令调用?
需要更多信息。 ISOGenOut是CADWorx工厂中的一个命令(更多信息请参见此处)。CADWorx Plant基本上是AutoCAD的附加软件。等轴测图创建在CADWorx Plant中创建的三维模型的等轴测图。
当您运行ISOGenOut时,它会弹出一个“选择ISOGEN样式”对话框,允许您选择可以创建输出的不同样式。
然后提示用户选择对象。然后创建模型的等轴测图。
我编写代码来更新它创建的图形的标题栏,但我希望ISOGenOut命令触发我编写的代码。这样,用户只需在第二步执行一个命令。 因为您能够这样调用它,这意味着它实际上是一个AutoLISP函数;除了联系所述工具的程序员,请求他们在代码中包含该工具的开关外,没有其他方法可以阻止对话框出现。 有没有办法在lisp完成后让它运行我的例程? 一种解决方案是使用反应堆,尽管我不确定是否可以将其附加到第三方命令。
页:
[1]
2