Очередная странность параметризации Компаса.

Автор IgorT, 21.02.25, 11:10:59

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

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

IgorT

Есть сборка. В ней есть эскиз. На часть геометрии эскиза наложены размеры.
Их значения связаны с переменными уровня сборки.
Если находиться в эскизе и менять значения переменных, то эскиз корректно перестраивается как и должно быть.
Но! Если менять значения переменных находясь в сборке, то эскиз не перестраивается! 8-)
Эскиз перестраивается только если зайти в него и изменить переменную....
Разве так должно быть? :%:
Наблюдал кто подобное у себя?


СВ

#1
 Не понял. Что значит "Если менять значения переменных находясь в сборке"? В Переменных Сборки?
Может, файл приложить, с пояснениями - что где менять?
- - -
Что-то yf эту тему было, но явственно не помню - что именно? Примерно так: в Эскизе меняю размер, а в Переменных - не меняется. Или наоборот. Не вспомню, но то, что срабатывания не было - точно. Причём не вспомню и конкретику: то ли Сборка и Деталь, то ли всё в Сборке. Обычно лечилось перезапуском Компаса.

IgorT

Сборка К21:
Захват.a3d

IgorT

Проушина.m3d
Упор.a3d     

Вроде все.
В переменных сборки поменять переменную dL, например -50.
Что получается?

Зайти в эскиз и сделать тоже самое. Выйти из эскиза, Перестроить сборку. Что наблюдается?

UU

Тут точно все файлы, да и есть одинаковые названия файлов.

IgorT

Ну да. Эта ошибка.
А что будет, если находясь в эскизе сборки изменить переменную dL на -10 хотя бы?
Закрыть эскиз потом.

UU

#6
В эскизе перестраивает без закрытия эскиза, но сборка краснеет в эскизе - потеряны связи, но при выходе всё перестраивается.
PS. Было, что перестроило из сборки без ошибок, поведение не адекватное.

ZRustam

У вас слишком сложные зависимости, причем часть очевидно избыточные, в виде ссылок на спроецированные размеры . Если L0 и dR сделать фикс размерами (а они всегда фикс, у вас не меняются переменные, за них отвечающие) то избыточность уходит и все перестраивается корректно.

Компас весьма лагучая штука. Не нужно плодить избыточные ограничения и связи, он путается
+ Благодарностей: 1

IgorT

Кажется постиг сиё таинство!  :angel:
Дело в том, что переменная L0 включает в себя переменную, которая является справочной в эскизе.
Если заменить эту переменную неким значением или просто удалить из формулы, то расчет после изменения переменной dL происходит корректно!
Коллеги, будьте бдительны с использование переменных со справочных размеров. :um:

О! Уважаемый ZRustam выше уже сообщил об этом.

IgorT

:angel:
Цитата: ZRustam от 21.02.25, 13:27:49...
Компас весьма лагучая штука. Не нужно плодить избыточные ограничения и связи, он путается
Хорошо. Вы можете подсказать лучший способ, как организовать подвижность узел в моём примере?

ZRustam

Цитата: IgorT от 21.02.25, 13:37:33:angel: Хорошо. Вы можете подсказать лучший способ, как организовать подвижность узел в моём примере?
У вас не самый простой узел, честно сказать я его сильно не анализировал. Просто нашел ошибочную взаимосвязь.

Из общих советов (но на конкретном примере). Если у вас есть фикс размеры (расстояние между осей проушины, от оси крепления проушины к коромыслу и другие подобные) их лучше брать или с переменной где они задаются (ссылка на деталь/компоновочную геометрию) потому что при изменении положения детали перестраивается проекционная линия, и за ней пересчитывается размер (хотя он всегда одинаковый).
Возможно стоит вынести положения в компоновочную геометрию. Потому что ваши сопряжения накладываются на перестраиваемые элементы эскиза, которые в свою очередь определяют положение деталей -> сопряжения (некоторая цикличность). Если весь расчет сделать в компоновке, то к ней можно привязываться без ошибок в сборке (поэтому например когда вы заходите в эскиз происходит ошибка сопряжения, потому что линии к которым они привязаны в момент редактирования эскиза для компаса не существуют).
А если зависимости попроще (без движения по радиусу изменяемого положения) то лучше обойтись и вовсе чистыми формулами геометрическими, без линий сопряжений и тд. Как показывает мой опыт самые стабильные перестроения получаются из чисто математических зависимостей.
+ Благодарностей: 1

Doom2

Цитата: IgorT от 21.02.25, 11:10:59Но! Если менять значения переменных находясь в сборке, то эскиз не перестраивается! 8-)

А если после изменений нажать на F5 или на кнопку с краником ?