我需要在Autocad 2000i的命令行上编写命令,我希望autocad提示输入参数。然后我的vb.net程序将根据收到的参数进行操作。
基本上我想我的解决方案就在这里:http://through-the-interface.typepad.com/through_the_interface/2006/09/passing_argumen.html
问题是,我找不到对那里使用的Autodesk.AutoCAD.EditorInput命名空间的引用。
我在这里缺少什么? Autocad 2000i中不存在EditorInput吗?
非常感谢您的回答。
我有一个vb.net项目,它为autocad添加了一个工具栏。 我想让用户通过编写commnad和参数来更改工具栏中组合的选定值。
如何在我的项目中使用您的方法? 我把dvb文件放在我的项目中吗? 可以将vba文件集成到我的vb.net项目中吗?
提前多多感谢。
答案 0 :(得分:2)
仅限VBA的方式:
打开工具>宏> Visual Basic编辑器(alt + F11)
输入您的代码:
Sub Test()
Dim str As String
str = InputBox("Enter radius:")
MsgBox str
End Sub
在命令提示符下输入"-vbarun"
(不带引号)
键入"Thisdrawing.Test"
(modulename.functionname)
VBA + Lisp Way - (我的首选方法)
如上所述在编辑器中键入代码。
保存您的vba文件(.dvb格式)..假设它位于D:\Macros
文件夹中,名称为MyDvb.dvb.
创建一个新的Lisp文件(打开记事本并输入以下代码并保存为.lsp扩展名) 此lisp文件将用于调用所有VBA宏。
(defun c:testcommand()
(command "vbarun" "D:/Macros/MyDvb.DVB!ThisDrawing.Test")
)
现在通过在命令提示符下键入"ap"
来加载此lisp一次。这有助于我们保持会话可用的命令。
输入"testcommand"
,您将看到代码已执行
答案 1 :(得分:1)
以下是使用.NET C#
完成的工作//要求用户选择文件夹
PromptResult res = ed.GetString("\nEnter the path of the folder: ");
if (res.Status == PromptStatus.OK)
{
string[] filepaths = Directory.GetFiles(res.StringResult, "*.dwg", SearchOption.AllDirectories);
}
如果您有任何问题,请与我们联系。