Передать аргуметы в команде CommandMethod

Автор Тема: Передать аргуметы в команде CommandMethod  (Прочитано 4723 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Подскажите! Понадобилось передать аргумент,
к примеру вещественное число, своей команде.
Я думаю, что есть такая возможность.
Мне раньше не было необходимости такое делать.
Код - vb.net [Выбрать]
  1. Imports CAD_RTM = Autodesk.AutoCAD.Runtime
  2. ...    
  3. <CAD_RTM.CommandMethod("MY_COMM")> _
  4.        Public Sub MY_COMM ()
  5.                   ...
  6.        End Sub
  7.  

« Последнее редактирование: 20-08-2015, 21:15:54 от Алексей (IdeaSoft) »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13881
  • Карма: 1786
  • Рыцарь ObjectARX
  • Skype: rivilis
Так передать аргументы нельзя. Объясни как ты собираешься вызывать команду. Наверняка найдётся альтернатива.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Так передать аргументы нельзя. Объясни как ты собираешься вызывать команду. Наверняка найдётся альтернатива.

A я кажысь понял нужно будет делать в 2 этапа:
1) С командной строки пользователь набирает "MY_COMM" и нажимает Enter
2) А потом внутри тела подпрограммы "MY_COMM" я запрошу у AutoCAD вещественное число
Код - vb.net [Выбрать]
  1. Imports CAD_RTM = Autodesk.AutoCAD.Runtime
  2. <CAD_RTM.CommandMethod("MY_COMM")> _
  3.       Public Sub MY_COMM ()
  4.  
  5. ...
  6.        Dim pr_Res_Dbl As Autodesk.AutoCAD.EditorInput.PromptPointResult = _
  7.                     CAD_APS.Application.DocumentManager.MdiActiveDocument.Editor.GetDouble(...)
  8. ...
  9.  
  10.   End Sub
  11.  
  12.  
  13.  


Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13881
  • Карма: 1786
  • Рыцарь ObjectARX
  • Skype: rivilis
Можно и так. А можно использовать атрибут <LispFunction> и тогда можно передавать аргументы. Например, как здесь: http://adndevblog.typepad.com/autocad/2012/08/lispfunction-examples-for-autolisp-to-net.html
Аргументы передаются в виде ResultBuffer и их может быть несколько и разных типов.
« Последнее редактирование: 21-08-2015, 00:48:08 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение