Не найти параметры ControlDefinition.

Автор Тема: Не найти параметры ControlDefinition.  (Прочитано 3310 раз)

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

Оффлайн izhgtumekhanikАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 54
  • Карма: 0
  • Skype: izhgtumekhanik@gmail.com
Добрый день.

Нашел код с работой диалогового окна но не могу найти наименования параметров "DrawingRetrieveDimsCmd", "AppContextual_OKCmd" - откуда они берутся ?

Код - Visual Basic [Выбрать]
  1. Dim CDefinitions As ControlDefinitions
  2. Set CDefinitions = ThisApplication.CommandManager.ControlDefinitions
  3.  
  4. Dim CDefinition1 As ControlDefinition
  5. Set CDefinition1 = CDefinitions.Item("DrawingRetrieveDimsCmd")
  6.  
  7. Dim CDefinition2 As ControlDefinition
  8. Set CDefinition2 = CDefinitions.Item("AppContextual_OKCmd")
  9.  
  10. CDefinition1.Execute
  11. CDefinition2.Execute

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 751
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Не найти параметры ControlDefinition.
« Ответ #1 : 28-08-2023, 20:16:45 »
в хэлпе есть пример для вывода всех имеющихся команд

Код - Visual Basic [Выбрать]
  1. Sub PrintCommandNames()
  2.     Dim oControlDefs As ControlDefinitions
  3.     Set oControlDefs = ThisApplication.CommandManager.ControlDefinitions
  4.  
  5.     Dim oControlDef As ControlDefinition
  6.    
  7.     Open "C:\temp\CommandNames.txt" For Output As #1
  8.  
  9.     Print #1, Tab(10); "Command Name"; Tab(75); "Description"; vbNewLine
  10.    
  11.     For Each oControlDef In oControlDefs
  12.  
  13.         Print #1, oControlDef.InternalName; Tab(55); oControlDef.DescriptionText
  14.        
  15.     Next
  16.     Close #1
  17. End Sub
Если нужно можно свою команду сделать

Оффлайн izhgtumekhanikАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 54
  • Карма: 0
  • Skype: izhgtumekhanik@gmail.com
Re: Не найти параметры ControlDefinition.
« Ответ #2 : 28-08-2023, 23:04:58 »
Хорошо, допустим получили весь список , но что они означают? 

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 751
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Не найти параметры ControlDefinition.
« Ответ #3 : 29-08-2023, 06:21:30 »
Ну команды они означают, обычно это имитация нажатия какой-нибудь кнопки в пользовательском интерфейсе инвентора. Многие из этих команд можно вызвать функциями или методами из других мест объектной модели инвентора, но иногда встречаются такие команды у которых нет аналогов в другом месте объектной модели инвентора.
Например если выделить много объектов и удалять их в цикле будет долго, а можно вызвать команду на удаление выделеных объектов то удалится быстро. Но производительность АПИ в инвенторе это отдельная тема

Оффлайн izhgtumekhanikАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 54
  • Карма: 0
  • Skype: izhgtumekhanik@gmail.com
Re: Не найти параметры ControlDefinition.
« Ответ #4 : 29-08-2023, 11:11:58 »
обычно это имитация нажатия какой-нибудь кнопки в пользовательском интерфейсе инвентора.
Где можно про это почитать?

Оффлайн izhgtumekhanikАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 54
  • Карма: 0
  • Skype: izhgtumekhanik@gmail.com
Re: Не найти параметры ControlDefinition.
« Ответ #5 : 29-08-2023, 12:02:19 »
Видел какое то внешнее приложение но не могу найти его тк часть только его фото - там что то вроде Sp++ - вот он находит имена кнопкам . Еще нашел фото некого парсера селективных объектов то же не могу скачать.
Это конечно сэкономило бы время.

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 751
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Не найти параметры ControlDefinition.
« Ответ #6 : 29-08-2023, 13:09:34 »
Не так, там в SDK в инвентре к инвенторовскому АПИ есть ЭвентВотчер на вижуал бейсике или на си-шарпе написаный не помню, его запустить и по кнопкам в инвенторе потыкать и там в ЭвентВотчере будет высвечивать имя вызванной команды.

Оффлайн izhgtumekhanikАвтор темы

  • ADN OPEN
  • **
  • Сообщений: 54
  • Карма: 0
  • Skype: izhgtumekhanik@gmail.com
Re: Не найти параметры ControlDefinition.
« Ответ #7 : 29-08-2023, 13:21:52 »
Да нашел, помню как то пробовал - глючная и ошибок там тьма.

А у тех программ другой внешний вид.