使用lisp r的bhatch对话框
你好我正在编写一个lisp例程,需要调用bhatch命令。实际上,该例程确实执行bhatch,但只能通过命令行执行,就像用户输入了-bhatch一样。
我不明白为什么我没有得到这个对话框。
同样,当我的lisp例程调用多行文字时,不会显示编辑框。在这里,一切似乎都是在命令行中完成的。
如有任何意见,我将不胜感激。我可能会在代码中留下一些非常基本的内容。虽然我用许多语言编程,从20世纪60年代的FORTRAN到基于对象的VBA,但这是我第一次在AutoLisp上全力以赴。
当做
杰瑞 通常在lisps中,希望没有对话框,以便例程可以继续并向命令提供信息。默认情况下,从lisp运行的某些命令不会弹出对话框。
你提到“bhatch”;连字符确保不会有DB。试试“bhatch”或“hatch”。
要启动DB,如果处于“命令行”模式,则使用颚化符,如中所示:
(命令“hatch”“`”) 卡尔布,
我的例程接受AutoCAD命令,设置特定图层(一个用于标注,一个用于文本等),然后执行该命令。这一切之所以发生,是因为在我们的工程办公室,工程师有LT,设计师/起草人有完整的AutoCAD。在他们的设置中,有一个VBA“BeginCommand”可以很好地处理这一切。由于LT设置无法使用VBA,因此在执行命令之前切换了层。但是,当命令完成运行后,您将留在切换层上,也就是说,您不再位于原始层上。这听起来微不足道,但却是一件令人头痛的事。我的程序可以运行,但对于多行文字,我无法获得编辑框,对于bhatch,我无法获得对话框。
作为dimlinear的示例,工具栏按钮将具有^C^C(if(null C:LT\u开关)(加载“LT\u开关”);(c:LT_开关“dimlinear”);。这会将命令传递给我的LT\U开关例程。
如果你或其他人感兴趣的话,我已经附上了例行程序。
谢谢
杰瑞 这是附件
LT\U开关。lsp 我认为您需要测试一些不发出对话框的命令名,并发送一个“波浪号”。例如:
我不确定是否需要第一个“while”,但显然你已经让它工作了。。。。
祝你好运 也可以使用initdia打开对话框:
例如:
(初始直径)
(命令“_plot”)
或
使用vla sendcommand强制db 谢谢你们,卡尔和威兹曼,我感谢你们的帮助。我只是在学习lisp,我正在经历一个陡峭的学习曲线,这可能解释了为什么我有一个不必要的嵌套“while”。我会清理代码,给你的两种方法一个机会。
当做
杰瑞
干杯,杰瑞,享受Lisp程序的感觉吧…-)
页:
[1]