Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: prajdziswet от 25-07-2016, 09:25:48

Название: Команда с параметрами?
Отправлено: prajdziswet от 25-07-2016, 09:25:48
Подскажите пожалуйста (никогда на NET API для автокада не писал), как задать команду с параметрами.
Например команду с текстовой строкой, так не получается (а как правильно?):
Код - C# [Выбрать]
  1.         [CommandMethod("Test")]
  2.         public void MyCommand(string ttt)
  3.         {
  4.             MessageBox.Show(ttt);
  5.         }
  6.  
Название: Re: Команда с параметрами?
Отправлено: Александр Пекшев aka Modis от 25-07-2016, 09:29:55
Нет такого понятия как "команда с параметрами"
http://help.autodesk.com/view/ACD/2016/ENU/?guid=GUID-203F2756-1BA6-4226-A505-B776ED8AF0FB
Название: Re: Команда с параметрами?
Отправлено: Владимир Шу от 25-07-2016, 09:38:41
я бы тут посмотрел и внимательно почитал: https://sites.google.com/site/bushmansnetlaboratory/translate-manual/osnovy-autocad-net-api/opredelenie-komand-i-funkcij-autolisp

Поиск рулит.
Название: Re: Команда с параметрами?
Отправлено: Александр Ривилис от 25-07-2016, 12:47:05
prajdziswet
Напоминаю про правила форматирования кода на форуме.
Название: Re: Команда с параметрами?
Отправлено: Александр Ривилис от 25-07-2016, 12:59:37
Подскажите пожалуйста (никогда на NET API для автокада не писал), как задать команду с параметрами.
Как написали выше ребята такого понятия в AutoCAD нет. Причем это касается и VisualLisp и ObjectARX и AutoCAD .NET API.
Название: Re: Команда с параметрами?
Отправлено: prajdziswet от 25-07-2016, 18:27:25
Спасибо, жаль...
Название: Re: Команда с параметрами?
Отправлено: Александр Ривилис от 25-07-2016, 18:30:58
Спасибо, жаль...
А в чем смысл? Ты когда запускаешь в AutoCAD'е команду то никаких "параметров" ей не передаёшь. Ты можешь запросить у пользователя уточнение (типа функции (getXXX) в AutoLisp или Editor.GetXXX в .NET API), но при запуске команды никаких параметров нет. А как ты себе это представлял? Честно говоря я не могу себе это представить.
Название: Re: Команда с параметрами?
Отправлено: prajdziswet от 25-07-2016, 19:01:55
Ну в лиспе есть функции с аргументами(переменными) типа -
"(defun fun (аргументы / ...) ...)"
Просто я думал передавать некоторые параметры(аргументы) сразу например с лиспа запускать метод в dll. Вроде есть функция .GetVariable наверное попробую через нее получить нужное мне...
п.с лисп функция работает нормально и переписвать на API не хочется, хочу чуть усовершенствовать... :)
и запросы тут не подойдут (если уже есть результат сформированный лисп).
Название: Re: Команда с параметрами?
Отправлено: Александр Ривилис от 25-07-2016, 19:13:28
Ну в лиспе есть функции с аргументами(переменными) типа -
"(defun fun (аргументы / ...) ...)"
Так это же функция, а не команда. Тоже самое можно сделать при помощи .NET API, т.е. создать лисповскую функцию с аргументами:
Вот пример Андрея Бушмана: https://sites.google.com/site/bushmansnetlaboratory/translate-manual/osnovy-autocad-net-api/opredelenie-komand-i-funkcij-autolisp/opredelenie-funkcij-autolisp
И вот эта тема: http://adn-cis.org/forum/index.php?topic=2925.0
Название: Re: Команда с параметрами?
Отправлено: prajdziswet от 25-07-2016, 19:36:26
Благодарю, жаль нельзя поставить в теме несколько решений :).. (= в принципе что-то похожее я  и хотел получить).
п.с добавляем перед функцией "c:" (defun c:fun ()...)" и в принципе получаем команду-функцию, которая вызывается с командной строки (я про lisp), но это честно говоря полемика, вопрос не в этом...

БОЛЬШОЕ СПАСИБО, Благодарю... :) :) :)