Сложности с групповым переключением сопряжений при помощи переменных

Автор Фанат Компаса, 12.04.07, 22:02:21

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

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

Фанат Компаса

Понадобилось мне в некоторой сборке бысто переключать ее из одного положения в другое, при этом необходимо исключить из расчета одну группу сопряжений и включить другую, а потом наоборот. В SW я использовал для этого конфигурации, но в Компасе-то их нету, решил выкрутится при помощи переменных.
И вот что я выдумал:
- создаю переменную config, которая, по моему замыслу, может принимать значения номера "конфигурации": 0,1,2 и т.д.
- в графе выражение в строчке "исключить из расчета" для сопряжений соответствующих каждой из конфигураций ввожу выражения "config!=0",  "config!=1" и т.д.
- изменяю значение переменной config, значение "0" (включаются в расчет) принимают лишь те выражения, которые соответствуют нужной конфигурации, остальный принимают значение "1" (исключаются израсчета) и все перестраивается как надо.

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

Потом пришла другая идея в голову: управлять состоянием сопряжений не через выражения, а через псевдонимы, для каждой группы сопряжений записывается один псевдоним, а псевдонимам значения присваиваются по той же схеме как и предыдущем способе (рисунок два)

Примечание: на рисунках показана упрощенная схема из двух сопряжений, между которыми надо переключатся. На первом рисунке показана ситуация с не устраненной ошибкой.

Делал в компасе V8 Хотел посмотреть как обстоит дело в Компас V9, но там по другому реализована работа с переменными, псевдонимов нет, так что второй способ не подходит, а по первому я ни одного выражения ввести не смог, пишет что "не может найти решения"  :o

Вопросы:
1) Можно ли переименовать сопряжение в Компас?
2) Можно ли передвигать сопряжения по дереву (чтобы сгруппировать переключаемый сопряжения вместе)?
3) То что выражения в одноименных сопряжениях сами меняются,это так задумано или глюк
4) Что может означать в V9 сообщение о невозможности найти решение (такого простого выражения из одной операции)
5) Может есть другие способы группового управления сопряжениями?

POMAH

Попробуйте так:
допустим X - переменная на исключении,
тогда (!X) - будет принимать значение "0" при X=1 и "1" - при X=0... :um:

Serj

Мне вот интересно, а много ли людей пользуется переменными? Ни у кого нет проблем с переменными в 9-ке?

Эдуард

Цитата: Фанат Компаса от 12.04.07, 22:02:21
Понадобилось мне в некоторой сборке бысто переключать ее из одного положения в другое, при этом необходимо исключить из расчета одну группу сопряжений и включить другую, а потом наоборот.

5) Может есть другие способы группового управления сопряжениями?

2) Можно ли передвигать сопряжения по дереву (чтобы сгруппировать переключаемый сопряжения вместе)?

  Приходится догадываться для чего Вам это нужно. Может быть поможет использование команды "Разнести компоненты", чтобы быстро переключать некоторые элементы сборки из одного положения в другое? Удобно эту команду применять в именованных видах.
 
  Сгруппировать нужные сопряжения в одном месте можно в макроэлементе ( выделить их в дереве сборки, потом через контекстное меню правой кнопки -  "объединить в макроэлемент" ; макроэлементу можно присвоить имя ).
  Макроэлемент будет отображаться в дереве переменных, но переменную ему присвоить невозможно, можно только каждому сопряжению ( в Вашем случае, наверно, одну и ту же для всех сопряжений). 

Фанат Компаса

Цитата: POMAH от 13.04.07, 05:35:41
Попробуйте так:
допустим X - переменная на исключении,
тогда (!X) - будет принимать значение "0" при X=1 и "1" - при X=0... :um:
Метод отличается от метода 1 только тем, что дает только два значения конфигурации. Проблемы с вводом выражений те же.
Интересно применение скобок в выражении, в 9-ке выражения со скобками пролетают на ура.

Цитата: Эдуард от 13.04.07, 18:51:30
  Приходится догадываться для чего Вам это нужно. Может быть поможет использование команды "Разнести компоненты", чтобы быстро переключать некоторые элементы сборки из одного положения в другое? Удобно эту команду применять в именованных видах.
Я попробую. Важное замечание на счет чертежей. Но сколько можно в команде "разнести компоненты" определить конфигураций?
Цитировать
  Сгруппировать нужные сопряжения в одном месте можно в макроэлементе ( выделить их в дереве сборки, потом через контекстное меню правой кнопки -  "объединить в макроэлемент" ; макроэлементу можно присвоить имя ).
  Макроэлемент будет отображаться в дереве переменных, но переменную ему присвоить невозможно, можно только каждому сопряжению ( в Вашем случае, наверно, одну и ту же для всех сопряжений). 
