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

ADN Club => Inventor API => Тема начата: R.I.Chernov от 31-10-2019, 22:37:47

Название: Закрепить и внедрить компонент.
Отправлено: R.I.Chernov от 31-10-2019, 22:37:47
Доброго времени суток, уважаемые форумчане! В пользовательском интерфейсе есть команда, на русском звучащая как "закрепить и внедрить компонент", что означает создать зависимости "заподлицо" плоскостей XY, YZ, ZX вхождения и соответствующих плоскостей сборки. Пытаюсь разобраться, есть ли аналог такой команды в API?
Название: Re: Закрепить и внедрить компонент.
Отправлено: mikazakov от 01-11-2019, 06:53:30
CommandManager.ControlDefinitions["AssemblyBonusTools_GroundAndRootComponentCmd"].Execute();
Название: Re: Закрепить и внедрить компонент.
Отправлено: R.I.Chernov от 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
Название: Re: Закрепить и внедрить компонент.
Отправлено: mikazakov от 01-11-2019, 09:45:10
Название любой команды на кнопках инвентора можно отловить через определенное событие,
как это сделать я писал не так давно в материале:
https://drive.google.com/file/d/1hfJ4zOdmpxhVSI6EiRGeNm_usAlvPCye/view
Название: Re: Закрепить и внедрить компонент.
Отправлено: R.I.Chernov от 01-11-2019, 09:54:54
Супер, спасибо!