2D эскиз детали из сборки

Автор Тема: 2D эскиз детали из сборки  (Прочитано 9404 раз)

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

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: 2D эскиз детали из сборки
« Ответ #15 : 16-11-2018, 06:43:43 »
поподробнее, что куда кликнуть и что получить

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

  • ADN OPEN
  • ***
  • Сообщений: 117
  • Карма: 4
Re: 2D эскиз детали из сборки
« Ответ #16 : 16-11-2018, 08:36:37 »
Да в принципе вопрос все тот же. )
Задача из пространства сборки построить эскиз на детали. Следующий код работает корректно если нет отверстий в сборке, которые задевают деталь.
Код - vb.net [Выбрать]
  1. Dim oFace As FaceProxy = InvApp.CommandManager.Pick(SelectionFilterEnum.kPartFaceFilter, "Выберите плоскость детали")
  2. Dim oOcc As ComponentOccurrence = oFace.ContainingOccurrence
  3. Dim oPartCompDef As PartComponentDefinition = oOcc.Definition
  4. Dim oSketch As Sketch = oPartCompDef.Sketches.Add(oFace.NativeObject, True)
Но если есть какие либо элементы, добавленные в сборке и затрагивающие деталь (рисунок с примером во вложении), то эскиз не добавляется.

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: 2D эскиз детали из сборки
« Ответ #17 : 17-11-2018, 08:10:16 »
Да, интересный вопрос, ссылка Face.NativeObject не приходит на грань выделенной детали. Отправлю как я его к тех поддержке по АПИ инвентора. Еще бы вспомнить как туда отправлять :)

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: 2D эскиз детали из сборки
« Ответ #18 : 19-11-2018, 07:45:20 »
Пытаюсь доступ получить на техподдержку. Поэтому немного придется подождать

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: 2D эскиз детали из сборки
« Ответ #19 : 21-11-2018, 21:37:36 »
Написал в техподдержку дня через три ответят

Отмечено как Решение Elfilagas 23-11-2018, 11:07:48

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Re: 2D эскиз детали из сборки
« Ответ #20 : 23-11-2018, 10:51:34 »
Пришел ответ с техподдержки:
Так вот сразу и не догадаешься, что нужно менять свойство через вызов метода Face.GetSourceFace(True)

Код - Visual Basic [Выбрать]
  1. Sub nn_1()
  2.  Dim asdoc As AssemblyDocument
  3.   Set asdoc = ThisApplication.ActiveDocument
  4.  
  5.   Dim oFace As FaceProxy
  6.   Set oFace = ThisApplication.CommandManager.Pick(SelectionFilterEnum.kPartFaceFilter, "Select planar face")
  7.  
  8.   Dim oOcc As ComponentOccurrence
  9.   Set oOcc = oFace.ContainingOccurrence
  10.  
  11.   Dim oPartCompDef As PartComponentDefinition
  12.   Set oPartCompDef = oOcc.Definition
  13.  
  14.  Dim oNativeFace As Face
  15.  Set oNativeFace = oFace.GetSourceFace(True)
  16.  
  17.   Dim oSketch As PlanarSketch
  18.   Set oSketch = oPartCompDef.Sketches.Add(oNativeFace, True)
  19.  
  20.   Call asdoc.Update
  21. End Sub
  22.  

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

  • ADN OPEN
  • ***
  • Сообщений: 117
  • Карма: 4
Re: 2D эскиз детали из сборки
« Ответ #21 : 23-11-2018, 11:07:37 »
Да, весьма не очевидно. Большое спасибо.