В моём случае возникла проблема элементарная когда была задана переменная с радиусом сферы, для этого пришлось применить функцию Get("ИмяФрагмента", "ПараметрФрагмента") <- ковычки обязательны и от этой переменной эту сферу пришлось сместить в одном из направлений. Почему бы не сделать дополнительную функцию в перерасчетах фрагментов, где переменные помечаются как расчет в порядке последовательности изначально заданы самим пользователем. Очень неприятная ошибка. Разрешите эту проблему Пожайлуста! -------------------------------------- Обновленное сообщение, в ходе дискуссии, для ускоренного ознакомления предлагаю всем посмотреть причину ошибки https://www.youtube.com/watch?v=uS3Gi3Gjb_0
Функция Get(ИмяФрагмента, ПараметрФрагмента) - применима для получения значения параметра фрагмента, какой-же от неё смысл если она не обладает широким спектром действия.
Программистам! Могли бы вы функцию Get и подобные ей, обозначить их в качестве приоритета в процессе перерасчета и тогда подобные проблемы не проявлялись бы так нелепо.
Если в разжёванном виде тогда блок схема: 1.Перебор констант; 2.Перебор фрагментов; 3.Получение параметров от каждого фрагмента; 4.Перебор функций Get и подобных ей которые были обозначены пользователем; 5.Расчет и установка значений в параметры фрагментов; 6.Остальное как вас там далее в расчетах по другим приоритетам ...
Простите моё хамство, проблему надо решать а не умничать)) Не говорите загадками, обосновывайте свои соображения. Выше я согласен, Вы молодец что проблему вы решили назначением изначальной переменной, этим по неизбежности придётся заняться вспоминая ваш совет, но представьте себе какая мега-группа необходима к созданию всего перечная переменных заранее осознавая что схематизация групп интерфейса не предполагает создание подгрупп, касаемо даже средних проектов.
Alex Ko написал: проблему надо решать а не умничать)
поэтому пытаюсь добиться от вас показа практического случая этой задачи...А вы предлагаете непонятные схемы пересчета, которые если поменять, то с 110% вероятностью сломают работающие проекты, и в перспективе будет вызывать рекурсии в других местах.
Цитата
Alex Ko написал: представьте себе какая мега-группа необходима к созданию всего перечная переменных заранее осознавая что
мега группу переменных для одной радиуса сферы? в общем пока все туммано и абстрактно слишком... описывайте подробнее задачу, тогда станет понятнее как разработчики смогут помочь..
Мега группа по переменным вообще, а не только по диаметру сферы)) По поводу корректировки не знаю, как там упорядочен код программы, но если всё очень организованно и красиво описано, то изменение работать будет. Вообщем одним словом: Не видел - не знаю!
Проблема в рекурсии когда объект сам на себя зациклен, проблема вообщем понятная, но если правильно расставить приоритет расчета то зацикливание будет только разовым с обязательным откатом в начальные значения чтобы расчеты не наслаивались суммированием. Создайте сферу у которой параметр (внешняя переменная) радиус равен например 5, затем создайте переменную прописав функцию MyRadius = Get("ИмяФрагмента", "ПараметрФрагмента") <- ковычки обязательны, после чего переменная с этой функцией отобразит её радиус, теперь необходимо сдвинуть сам фрагмент по оси X от самой переменной MyRadius. Возникнет ошибка рекурсии - зацикливания. Иногда даже думаю, на что её применить если такой метод не может на себя возложить.
Alex Ko написал: Создайте сферу у которой параметр (внешняя переменная) радиус равен например 5, затем создайте переменную прописав функцию MyRadius = Get("ИмяФрагмента", "ПараметрФрагмента") <- ковычки обязательны, после чего переменная с этой функцией отобразит её радиус, теперь необходимо сдвинуть сам фрагмент по оси X от самой переменной MyRadius. Возникнет ошибка рекурсии - зацикливания.Иногда даже думаю, на что её применить если такой метод не может на себя возложить.
Надо создать операцию копирования сферы с переносом и в преобразовании этой копии указать MyRadius. И тогда не будет рекурсии.
Вы великолепны))) А что мне делать с её оригиналом - прятать, создавая всё более сложный и громоздкий проект. Нее, это не выход, Корпорация T-Flex не будет себя позорить таким методом. Представьте на минуточку, как полезно изъять параметр у самого элемента и этим-же параметром им управлять, неужели фантазии не хватает, это-же гибкость и чудодейственная интуитивность самой системы. Неужели для этого надо создавать ПЕРЕМЕННУЮ
К примеру, вот сейчас, мне надо пруток с диаметром D=5, привязать к краю уголка. Что я делаю, выбираю начало прутка, её центр системой распознаётся как привязочный (подсвечивается квадратик), привязываю к краю, привязал, однако у этого прутка болтается её половинка окружности, ведь я привязал её центром, для этого мне надо определить её диаметр (желательно это сделать считывая параметр самого прутка, а не создавать переменную) и сместить в одном из направлении по расчету D/2. И когда, по разным тому обстоятельствам необходимо вдруг изменить диаметр прутка, то независимо от её диаметра этот пруток будет всегда находиться в нужном месте. Неужели для этого простого варианта, мне нужно применять разного рода хитрости, тонкости и фокусы, не говоря уже о секретах мастерства.
Alex Ko написал: Вы великолепны))) А что мне делать с её оригиналом - прятать, создавая всё более сложный и громоздкий проект. Нее, это не выход, Корпорация T-Flex не будет себя позорить таким методом. Представьте на минуточку, как полезно изъять параметр у самого элемента и этим-же параметром им управлять, неужели фантазии не хватает, это-же гибкость и чудодейственная интуитивность самой системы. Неужели для этого надо создавать ПЕРЕМЕННУЮ
ИМХО, а почему бы и не создать переменную? К примеру не переменную которая будет считываться с радиуса, а переменную которая управляет радиусом и смещением сферы. Альтернативный вариант на уровне фрагмента прописать смещение от радиуса при вставке. Зачем предлагать создать еще какой то инструмент, ценность которого пока понятна только одному, когда есть альтернативные решения той же задачи?
Alex Ko написал: К примеру, вот сейчас, мне надо пруток с диаметром D=5, привязать к краю уголка. Что я делаю, выбираю начало прутка, её центр системой распознаётся как привязочный (подсвечивается квадратик), привязываю к краю, привязал, однако у этого прутка болтается её половинка окружности, ведь я привязал её центром, для этого мне надо определить её диаметр (желательно это сделать считывая параметр самого прутка, а не создавать переменную) и сместить в одном из направлении по расчету D/2. И когда, по разным тому обстоятельствам необходимо вдруг изменить диаметр прутка, то независимо от её диаметра этот пруток будет всегда находиться в нужном месте. Неужели для этого простого варианта, мне нужно применять разного рода хитрости, тонкости и фокусы, не говоря уже о секретах мастерства.
Для этой задачи можно изменить или создать ЛСК в прутке и вставлять пруток по ней
zobza написал: Для этой задачи можно изменить или создать ЛСК в прутке и вставлять пруток по ней
Может вы не заметили, но когда производишь преобразование в плане смещения, вы автоматически попадаете на ЛКС она-же рекурсивно завязана на фрагмент, возникнет ошибочка.
Цитата
zobza написал: а почему бы и не создать переменную? К примеру не переменную которая будет считываться с радиуса, а переменную которая управляет радиусом и смещением сферы.
Возможно вы не попадали в ситуацию когда переменных и без того не мало, к тому-же проще ориентироваться ссылаясь на фрагменты, управляя их параметрами, задавая напрямую нежели искать в огромном списке переменных нужное тебе значение. Это конечно проблематика в удобстве использование системой CAD, на этом вообще-то ставят приоритет разработчики, и пусть разного рода трюки останутся в виде универсальности подходов, они полезны по своему, а здесь проблема всё-же напрашивается сама по себе, она реально нелепая, просит своего устранения.
Давайте ещё раз разберёмся, разработчики вы меня слышите! Спасибо. В заключении, всё как-бы нормально! Вообще-то, проблема в расстановки приоритетов - Выполнена! (Как уже видно) Вы наверно там 100 раз перестраховались, побоялись рекурсионую связь, но как видите расчет проходит, всё нормально, но ошибку сделали предупредительную, я вас понимаю, но доведите дело до конца, чтобы этой ошибки в таких элементарных вещах не возникало, а то лишний раз настораживаете, зачем кому-то такие неприятные переживания, пользуясь такой великолепной системой как T-Flex
Alex Ko написал: Может вы не заметили, но когда производишь преобразование в плане смещения, вы автоматически попадаете на ЛКС она-же рекурсивно завязана на фрагмент, возникнет ошибочка.
При такой вставке нет рекурсии, выложите пример что вы делаете или хотите получить.
Цитата
Alex Ko написал: Возможно вы не попадали в ситуацию когда переменных и без того не мало, к тому-же проще ориентироваться ссылаясь на фрагменты, управляя их параметрами, задавая напрямую нежели искать в огромном списке переменных нужное тебе значение. Это конечно проблематика в удобстве использование системой CAD, на этом вообще-то ставят приоритет разработчики, и пусть разного рода трюки останутся в виде универсальности подходов, они полезны по своему, а здесь проблема всё-же напрашивается сама по себе, она реально нелепая, просит своего устранения.
Когда переменных много их группируют, когда и группировка не помогает делают диалоги управления.
zobza написал: описываете последовательности действий специально приводящие к рекурсиям, при этом усердно игнорируете предлагаемые решения
без описания практической задачи - разработчики врядли возьмутся за реалиазацию чего-то абстрактного, тем более под угрозой сломать работающее: проверенно:)