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

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

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

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

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

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

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

Не могу удалить ограничения

Автор lavgirb, 18.11.23, 08:56:52

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

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

lavgirb

КОМПАС-3D V22
Задача - отвязать линию-выноску с номером позиции от других объектов чертежа, то есть удалить ограничения, которые автоматом накладываются при простановке номера позиции.
Приведенный ниже код ограничения не удаляет. Что может быть не правильным?

Dim vCons            As Variant
Dim oDrawObj1        As KompasAPI7.IDrawingObject1
Dim oPasiLeader      As KompasAPI7.IPositionLeader
Dim oCon            As KompasAPI7.IParametriticConstraint

Set oDrawObj = vSelObj ' Выделенный объект - линия-выноска с номером позиции
If oDrawObj.DrawingObjectType <> ksDrPosLeader Then GoTo NEXT_SEL_OBJ
Set oPasiLeader = vSelObj
Set oDrawObj1 = oPasiLeader
vCons = oDrawObj1.Constraints
If Not IsEmpty(vCons) Then
  For Each vCon In vCons
      Set oCon = vCon
      If oCon.Delete Then
        oDrawObj.Update
      End If
  Next
End If
огран.JPG

Nipal

If oCon.Delete Then
Может так написать oCon.Delete, да и обновлять вроде не нужно.

lavgirb

Цитата: Nipal от 18.11.23, 10:01:52If oCon.Delete Then
Может так написать oCon.Delete, да и обновлять вроде не нужно.
Писал, конечно без If ... Then. Не работает. Эта часть не содержит ошибки. В других аналогичных местах If ... Then нормально работает.
Обновление поставил для пробы, без него тоже не работает.
И Rebuild делал. Не помогает.

А, вот заработало!
oDrawObj1.DeleteConstraints
oDrawObj1.Update
Спасибо, за отклик, Nipal. Обсуждение иногда здорово подталкивает )

Nipal

Да не за что, я тоже про него думал, но он все ограничения удаляет.

lavgirb

Цитата: Nipal от 18.11.23, 10:47:12Да не за что, я тоже про него думал, но он все ограничения удаляет.
А у линии-выноски других, наверное и не бывает.
Обновление
oDrawObj1.Updateдействительно не требуется. Без него работает

lavgirb