• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

При вставке вида из другого чертежа не удается заменить системный вид на нужный

Автор lavgirb, 17.06.23, 20:57:46

« назад - далее »

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

lavgirb

Есть большой чертеж и есть маленький чертежик с маленьким видом.
Задача
1 Вставить в большой чертеж пустой вид
2 В этот пустой вид вставить вид из маленького чертежа (Вставить вид другого чертежа)
3 Во вставленном виде из другого чертежа должен отображаться вид модели маленького чертежа.

Проблема: во вставке вида другого чертежа показывается пустой Системный вид, а не вид с изображением модели.
Вручную вид-источник можно изменить и переключить с системного на вид с изображением.
Программно это сделать не удается, так как свойство ViewName, в котором имя вида меняется при смене вида-источника вручную, Read Only
Никто не сталкивался с этим? Может, есть какие-то обходные пути?
Спасибо.


Private Function InsertMountingView(ByRef oDrawDocSB As KompasAPI7.DrawingDocument, _
                                    ByVal ffnDrawMV As String, _
                                    ByVal sNameMV As String) As Boolean

  Dim oKompDoc  As KompasAPI7.KompasDocument
  Dim oInsMng    As KompasAPI7.IInsertionsManager
  Dim oDrawMVDef As KompasAPI7.InsertionDefinition
  Dim oViewForMV As KompasAPI7.View
  Dim oDrawCont  As KompasAPI7.IDrawingContainer
  Dim oInsObjs  As KompasAPI7.InsertionObjects
  Dim oInsObj    As KompasAPI7.IInsertionObject
  Dim oInsView  As KompasAPI7.InsertionView
 
  Set oViewForMV = oDrawDocSB.ViewsAndLayersManager.Views.Add(vt_Normal)
 
  With oViewForMV
      .Current = True
      .Visible = True
      .name = sNameMV
      .Update
  End With
  '
  Set oKompDoc = oDrawDocSB
  Set oInsMng = oKompDoc
  Set oDrawMVDef = oInsMng.AddDefinition(ksTBodyView, sNameMV, ffnDrawMV)   
  Set oDrawCont = oViewForMV
  Set oInsObjs = oDrawCont.InsertionObjects
  Set oInsObj = oInsObjs.Add(oDrawMVDef)
  Set oInsView = oInsObj
  With oInsView
      .CreateSpcObjects = False
      .DimensionLineScale = False
      .ThinLines = False
''''      .ViewName = ReadOnly
      .Update
  End With
  oViewForMV.Update
 
End Function

Вставка вида чертежа в пустой вид (который является как бы контейнером) нужна для последующего программного перемещения вставленного изображения и прицепления к нему некоторого текста.
Таких независимых вставок может быть несколько.



Ну вот, стоило только написать, как ответ подкатил. Надо поменять номер вида с 0 на 1
   With oInsView
      .CreateSpcObjects = False
      .DimensionLineScale = False
      .ThinLines = False
      .ViewNumber = 1
      .Update
   End With