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

Автор beginner, 23.03.21, 10:42:43

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

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

IgorT

Цитата: beginner от 23.03.21, 15:47:51сообщение #5 ещё раз к прочтению - там подробно описано, что нужно.
Вечером...
я удалил все тесты до того как увидел это сообщение

ну можно и самостоятельно - я же всё расписал, что нужно сделать  ;)
Ок.

Gefestos

Первое - однозначно определить два катета лишь по одной гипотенузе не выйдет.
Второе - когда строите треугольник в эскизе - как образмериваете, чтобы его однозначно задать? По двум катетам? По катету и углу? Тогда гипотенуза будет отображаться как информационный размер и им ничем нельзя управлять. А вот если в набор размеров эскиза войдет именно гипотенуза, то её значение появится в списке переменных и на него можно ссылаться как угодно.

Gefestos

Цитата: IgorT от 23.03.21, 15:35:26Аналогично. Примерчик бы с моделью заполучить...


Пожалуйста. Я не знаю закона, по которому определяется взаимоположение параллелепипеда относительно пружины, поэтому просто указал, что от ближнего торца пружины до него 50 мм.
В сборке есть переменная L, меняйте на здоровье.

beginner

Цитата: Gefestos от 23.03.21, 16:04:34Первое - однозначно определить два катета лишь по одной гипотенузе не выйдет.
Я и не пытался это сделать.
2 катета - это управляемые размеры, гипотенуза - это информационный размер, который по моему желанию ДОЛЖЕН управлять ВНЕШНЕЙ переменной, вставленной детали.
Но К. не желает - ругается на цикличность, хотя её НЕТ.

Цитата: Gefestos от 23.03.21, 16:04:34Второе - когда строите треугольник в эскизе - как образмериваете, чтобы его однозначно задать? По двум катетам? По катету и углу? Тогда гипотенуза будет отображаться как информационный размер и им ничем нельзя управлять.
см. ответ на "первое".
Информационный размер прекрасно может управлять другими размерами об этом писал ранее (это можно проверить при желании)

Цитата: Gefestos от 23.03.21, 16:04:34А вот если в набор размеров эскиза войдет именно гипотенуза, то её значение появится в списке переменных и на него можно ссылаться как угодно.

Вся фишка "хотелки" именно в том, чтобы ЗАВИСИМЫЙ (вспомогательный) размер использовать в качестве управляемого.

И я это сделал вопреки логики Компаса (а правильная ли у него логика?  8-) )

Цитата: Gefestos от 23.03.21, 16:12:16Пожалуйста. Я не знаю закона, по которому определяется взаимоположение параллелепипеда относительно пружины, поэтому просто указал, что от ближнего торца пружины до него 50 мм.
В сборке есть переменная L, меняйте на здоровье.
Всё ясно - ты не понял задачи.
Параллелепипед НЕЛЬЗЯ привязывать сопряжением. Он должен свободно передвигаться мышкой. (потянул влево, потянул вправо и он подвинулся)

Gefestos

Цитата: beginner от 23.03.21, 16:14:29Всё ясно - ты не понял задачи.
Параллелепипед НЕЛЬЗЯ привязывать сопряжением. Он должен свободно передвигаться мышкой. (потянул влево, потянул вправо и он подвинулся)

Да пожалуйста.

beginner


Gefestos

Попробуй так. Но не уверен, что правильно заработает.

IgorT

16 открывать не умею.
Получилось вот что:
1.a3d
Пружина (15.1).m3d
Тест (15.1).a3d

Почему-то только  со ссылкой во внешней переменной пружины на переменную сборки заработало. Может в ранее выложенных примерах так же?

beginner

Цитата: IgorT от 23.03.21, 19:08:55Почему-то только  со ссылкой во внешней переменной пружины на переменную сборки заработало.
У меня так же работает. (только я пользовался командой "линейный размер" из панели "элементы оформления"... я не знал, что у команды "измерить расстояние и угол" есть функция "создать измерение"  :o )

Примеры Gefestos открыть не получилось - там версии выше чем 16.1

Andy

