Закрепить и внедрить компонент.

Автор Тема: Закрепить и внедрить компонент.  (Прочитано 3210 раз)

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

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
Доброго времени суток, уважаемые форумчане! В пользовательском интерфейсе есть команда, на русском звучащая как "закрепить и внедрить компонент", что означает создать зависимости "заподлицо" плоскостей XY, YZ, ZX вхождения и соответствующих плоскостей сборки. Пытаюсь разобраться, есть ли аналог такой команды в API?
В программировании я новичок...но ненадолго! ;)

Отмечено как Решение R.I.Chernov 01-11-2019, 09:34:44

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Закрепить и внедрить компонент.
« Ответ #1 : 01-11-2019, 06:53:30 »
CommandManager.ControlDefinitions["AssemblyBonusTools_GroundAndRootComponentCmd"].Execute();

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
Re: Закрепить и внедрить компонент.
« Ответ #2 : 01-11-2019, 09:41:32 »
Спасибо за решение. На память и для будущих поколений, полный код получился такой:
Код - C# [Выбрать]
  1.             Inventor.AssemblyDocument oDoc = (Inventor.AssemblyDocument)oApp.ActiveDocument;
  2.             Inventor.AssemblyComponentDefinition oCD = oDoc.ComponentDefinition;
  3.             Inventor.SelectSet oSelectSet = oDoc.SelectSet;
  4.  
  5.             Inventor.ComponentOccurrence oOcc = oCD.Occurrences.ItemByName["test"];
  6.             oSelectSet.Select(oOcc);
  7.  
  8.             oApp.CommandManager.ControlDefinitions["AssemblyBonusTools_GroundAndRootComponentCmd"].Execute();

Для пущей информативности топика ниже привожу список еще нескольких команд и ссылку на первоисточник, где вроде как имеется код, чтобы все названия команд получить:

AssemblyBonusTools_AddAssemblyCmd                        Inserts a new sub-assembly in the assembly
AssemblyBonusTools_AddPartCmd                                Inserts a new part in the assembly
AssemblyBonusTools_AlphaSortComponentsCmd           Alpha Sort Components
AssemblyBonusTools_CreateSubstitutesCmd                  Create Substitutes
AssemblyBonusTools_DeriveComponentCmd                  Derives part from selected base component using default options
AssemblyBonusTools_DOFAnalysisCmd                          Degree of Freedom Analysis
AssemblyBonusTools_GroundAndRootComponentCmd     Grounds component and roots it at origin
AssemblyBonusTools_LinkLODsCmd                               Activates all first-level LODs of same name
AssemblyBonusTools_PlaceAtComponentOriginCmd         Adds new component and fixes it at the origin of selected existing component
AssemblyBonusTools_RenameBrowserNodesCmd             Rename assembly browser nodes
AssemblyBonusTools_SaveAndReplaceComponentCmd     Saves copy of component and replaces existing component in assembly with saved one
AssemblyBonusTools_UpdateSubstitutesCmd                   Update All Substitutes

https://forums.autodesk.com/t5/inventor-customization/call-a-productivity-routine-with-vba/td-p/6389435
В программировании я новичок...но ненадолго! ;)

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Закрепить и внедрить компонент.
« Ответ #3 : 01-11-2019, 09:45:10 »
Название любой команды на кнопках инвентора можно отловить через определенное событие,
как это сделать я писал не так давно в материале:
https://drive.google.com/file/d/1hfJ4zOdmpxhVSI6EiRGeNm_usAlvPCye/view

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
Re: Закрепить и внедрить компонент.
« Ответ #4 : 01-11-2019, 09:54:54 »
Супер, спасибо!
В программировании я новичок...но ненадолго! ;)