Создание внешнего контура сборки

Автор Тема: Создание внешнего контура сборки  (Прочитано 3467 раз)

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

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

  • ADN OPEN
  • Сообщений: 6
  • Карма: 2
Здравствуйте.

Кто-нибудь сталкивался с программным созданием внешнего контура сборки?
Может кто знает через какой объект/метод он создается.

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Создание внешнего контура сборки
« Ответ #1 : 10-11-2020, 12:34:32 »
Что такое "внешний контур сборки"?
Если болванку со сборки сделать, то это производный компонент тогда в помощь.

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

  • ADN OPEN
  • Сообщений: 6
  • Карма: 2
Re: Создание внешнего контура сборки
« Ответ #2 : 10-11-2020, 15:12:59 »
mikazakov,
Благодарю за ответ, я правильно понимаю, что имеется ввиду derived assembly object?

Все получилось! Спасибо большое. Нужно было посчитать внешнюю площадь детали, поэтому делал через внешний контур.
Если кому будет нужно, код на C#:

Код - C# [Выбрать]
  1. Inventor.Application App = (Inventor.Application)Marshal.GetActiveObject("Inventor.Application");
  2. var Doc = App.ActiveDocument;
  3. //Создаем новый файл
  4. var NewDoc = (PartDocument)App.Documents.Add(
  5.     DocumentTypeEnum.kPartDocumentObject,
  6.     TemplateFileName: "", // имя шаблона
  7.     CreateVisible: false); // отображаение создания
  8. //Получаем объект настроек внешнего контура.
  9. var DerivedAssemblyDef = NewDoc
  10.     .ComponentDefinition
  11.     .ReferenceComponents
  12.     .DerivedAssemblyComponents
  13.     .CreateDefinition(Doc.FullDocumentName);
  14. //Задаем стиль.
  15. DerivedAssemblyDef.DeriveStyle = DerivedComponentStyleEnum.kDeriveAsSingleBodyNoSeams;
  16. //Заполняем параметры:
  17. //"Включить остальные объекты"
  18. DerivedAssemblyDef.IncludeAllTopLevelWorkFeatures = DerivedComponentOptionEnum.kDerivedExcludeAll;
  19. DerivedAssemblyDef.IncludeAllTopLevelSketches = DerivedComponentOptionEnum.kDerivedExcludeAll;
  20. DerivedAssemblyDef.IncludeAllTopLeveliMateDefinitions = DerivedComponentOptionEnum.kDerivedExcludeAll;
  21. DerivedAssemblyDef.IncludeAllTopLevelParameters = DerivedComponentOptionEnum.kDerivedExcludeAll;
  22. DerivedAssemblyDef.ReducedMemoryMode = true;
  23. //"Заливка отверстий"
  24. DerivedAssemblyDef.SetHolePatchingOptions(DerivedHolePatchEnum.kDerivedPatchAll);
  25. //"Удалить элементы геометрии с учетом видимости"
  26. DerivedAssemblyDef.SetRemoveByVisibilityOptions(DerivedGeometryRemovalEnum.kDerivedRemovePartsOnly);
  27. //Создаем внешний контур.
  28. NewDoc.ComponentDefinition
  29.     .ReferenceComponents
  30.     .DerivedAssemblyComponents
  31.     .Add(DerivedAssemblyDef);
  32. //Получаем площадь внешнего контура.
  33. double area = NewDoc.ComponentDefinition
  34.     .MassProperties
  35.     .Area;
  36. NewDoc.ReleaseReference();
  37.  
« Последнее редактирование: 10-11-2020, 18:24:29 от Александр Ривилис »

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: Создание внешнего контура сборки
« Ответ #3 : 10-11-2020, 18:22:49 »
я правильно понимаю, что имеется ввиду derived assembly object?
Да, я это имел ввиду.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Создание внешнего контура сборки
« Ответ #4 : 10-11-2020, 18:25:32 »
Xenocephal,
У меня в подписи написано как следует форматировать код для форума.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 6
  • Карма: 2
Re: Создание внешнего контура сборки
« Ответ #5 : 10-11-2020, 19:07:48 »
Александр Ривилис,
Здравствуйте.
Прошу прощения, впредь буду иметь ввиду.
Спасибо, что помогли отформатировать.