Ваши решения понятны, но имеют, как мне кажется существенные недостатки. Используемая  параметрическая (типовая) деталь либо перестает быть таковой (я о том, что один и тот же (не копия) файл детали нельзя использовать в разных сборках), либо используется некая "левая сборка". Предлагаю вот такое решение (Для упрощения пересылки пружину внедрил в файл сборки, но она, естественно, должна быть отдельным файлом), вы смело можете это сделать.
Кстати, пока готовил пример, выяснил, что в v18.1 это не работает, т.к. у внедренной "компоновки", после сохранения, закрытия и повторного открытия, теряется связь со сборкой. Система говорит: "Связь с другим файлом сборки" в v19 тот же файл работает нормально 

beginner

11.10.21, 08:57:01 #30 Последнее редактирование: 11.10.21, 10:16:01 от beginner
Цитата: Andy от 07.10.21, 15:01:28Ваши решения понятны, но имеют, как мне кажется существенные недостатки. Используемая  параметрическая (типовая) деталь либо перестает быть таковой (я о том, что один и тот же (не копия) файл детали нельзя использовать в разных сборках), либо используется некая "левая сборка". Предлагаю вот такое решение (Для упрощения пересылки пружину внедрил в файл сборки, но она, естественно, должна быть отдельным файлом), вы смело можете это сделать.
Кстати, пока готовил пример, выяснил, что в v18.1 это не работает, т.к. у внедренной "компоновки", после сохранения, закрытия и повторного открытия, теряется связь со сборкой. Система говорит: "Связь с другим файлом сборки" в v19 тот же файл работает нормально 
Хорошее замечание.
Когда я пытался решить текущую проблему, то не задавался вопросом использования одной и той же детали в разных сборках.
Команда "взять в документ" решает проблему использования файла в разных сборках.
В 16-ой версии проблем никаких нет.

Andy

Цитата: beginner от 11.10.21, 08:57:01Команда "взять в документ" решает проблему использования файла в разных сборках.
Не вижу никакого смысла в вашем решении. Зачем дублировать внешнюю переменную, да еще и формально нарушать структуру сборки (т.е. я имею ввиду что вместо детали у Вас появляется "левая" подсборка, которой, для формирования  "правильной" структуры спецификации, нужно вручную изменять имя раздела в свойствах). Больших проблем в этом, конечно, нет, но не вижу никакого смысла в создании сборки с внедренной деталью. Используйте просто файл детали с внешней переменной. В чем проблема?

beginner

Цитата: Andy от 18.10.21, 14:56:31Не вижу никакого смысла в вашем решении
Andy, смысла ты НЕ видишь, потому что не разобрался в сути проблемы.

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

p3452

Цитата: beginner от 19.10.21, 08:33:41Я так понимаю, что у них, к сожалению, не хватает мощностей (количества и качества программистов) для решения большого количества различных "мелочей",
Вот они "плоды" языкового упрямства ("C++ самый лучший, самый быстрый"), а то что при этом время разработки и сопровождения в несколько раз увеличивается, по сравнению с управляемым кодом, об этом они не думают, но "плоды" пожинают...

Петрович-47

p3452, раз уж мы отвлеклись от темы, подскажите, что такое "управляемый код"?

p3452

Цитата: Петрович-47 от 19.10.21, 14:24:47p3452, раз уж мы отвлеклись от темы, подскажите, что такое "управляемый код"?
Могу ошибаться в "академичности" формулировок, поэтому: Управляемый код — Википедия

p3452

Цитата: p3452 от 19.10.21, 14:41:26Могу ошибаться в "академичности" формулировок, поэтому: Управляемый код — Википедия
Да, сори за то что вклинился - накипело (и Компас и Renga) ждешь обещанных "новинок", а там "пшик" - сплошные недоделки!

ACiD

Да простят меня на некропостинг, но тема скорее жива, чем мертва :)
Как вариант - сделать размер внутри вставки и использовать внешнюю переменную оттуда

Петрович-47

Пружина открылась, а тест нет, разные версии... а у меня 17-ть

ACiD

Нужна V20, в V17 невозможно так поставить размер (внешняя ссылка)