НЕ МОГУ МОЛЧАТЬ!!! (Л. Н. Толстой) "А мужики-то не знают!" (А.Семчев. Из рекламы пива "Три толстяка".
Недавно наткнулся случайно на одну вещь и обалдел, если не сказать крепче. Но я уважаю посетителей форума и за нецензурщину, по последним законом, можно схлопотать.
Уже оказывается давно есть в Базисе одна фишка. Ее сделали, а в пресс-релизах обновлений забыли отметить. А она оч-ч-ч-ч-ень зрелищная и полезная.
Так вот! Есть у нас тумбочка с дверью и выдвижным ящиком. Выделяем дверь и ручку на ней. Петли не выделяем!!! Создать блок. В появившемся окне задания имени блока есть поле Тип блока (для модуля Салон). Я думал это заготовка на будущее для Салона8. Но установите тип Дверь левая (или правая). Автоматически появляется галочка в поле Блок для салона. Нажмите Ок.
Выделите все элементы входящие в ящик. Нажмите Создать блок. Тип блока укажите Ящик. Снимите выделение. Внешне ничего не изменилось. Станьте на ящик курсором и нажмите среднюю кнопку мыши (колесико). Ящик ВЫДВИГАЕТСЯ!!! Станьте на дверь и нажмите среднюю кнопку мыши. Дверь ОТКРЫВАЕТСЯ!!! Еще раз нажмите. Дверь ЗАКРЫВАЕТСЯ!!! Ящик ЗАДВИГАЕТСЯ!!! Есть анимация в Базисе!!!
Но и это еще не все!
Если выделить одну(!) панель, то по ее краям выделяются 8 точек. За них панель можно увеличивать/уменьшать и т.д. Если выделить такой блок для салона, например ящик, то появляется всего две точки. Если взять на виде слева, щелкнуть по правой точке и передвинуть ее вправо, то при щелкани по ящику средней кнопкой мыши он выдвинется от начальной к конечной точке. Т.е. можно делать ящики полного выдвижения и т.д. По сути эти две точки задают вектор, вдоль которого будет выдвигаться ящик и на какую длину. Этот вектор может быть направлен в пространстве как угодно. Ящик тогда будет выдвигаться по «дикому» направлению.
Для открывающейся двери то же есть две точки. Это ось, вдоль которой будет поворачиваться дверь. Если поиздеваться, то угловую радиусную дверь можно отрыть вверх или под углом 30 градусов к вертикали.
Двери купе тоже могут двигаться. Двери открываться влево (дверь левая), вправо (дверь правая), вверх (дверь подъемная), вниз (дверь откидная).
Ну как в какую. По координатным осям если (+) то вправо, вверх, на себя.
Если (-) соотв. влево, вниз, от себя.
Со знаками - понятно, проблем нет. Вопрос по-прежнему остается - хоть с плюсом, хоть с минусом, но куда сдвигать фасад?
Вот есть у нас фасад. Панельный, рамочный - не важно. "Висит" в космосе, в 3D пространстве. Есть система координат - XYZ. Каждая точка этого фасада имеет свои точные координаты и эти координаты известны - (X1, Y1, Z1). ОК. Куда должен сдвинуться этот фасад? Программа с удовольствием сдвинет фасад, но куда? Откуда программа получит новые координаты (X2, Y2, Z2)?
Цитата:
Сообщение от nayrogi
В конце концов БЧПУ ведь работает? Там ведь примерно та-же идеология.
Для "головы" команды смещения ведь задаются?
В БАЗИС-ЧПУ есть база - габариты обрабатываемой панели, и от них задаются координаты отверстий, пазов и т.д.
Точка+вектор - понятно. Точка - без проблем, но третий раз: КУДА должен быть направлен вектор перемещения в МСК? Речь, напоминаю, идет по-прежнему о направлении сдвига фасада при анимации. Вопрос: ОТКУДА программа узнает про это направление?
Дмитрий, вектор - это ось Z, для данного, конкретного фасада (блока).
При чем тут перемещение?
И, второе...
Что значит "ОТКУДА программа узнает про это направление"??
Конечно от пользователя. Или программа "сама рисует, сама сдвигает"?
Цитата:
Сообщение от DTioutiou
Со знаками - понятно, проблем нет. Вопрос по-прежнему остается - хоть с плюсом, хоть с минусом, но куда сдвигать фасад?
Если однозначно определена система координат для фасада или блока, то выбрать направление сдвига (если уж вы на нем зациклились) должен сам пользователь.
Ось Х, Y, Z... Какая разница?
Цитата:
Сообщение от DTioutiou
Вот есть у нас фасад. Панельный, рамочный - не важно. "Висит" в космосе, в 3D пространстве. Есть система координат - XYZ. Каждая точка этого фасада имеет свои точные координаты и эти координаты известны - (X1, Y1, Z1). ОК. Куда должен сдвинуться этот фасад? Программа с удовольствием сдвинет фасад, но куда? Откуда программа получит новые координаты (X2, Y2, Z2)?
И еще раз: конечно от пользователя!)
направление (вектор, траектория) и расстояние..
О, это уже теплее. Т.е. пользователь сам задает направление перемещения для каждого фасада. Я правильно Вас понял?
У каждого открывающегося фасада есть петли, либо аналогичные механизмы.
Что однозначно задает ось вращения, смещение и диапазон движения.
Если Вы хотите распространить вашу технологию на другие обьекты (поворотные механизмы под ТВ, раскладные кровати, сдвигающиеся модули мебели), то ДА. В каждом конкретном случае пользователь может задать "пользовательскую систему координат" (ПСК) для произвольного блока\сборки и произвольно решать что именно и куда смещается\поворачивается\подпрыгивает\скачет..
У каждого открывающегося фасада есть петли, либо аналогичные механизмы.
Что однозначно задает ось вращения, смещение и диапазон движения.
Ни разу не задает. Анимация открывания и смещения фасадов НЕ зависит ни от наличия петель, ни от их отсутствия. Попробуйте сами - убедитесь.
Цитата:
Сообщение от sborchik
Если Вы хотите распространить вашу технологию на другие обьекты (поворотные механизмы под ТВ, раскладные кровати, сдвигающиеся модули мебели), то ДА. В каждом конкретном случае пользователь может задать "пользовательскую систему координат" (ПСК) для произвольного блока\сборки и произвольно решать что именно и куда смещается\поворачивается\подпрыгивает\скачет..
Очень хорошо. Тогда идем дальше: что именно Вы понимаете под "пользовательской системой координат" (ПСК)? Что это за система координат? Это некая система координат, которая привязана к каждому фасаду? У каждого фасада - своя система координат? Я правильно Вас понял?
Ни разу не задает. Анимация открывания и смещения фасадов НЕ зависит ни от наличия петель, ни от их отсутствия. Попробуйте сами - убедитесь.
Это у Вас в программе не зависит.
Я говорю про реальный фасад.
Установите открывающийся фасад без петель (механизмов) на реальный шкаф..
Не, я не имею в виду магнитные поля, электромагниты
Цитата:
Сообщение от DTioutiou
Очень хорошо. Тогда идем дальше: что именно Вы понимаете под "пользовательской системой координат" (ПСК)? Что это за система координат? Это некая система координат, которая привязана к каждому фасаду? У каждого фасада - своя система координат? Я правильно Вас понял?
Абсолютно верно.
Пользовательская - это определенная пользователем.
Может быть у каждого фасада своя, может быть у группы обьектов.
Как правило - это временная СК.
Это некая система координат, которая привязана к каждому фасаду? У каждого фасада - своя система координат?
Да, именно так. По умолчанию ЛСК для всех объектов находится в одной точке.
Но если выделить конкретный объект (например фасад), то с помощью команды, например , "правка осей объекта" можно установить ЛСК для этого объекта в нужную нам точку.
Примерно как на видео ниже. (там я на примере поворота относительно ЛСК показал (так нагляднее), но по сдвигу то-же самое)
Это у Вас в программе не зависит.
Я говорю про реальный фасад.
Здесь речь идет про анимацию на модели. И конкретно - про то, как задать направление смещения фасада на модели, начиная с сообщения #588. Так ведь? И тогда продолжаем:
Цитата:
Сообщение от sborchik
Цитата:
Очень хорошо. Тогда идем дальше: что именно Вы понимаете под "пользовательской системой координат" (ПСК)? Что это за система координат? Это некая система координат, которая привязана к каждому фасаду? У каждого фасада - своя система координат? Я правильно Вас понял?
Абсолютно верно.
Пользовательская - это определенная пользователем.
Может быть у каждого фасада своя, может быть у группы обьектов.
Правильно. Именно так оно и есть. Абсолютно точно пишете. И теперь сравните это с Вашим же сообщением #591 (http://promebelclub.ru/forum/showpos...&postcount=591), где Вы писали про мировую (глобальную) систему координат - что задача определения направления перемещения решается с ее помощью.
И вот сейчас Вы абсолютно правы: мировая/глобальная система координат данную задачу решить не может, а задача решается системой координат, привязанной к фасаду и только фасаду. Но никак не мировой. Именно это я Вам пытался объяснить, начиная с #592 (http://promebelclub.ru/forum/showpos...&postcount=592) и далее, и именно это Вы сейчас подтвердили сами.
Надеюсь, что с той Вашей идеей МСК (в данном аспекте, разумеется) мы теперь закончили? Проблем нет? Можно идти дальше?
Дмитрий, вот видео подсказывающее по какому пути пошел Солид в анимации.
1) ставлю на шкале время ограничения шага (ромбики снизу на шкале видно).
2) произвожу действие какое либо с деталью
3) ставлю опять метку на шкале
4) произвожу действие и т.д.
Программа помнит мои действия и растягивает их по таймеру. Сохраняет в AVI. Для записи этого видео я воспользовался сторонней прогой. Солид пишет более качественно, но только окно с деталями, а не весь экран. Тем не менее анимация у него записывается в модель и потом может быть воспроизведена. Воспроизводится не видео, а движение самих деталей. Видео, это для передачи клиенту, к примеру.
То бишь, если я создам анимацию петли, то потом установив ее на дверь, смогу воспроизвести анимацию и самой двери. Ну теоретически? Я не очень разбираюсь в системах координат Базиса, но вижу, что это сделано в другой компании. Как? Вам виднее. Может расколете Солид? Было бы круто. Кстати в исследовании движения там и пружина есть, вертящаяся даже, а не только прямая, двигатель... Но это уже нам не надо в мебели. Нам бы двигалось что бы по траектории.
Поставил таймер, записал, сдвинул таймер, записал, сдвинул таймер, записал. Деталь движется по траектории. Задача решена? Условно конечно. Ее еще решать и решать, если возьметесь. Вы в этом понимаете.