Класс, то что надо.

PS экспериментируя с сопряжениями обнаружил, что сопряжения, в которых детали перечислены в разной последовательности, считаются разными, так что две конфигурации можно создать и по методу 1, если следить за порядком задания сопрягаемых элементов
PSS в 9-ке метод 1 работатет четко при использовании скобок.

Фанат Компаса

Цитата: Serj от 13.04.07, 16:07:32
Мне вот интересно, а много ли людей пользуется переменными? Ни у кого нет проблем с переменными в 9-ке?
А Вы сами пользуетесь? А чем Ваш интерес продиктован?

Эдуард

Цитата: Фанат Компаса от 12.04.07, 22:02:21
Примечание: на рисунках показана упрощенная схема из двух сопряжений, между которыми надо переключатся. На первом рисунке показана ситуация с не устраненной ошибкой.

В приведённых примерах Вы используете сопряжения "совпадение", то включаете в расчёт, то исключаете их из расчёта. Может быть Вам вместо "совпадения" использовать сопряжение "на расстоянии", это позволит с помощью переменной просто управлять расстоянием и не нужно будет включать в расчёт и исключать из него (Расстояние равное нулю- соответствует совпадению, а равное какому-то значению-другому положению компонента сборки). Поскольку в настоящее время в КОМПАСе невозможно без удаления сменить один тип сопряжения на другой то иногда приходится применять сопряжение "на расстоянии" с нулевым значением вместо "совпадения" когда нет уверенности, что при редактировании сборки в будущем останется "совпадение".

Цитата: Фанат Компаса от 13.04.07, 23:43:48
Я попробую. Важное замечание на счет чертежей. Но сколько можно в команде "разнести компоненты" определить конфигураций?

В чертёж можно вставить два раза один и тот же вид с той разницей, что в одном не активизирована кнопка "Разнесённый вид" в панели свойств вида, а в другом-активизирована.И будет в чертеже сборка отображена в двух разных положениях её компонентов.

Serj

ЦитироватьА Вы сами пользуетесь? А чем Ваш интерес продиктован?
ещё как... В 8-ке очень удачно, крутил такое, аж самому страшно... :))))) А вот в девятке самые простые вещи не получаются. Вот и думаю, то ли я ни разу не умный, то ли есть какие-то ошибочки в 9-ке... Поэтому и не утверждаю про ошибки, а спрашиваю.

Вот научите плохому. Выкладываю простейшую сборочку. Как сделать так чтобы меняя значение I гасилась/высвечивалась деталюшка?
Первый раз ставлю 1 - гасится после перестроения, ставлю 0 - высвечивается, и больше 1 вставить не возможно, сколько б я не клатцал по клавише Enter.

Фанат Компаса

Цитата: Эдуард от 16.04.07, 09:04:55
В приведённых примерах Вы используете сопряжения "совпадение", то включаете в расчёт, то исключаете их из расчёта. Может быть Вам вместо Сопряжение "на расстоянии", это позволит с помощью переменной просто управлять расстоянием и не нужно будет включать в расчёт и исключать из него (Расстояние равное нулю- соответствует совпадению, а равное какому-то значению-другому положению компонента сборки). Поскольку в настоящее время в КОМПАСе невозможно без удаления сменить один тип сопряжения на другой то иногда приходится применять сопряжение "на расстоянии" с нулевым значением вместо "совпадения" когда нет уверенности, что при редактировании сборки в будущем останется "совпадение".
Сопряжение "совпадение" использовано как самое простое и понятное. Но даже в этом случае, расстояние между поверхностями может меняться, надо мутить с условиями, выражения усложняются их сложнее отслеживать. А если деталь при этом еще и поворачивается так, что используется сопряжение "касание" или совпадение с точкой?.. Тогда вообще повеситься можно.

Цитата: Serj от 16.04.07, 09:23:42
Вот научите плохому. Выкладываю простейшую сборочку. Как сделать так чтобы меняя значение I гасилась/высвечивалась деталюшка?
Первый раз ставлю 1 - гасится после перестроения, ставлю 0 - высвечивается, и больше 1 вставить не возможно, сколько б я не клатцал по клавише Enter.
С этого бы и начинали  ;)
У меня та же проблема.

Serj

ЦитироватьС этого бы и начинали 
У меня та же проблема.

Хотелось бы ещё от кого-нибудь услышать...

vi

4 Serj
Один из способов обхода ситуации, именно в таком простом случае он действует. В детали в Выражение для Начало координат пишите переменную, назначаете ее внешней. Если в сборке этой переменной присвоить 1, то вся деталь погаснет, если вернуть 0, то все высветится.