Форум пользователей ПО АСКОН

Профессиональные вопросы => Программирование приложений => Тема начата: Lemieux от 22.01.25, 16:04:42

Название: Вид сверху
Отправлено: Lemieux от 22.01.25, 16:04:42
Всех приветствую. Как с помощью API в 3D документе выполнить команду "Вид сверху"?
Название: Re: Вид сверху
Отправлено: Lemieux от 22.01.25, 16:46:04
IViewProjectionManager
SetMatrix3D
Название: Re: Вид сверху
Отправлено: lavgirb от 22.01.25, 16:46:28
Цитата: Lemieux от 22.01.25, 16:04:42Всех приветствую. Как с помощью API в 3D документе выполнить команду "Вид сверху"?

Вот это, наверное, то что нужно.
IViewProjection7 (https://help.ascon.ru/KOMPAS_SDK/22/ru-RU/iviewprojection7.html?q=IViewProjection7)

Я, правда, делал в API5, там есть, но посмотреть и уточнить сейчас не имею возможности.
Если не то, посмотрю позже.
Название: Re: Вид сверху
Отправлено: lavgirb от 22.01.25, 17:01:48
Посмотрел-таки.
Вот рабочий код. Оно?)

Private Sub ViewOrientation(ByVal eViewOrientation As ksRelativeProjectionTypeEnum)
 
  'eViewOrientation = ksPtUp      ' Вид сверху 
  'eViewOrientation = ksPtDown    ' Вид снизу 
  'eViewOrientation = kksPtIsoXYZ  ' Изометрия
 
  Dim oDoc3D_5           As Kompas6API5.Document3D
  Dim oViewProjColl_5    As Kompas6API5.ViewProjectionCollection
  Dim oViewProjection_5  As Kompas6API5.ViewProjection
 
  Set oDoc3D_5 = moKO5.ActiveDocument3D
  Set oViewProjColl_5 = oDoc3D_5.GetViewProjectionCollection
  oViewProjColl_5.viewProjectionScheme = ksVPSZ90AxonometricISO ' Схема Z(ISO)-аксонометрия
  Set oViewProjection_5 = oViewProjColl_5.GetByIndex(eViewOrientation)
  oViewProjection_5.SetCurrent

  oDoc3D_5.ZoomPrevNextOrAll ksZoomAll

  SetNothing oDoc3D_5, oViewProjColl_5, oViewProjection_5
End Sub
Название: Re: Вид сверху
Отправлено: Lemieux от 22.01.25, 17:40:24
Да, спасибо.