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

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

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

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

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

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

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

Смена опорных точек у двух объектов

Автор Lemieux, 16.01.25, 14:15:01

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

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

Lemieux

Всех приветствую.
Есть проблема, представлена на двух гифках ниже.
Имеются объекты, которые строятся с помощью точек, которые созданы с помощью команды "Точка смещением". Есть два соседних объекта, у которых опорные точки меняются местами.
Опорная точка объекта 1, становится опорной точкой объекта два.
Объект 2, становится опорным объектом для объекта 1.
И, почему-то, КОМПАС после выполнения кода нормально не перестраивает модель. Но стоит зайти в точки обоих объектов, ничего не делать, а просто нажать зелёную галку, сохранить объект, перестроить сборку, как всё становится на свои места.
Что я делаю не так?
Глюк смещения 1.gif
Глюк смещения 2.gif

UU


Lemieux

Цитата: UU от 16.01.25, 14:47:03Код где?
Я думаю, что Вы не захотите читать 1142 строки кода и разбираться в 13 классах.
Я создавал данный пост в надежде на то, что может быть у кого-то было схожее поведение после работы API.

UU

Думаю, что где-то забыли обновить программно.

Lemieux

Цитата: UU от 16.01.25, 14:57:56Думаю, что где-то забыли обновить программно.
Я тоже так думал. Но я точки обновлял, компоненты обновлял. Даже в конце выполнения кода, все компоненты открывал на редактирование обновлял точки, закрывал редактирование, ничего не помогало. 

UU

Вы понимаете по картинкам трудно, что то сказать, иногда нужно даже делать отработку накопившегося говна, т.е. дать Компасу обработать накопившиеся сообщения.

Lemieux

У меня такое ощущение, что тут проблема в контекстных связях. У меня дерево построение на другом монике. И вот когда происходит действие первой гифки, то контекстные связи начинают подсвечиваться красным. Стоит в них зайти, то всё норм становится. Перестраиваю сборку и всё становится норм.

UU

А, что мешает сделать это - программно?

Lemieux

Цитата: UU от 16.01.25, 16:05:59А, что мешает сделать это - программно?
Пока не знаю как

Lemieux

Пока непонятно как узнать есть у объекта контекстная связь. И непонятно как редактировать контекстную связь.

UU

Вы после редактирования сохраняете объект?
изображение_2025-01-17_073003017.png

Lemieux

Цитата: UU от 17.01.25, 08:30:41Вы после редактирования сохраняете объект?
Какой именно объект? Точки, у которых меняются опорные точки ( IPoint3D.Update() ) или компонент, в котором находятся точки?

UU

Компонент, в котором находятся точки.

Lemieux


Lemieux

Цитата: UU от 17.01.25, 10:07:16Компонент, в котором находятся точки.
Как именно? Открывать на редактирование IPart.BeginEdit/EndEdit или получать документ через OpenSorceDocument и сохранять его через IKompasDocument3D.Close(SaveChange)? Если у компонента вызвать Update, то это не помогает.
Кстати, ещё на гифке видно, что приходится нажимать 2 раза перестроить сборку.

UU

Дело хозяйское как редактировать, нужно пробовать потом сохранять IKompasDocument3D.Close(SaveChange) или IKompasDocument3D.Save.

Lemieux

Короче, починил.
Открываю деталь на редактирование, в которой находится точка и делаю так.

IPart.BeginEdit()
IPoint3D.Update()
IPart7.EndEdit()