Передача аргументов в.NET-определенные команды

Мне нужно написать команду в командной строке на Autocad 2000i, и я хочу, чтобы autocad запрашивал параметр. Тогда моя программа vb.net будет действовать на основе полученного параметра.

В основном я думаю, что мое решение все здесь: http://through-the-interface.typepad.com/through_the_interface/2006/09/passing_argumen.html

Проблема в том, что я не могу найти ссылку на используемое там пространство имен Autodesk.AutoCAD.EditorInput.

Что мне здесь не хватает? Разве EditorInput еще не существовал в Autocad 2000i?


Большое спасибо за ответ.

У меня есть проект vb.net, который добавляет панель инструментов в AutoCAD. Я хочу, чтобы пользователь мог изменить выбранное значение комбо на моей панели инструментов, написав commnad и параметр.

Как я могу использовать ваш метод в моем проекте? Я помещаю файл DVB в мой проект? Можно ли интегрировать файл vba в мой проект vb.net?

Заранее большое спасибо.

2 ответа

.Net API не существовало для AutoCAD еще в 2000 году. Все было сделано с помощью LISP или VBA или их комбинации. Вот краткое объяснение того, что нужно сделать.

только для 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" в командной строке. Это помогает нам сохранять команды доступными для сеанса.

Тип "testcommand" и вы увидите ваш код выполненным

Вот как это делается с помощью.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);
        }

Дайте знать, если у вас появятся вопросы.

Другие вопросы по тегам