对话框lisp帮助(重新访问
大家好,在过去,我试图在这方面获得一些帮助,但一直未能实现我所追求的目标。我认为以前它过于复杂了。你能操纵一个对话框吗(恰当的术语可能是用户界面?)用Lisp程序?我有一些自定义命令,可以打开一个对话框,其中包含各种选项,我想让一些事情自动化。
当框出现时,我可以使用“SHIFT+TAB”循环到我想要的选项,点击enter键,然后选择一个对象,再点击enter键,将框恢复到原来的状态,以更改各种内容。lisp能做到这一切吗?
再次感谢,
-诺布尔 我知道,在将LISP与DCL配对时可以完成很多工作,但我不确定可以以与在另一个API中相同的方式动态实现多高级别的细节(我跳过了WPF的DCL)。。。也许你可以更准确地知道你想要做什么,并提供(匿名?)这样其他人就不会被迫从头开始重新创建场景以试图提供帮助?
干杯
感谢您的回复。我上一次也尝试过细节,我可能已经把它复杂化了(或者说不够复杂),大多数人都迷失了我的真实意图。我的CAD中有我的公司支付的程序,我无法共享,但我可以尝试解释。我也一直在使用宏,试图自动化一些事情,但你不能用这些操作用户界面。我可以自己创建一个调用命令的lisp,但在那之后我就卡住了。输入命令后,会出现一个对话框,其中包含各种选项。此命令用于创建钢梁。可以在其他选项中选择指定,并在平面视图中绘制梁(梁绘制为某种多段线,但具有不同的属性)。我试图通过简单的双击来自动编辑梁。一旦我知道如何通过lisp或其他方式启用该命令的编辑模式,我就可以用宏实现双击功能。
在编辑梁时的正常设置中:输入命令;单击编辑按钮;选择光束;调整你想要的;最后确认更改。
我想以以下内容结束:双击梁;键入新名称;进来
由于我们需要处理所有的修改,这可能会有所帮助,但我觉得我对lisp缺乏了解,无法分享太多细节,这可能不会发生。不幸的是,我没有代码可言。我想我想要的是一些关于如何通过lisp输入击键的解释,或者一些不用点击鼠标就能处理用户界面的方法(因为这样我可以进一步自动化事情)
*希望所有这些对某些人来说都有意义,但如果需要的话,我可以试着重申。
再次感谢,
-诺布尔
是的,这一澄清帮助我更好地理解了很多,因为我还没有看到你的其他帖子。
这也立刻给我带来了Lisp程序的常见挫折感;用户无法操作本机AutoCAD,也无法操作大多数(不一定全部;更多信息见下文)第三方对话框。这主要是由于用于开发上述对话的语言;通常是。NET语言,如C#、F#、VB等,或更高级别的语言,如ARX(用于AutoCAD的C++)、CRX、DBX等。值得一提的是,这些语言通常实现存储的设置,这些设置可以持久存储到注册表、XML等,并使用类级字段、属性实例化,等等,然后在应用程序终止时持久存储(如果您以任何方式掌握了面向对象的原则)。
也就是说,这对Lisp程序的人来说可能是祝福,也可能是诅咒。。。就像您可以识别持久设置存储在哪里一样,您可以对其进行操作,然而,关键是您可能无法让加载的应用程序确认所述更改并更新实例化的字段或属性。
[编辑]-如果第三方开发人员进入该详细级别,因为某些表单具有由其构造函数生成的默认设置,每次显示表单时都会使用这些设置。
这会使(更多?)感觉 既然你的公司首先支付了第三方应用程序的费用,也许他们会看到做出你想要的改变的智慧。在这种情况下,让第三方开发人员在代码中进行这些更改/更新,以供您公司的所有人利用。您没有给出要更新的函数类型的指示。网lsp或用户界面类型。dcl文件。net窗体等,似乎让原始代码开发人员在这里帮助您将是最好的方法。 你必须明白,当对话框出现在屏幕上时
无法从屏幕中选择任何内容。仅限互动
通过action_互动程序。
通常情况下,您需要保存所有磁贴的状态,隐藏对话框,用图片显示实体
然后重新启动对话框,根据所有磁贴的保存状态进行设置。
这是通过放置autolisp的dcl处理部分来实现的
在循环中编程。
搜索隐藏dcl,我相信Kenny Ramage在Afralisp有一个关于它的教程。
它可能为解决问题开辟了一些途径。
ymg公司 谢谢大家的回复。它们也是我所期待的;我需要访问dcl文件,我不确定文件的位置。对于我试图完成的两个调整,它们相当小。我一直在寻找“小时间节省器”。但有时我需要考虑投入的时间和最终结果的实际价值。我可能不得不用这个来减少损失。再次感谢大家的帮助。
-诺布尔
页:
[1]