.net - 将参数传递给 .NET 定义的命令

标签 .net vb.net command autocad

我需要在 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 添加了一个工具栏。 我想让用户通过编写命令和参数来更改工具栏中组合的选定值。

如何在我的项目中使用您的方法? 我是否将 dvb 文件放入我的项目中? vba 文件可以集成到我的 vb.net 项目中吗?

非常感谢。

最佳答案

早在 2000 年,AutoCAD 还没有 .Net API。事情是通过 LISP 或 VBA 或两者的组合完成的。这是要做的事情的简要说明。

仅限 VBA 的方式:

打开工具 > 宏 > Visual Basic 编辑器 (alt + F11)

输入您的代码:

Sub Test()

Dim str As String
str = InputBox("Enter radius:")

MsgBox str

End Sub

在命令提示符中输入"-vbarun"(不带引号)

键入“Thisdrawing.Test”(模块名.函数名)

VBA + Lisp 方式 -(我的首选方法)

如上所述,在编辑器中键入您的代码。 保存您的 vba 文件(.dvb 格式)。假设它位于 D:\Macros 文件夹中,名称为 MyDvb.dvb。

创建一个新的 Lisp 文件(打开记事本并键入下面的代码并另存为 .lsp 扩展名) 此 lisp 文件将用于调用所有 VBA 宏。

(defun c:testcommand()
  (command "vbarun" "D:/Macros/MyDvb.DVB!ThisDrawing.Test")
)

现在通过在命令提示符下键入 "ap" 加载此 lisp 一次。这有助于我们使命令在 session 中可用。

键入“testcommand”,您将看到您的代码已执行

关于.net - 将参数传递给 .NET 定义的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13726660/

相关文章:

vb.net - 如何在后台线程中运行代码并仍然访问UI?

C# 函数到 Visual Basic 2010 的 BitShift 运算符错误 "<<"

shell - 如何使用命令行创建输出文件?

c# - 为什么在单击 ToolStrip 按钮两次时抛出 NullReferenceException - openFileDialog.showDialog()?

c# - .NET 中基于角色的授权,使用 PrincipalPermission 和 SecurityAction.Assert

用于系统间缓存的 C#/EF

vb.net - 检查每个月的天数是否正确

.net - .NET 中的 MPXJ 将 java Date 转换为 .NET DateTime

ubuntu - 如何在 Ubuntu 中从 github 安装 FLOSS (FLARE Obfuscated String Solver)?

Java:我可以在字符串中编码吗?