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

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

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

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

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

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

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

Проблема в коде, ошибка редактирования эскиза.

Автор Дмитрий Коновалов, 28.06.17, 12:01:33

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

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

Дмитрий Коновалов

Доброго времени суток.

прошу помоч с кодом. после создания смещенной плоскости немогу получить доступ к редактирования эскиза расположенном на этой плоскости.



If Not Kompas Is Nothing Then
Dim Part As ksPart
Dim EntityDraw
    Dim ksDocument3D As Object
    Set ksDocument3D = Kompas.Document3D
        Dim ksDocument2D As Object
    Set ksDocument2D = Kompas.Document2D
Dim sketchEdit As Kompas6API5.ksDocument2D

    If Not ksDocument3D Is Nothing Then
      Dim ksDocumentParam As Object
      Set ksDocumentParam = Kompas.GetParamStruct(ko_DocumentParam)
      If Not ksDocumentParam Is Nothing Then
        ksDocumentParam.Init
        ksDocumentParam.Type = lt_DocPart3D
        ksDocument3D.Create False, True
      End If
    End If
  End If

Dim plPart As Kompas6API5.Part
Set plPart = ksDocument3D.GetPart(-1)
  Dim plEntity As Kompas6API5.entity
Dim plDef As Kompas6API5.SplineDefinition
For t = 1 To 1
Set io = plPart.NewEntity(14)
Set iof = io.GetDefinition
iof.offset = t * 10

iof.SetPlane (plPart.GetDefaultEntity(2))
io.Name = t * 10
io.Create


sketchEdit = ksDocument2D(iof.BeginEdit)

sketchEdit.ksCircle 50, 50, 50, 2

iof.EndEdit

Next



ошибку выдает на этой строчке "sketchEdit = ksDocument2D(iof.BeginEdit)"  ошибка 438 обьект не поддерживает этот метод.

что только не пробовал неполучается избавиться этой ошибки.



KrissKross

Добрый день!

Вот что получилось при записи Python-Macro
iDocument3D = iKompasObject.ActiveDocument3D()

iDocument = iApplication.ActiveDocument
iKompasDocument3D = KAPI7.IKompasDocument3D(iDocument)

iPart = iDocument3D.GetPart(LDefin3D.pTop_Part)
obj = iPart.NewEntity(LDefin3D.o3d_planeOffset)
iDefinition = obj.GetDefinition()
iDefinition.direction = True
iDefinition.offset = 25.0
iPlane = iPart.GetDefaultEntity(LDefin3D.o3d_planeXOY)
iDefinition.SetPlane(iPlane)

obj.name = "Смещенная плоскость:1"
iColorParam = obj.ColorParam()
iColorParam.color = 16776960

obj.Create()

iPart = iDocument3D.GetPart(LDefin3D.pTop_Part)
iSketch = iPart.NewEntity(LDefin3D.o3d_sketch)
iDefinition = iSketch.GetDefinition()
iCollection = iPart.EntityCollection(LDefin3D.o3d_planeOffset)
iCollection.SelectByPoint(0.0, 0.0, 25.0)
iPlane = iCollection.GetByIndex(0)
iDefinition.SetPlane(iPlane)
iSketch.Create()

iDocument2D = iDefinition.BeginEdit()
obj = iDocument2D.ksCircle(0.0, 0.0, 16.96065227335, 1)
iDefinition.EndEdit()

Попробуйте по шагам воссоздать в Visual Basic'е
+ Благодарностей: 1