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

ADN Club => Inventor API => Тема начата: Elfilagas от 25-03-2020, 10:13:22

Название: Добавление эскиза на выбранную плоскость детали
Отправлено: Elfilagas от 25-03-2020, 10:13:22
Добрый день, есть код, который добавляет эскиз на деталь при выборе необходимой плоскости детали из пространства сборки:
Код - vb.net [Выбрать]
  1.            
  2. Dim oMainFace As FaceProxy = InvApp.CommandManager.Pick(SelectionFilterEnum.kPartFaceFilter, "Выберите плоскость")
  3. If IsNothing(oMainFace) Then Exit Sub
  4.  
  5. Dim oPartOcc As ComponentOccurrence = oMainFace.ContainingOccurrence
  6. Dim oPartCompDef As PartComponentDefinition = oPartOcc.Definition
  7.  
  8. Dim oMainSketch As PlanarSketch = Nothing
  9.  
  10. Dim oMainNativeFace As Face = oMainFace.GetSourceFace(True) 'Возвращает нативную плоскость из измененной в сборке, если это нативная плоскость, то возвращает Nothing
  11.  
  12. If IsNothing(oMainNativeFace) Then
  13.        oMainSketch = oPartCompDef.Sketches.Add(oMainFace.NativeObject, False)
  14. Else
  15.        oMainSketch = oPartCompDef.Sketches.Add(oMainNativeFace, False)
  16. End If
Но эскиз не добавляется, если выбрана деталь у которой есть исполнения. Подскажите в чем причина?
Название: Re: Добавление эскиза на выбранную плоскость детали
Отправлено: mikazakov от 25-03-2020, 13:13:35
Дак и пользовательский интерфейс не дает создавать эскиз на исполнениях параметрической детали.
Логика работы с исполнениями параметрической детали не подразумевает редактирование экземпляра.
Параметрическая деталь может быть двух типов: standard и custom.
Если параметрическая деталь была создана как standard, то экземпляры такой детали не редактируются.