3D расстановка

Предыдущая страницаВ началоСледующая страница

В T-FLEX CAD существует дополнительный механизм привязки 3D фрагментов – 3D расстановка. Он позволяет быстро создавать расстановки в 3D сцене, используя специальные крепления к полу, стенам, потолку, горизонтальным поверхностям. Крепления определяются посредством коннекторов со специальными параметрами.

3DLayout1

Крепления 3D расстановки

Крепление 3D расстановки – это ЛСК-коннектор, содержащая значение со специальным именем типа: <prefix>_<type>.

213DLayout2

Часть <prefix> определяет к какому типу крепления принадлежит данная ЛСК.

<prefix> может принимать одно из следующих значений:

SOURCE (SOURCE_<type>) – исходное крепление. Такой тип крепления задаётся для объектов, которые будут перемещаться в сцене (например, элементы мебели);

TARGET (TARGET_<type>) –целевое крепление. Такой тип крепления задаётся для объектов, задающих плоскости привязки (например, стена или пол) или крепежи.

Часть <type> определяет, с каким типом коннекторов будет взаимодействовать данная ЛСК. Допустимые варианты <type> зависят от варианта привязки.

Имеется два возможных варианта привязки: ЛСК-плоская грань и ЛСК-ЛСК.

ЛСК-плоская грань – фрагмент с коннектором типа SOURCE_<type> будет перемещаться в плоскости объекта с коннектором типа TARGET_<type> при условии, что задан одинаковый <type>.

3DLayout3

Диван перемещается в плоскости пола

ЛСК-ЛСК – коннектор с креплением SOURCE_ <type> будет совмещён с одним из созданных в сборке коннекторов типа TARGET_<type>, при условии, что задан одинаковый <type>.

3DLayout4

Шкаф привязан к одному из креплений типа ЛСК-ЛСК

Варианты привязки подробнее описаны ниже.

Один коннектор может содержать сразу несколько значений формата <prefix>_<type>, задавая сразу несколько креплений для 3D расстановки.

Крепление SOURCE_<type> будет привязываться к креплению TARGET_<type> по правилам 3D расстановки, только если оно определено в документе объекта 3D расстановки. Крепление TARGET_<type> может быть задано на основе любого коннектора текущего документа.

Правила привязки

Объекты 3D расстановки могут привязываться по двум правилам ЛСК-плоская грань и ЛСК-ЛСК.

Правило привязки ЛСК–плоская грань

Существует следующие типы привязок ЛСК–плоская грань: <type> = {WALL, FLOOR, TABLE, CEILING} Ниже приведены соответствующие им пары исходных и целевых креплений:

SOURCE_WALL

TARGET_WALL

SOURCE_FLOUR

TARGET_FLOUR

SOURCE_TABLE

TARGET_TABLE

SOURCE_CEILING

TARGET_CEILING

Для задания привязки ЛСК–плоская грань необходимо определить плоскость привязки и набор ассоциированных граней коннектора, содержащего целевое крепление.

Ассоциированные грани для креплений подсвечиваются жёлтым цветом.

Плоскость привязки задается положением ЛСК целевого крепления и направлением её осей. Для привязки типа WALL ось привязки - это ось X ЛСК целевого крепления. Для привязок типа FLOOR, TABLE и CEILING, ось привязки – это ось Z ЛСК целевого крепления. При этом ассоциированные грани коннектора должны лежать в плоскости привязки.

Грань вне плоскости привязки не будет учитываться в режиме расстановки

Для корректной работы необходимо чтобы:

оси Z всех креплений внутри фрагмента 3D расстановки должны быть сонаправлены (при вставке, объект расстановки ориентируется по глобальной оси Z);

оси Z всех остальных креплений должны быть сонаправлены с глобальной осью Z;

В документе фрагмента для 3D расстановки исходное крепление каждого отдельно взятого типа SOURCE_<type> должно быть в единственном экземпляре.

Пример создания крепления типа Target

Для объекта «Пол» была создана ЛСК. Её ось Z сонаправлена с осью Z глобальной системы координат. В параметрах ЛСК указано, что она является коннектором.

213DLayout5 213DLayout1S

Для коннектора задана привязка целевого крепления - TARGET_FLOOR. Положение центра ЛСК и направление оси Z задают плоскость, в которой будет перемещаться вставляемый фрагмент с привязкой SOURCE_FLOOR.

Выбрана ассоциированная грань, лежащая в плоскости привязки. Грань подсвечена жёлтым.

При вставке фрагмента в сборку система, проанализировав список коннектор типа «SOURCE» в документе фрагмента, сама подбирает в сборке возможные варианты привязки. «Стыковаться» могут только пары коннекторов со значениями одинакового типа, например SOURCE_WALL и TARGET_WALL.

Исходный объект (3D фрагмент) будет перемещен в пространстве таким образом, что оси ЛСК исходного и целевого креплений совпадут, а центр ЛСК исходного крепления будет лежать в плоскости привязки.

Если ассоциативная грань не задана, фрагмент будет перемещён так, чтобы оси ЛСК исходного и целевого креплений совпали, а центр ЛСК исходного крепления лежал в плоскости привязки.

Правило привязки ЛСК–ЛСК

При использовании привязки по правилу ЛСК–ЛСК <type> может быть любым выражением за исключением ключевых выражений, задающих типы привязок ЛСК–плоская грань. Например, SOURCE_LEFT, SOURCE_RIGHT, SOURCE_ONE.

Имена коннекторов могут повторяться. Таким образом создаётся набор крепежей, с которыми будет связан крепёж добавляемого фрагмента.

Объект с исходным креплением будет трансформирован таким образом, что ЛСК исходного и целевого креплений совпадут.

Если для крепления заданы ассоциированные элементы, то при наведении курсора мыши на них, это крепление выбирается автоматически.

Создание крепления типа source

Для создания крепления необходимо выполнить следующую последовательность действий:

1.Создать новую ЛСК. Направление её оси Z должно совпадать с направлением оси Z глобальной системы координат. На вкладке Система координат указать тип Коннектор и включить опцию Для привязки фрагмента. На вкладке Значения коннектора нужно задать имя коннектора по описанным выше правилам. В данном случае задано имя SOURCE_FLOOR, т.к. для стула создаётся исходное крепление. Для всех креплений Выражение задаётся значением «1».

213DLayout6

2. Для привязки фрагмента с помощью механизма 3D расстановки, необходимо, чтобы в параметрах 3D фрагмента был установлен Способ вставки фрагмента – 3D расстановка. Для этого в файле фрагмента необходимо зайти в команду Задать параметры документа на вкладку Фрагмент 3D.

3DLayout9

Добавление элемента расстановки

Добавление фрагмента в расстановку осуществляется командой

Пиктограмма

Лента

3DFragment2

3D Модель > Расширенные > 3D фрагмент

Сборка > Сборка > 3D фрагмент

Клавиатура

Текстовое меню

<3F>

Операции > 3D фрагмент

Если в выбранном фрагменте задан способ вставки 3D расстановка, то запускается команда Расстановка.

Для привязки фрагментов в их исходных файлах должны быть созданы исходные крепления расстановки (SOURCE_<type>). В сборке должны присутствовать целевые крепления (TARGET_<type>). Они могут быть созданы напрямую в документе сборки, либо быть «подняты» с уже присутствующих в сборке 3D фрагментов.

При вставке 3D фрагментов в режиме 3D расстановки выполняется проверка пересечения тел для обеспечения корректности расстановки элементов.

3DLayout10

Перемещение и поворот фрагмента осуществляется с помощью специального манипулятора, степени свободы которого зависят от типа привязки. Объект 3D расстановки с заданной одиночной привязкой ЛСК–Плоская грань можно поворачивать вокруг оси привязки. Для поворота можно использовать манипулятор.

213DLayout2S

Фрагмент можно свободно перемещать вдоль плоскости привязки, щёлкнув по нему mouse left . Фрагмент будет перемещаться за курсором, с учётом установленных правил привязки.

3DLayout12

Чтобы активировать режим расстановки для присутствующего в сцене фрагмента, необходимо войти в режим его редактирования. Для этого нужно выбрать пункт Изменить в контекстном меню фрагмента.

213DLayout13

Параметры 3D расстановки

После нажатия кнопки Изменить, появляется окно параметров команды 3D Расстановка.

Закладка Объекты

В сборке можно задать преобразования сразу для нескольких фрагментов, не выходя из режима 3D расстановки. Выбранные в сцене фрагменты добавляются в список Объекты в окне параметров. Последний фрагмент, для которого было задано преобразование, выделяется в списке зелёным цветом.

213DLayout14

Добавленные в список фрагменты можно выбрать повторно и продолжить их преобразование.

Все преобразования фрагментов, выполненные в режиме расстановки, запоминаются последовательно.

При нажатии mouse right отменяется последнее выполненное преобразование.

Для удаления фрагмента из списка и отмены всех внесённых для него изменений используется кнопка SplineDelete.

Закладка 3D расстановка

В списке 3D расстановка в окне параметров отображается набор доступных привязок ЛСК–Плоская грань. Они могут быть одиночными (например, Пол, Стена) и двойными (Стена–Пол).

213DLayout15

Учитывать границы привязки. Данный параметр позволяет учитывать плоскости объекта привязки. Таким образом перемещение фрагмента за границы целевого объекта будет невозможно. Например, перемещение стола по комнате будет ограничено площадью пола.

При выключенном флажке фрагмент может перемещаться неограниченно в плоскости привязки.

Учитывать пересечения. При включённой опции тела не могут пересекаться друг с другом.

Порог стыковки 3D фрагментов. Данный параметр задаёт расстояние, на котором должны подхватываться неявные привязки типа ЛСК–ЛСК.

Опции автоменю

В автоменю команды имеются опции для работы с фрагментами.

Опция Применить изменения 213DLayoutApplyChanges появляется, если хотя бы один фрагмент был перемещён.

Опция позволяет принять все внесённые изменения для всех фрагментов в списке Объекты без выхода из команды. При этом в списке останется текущий выбранный фрагмент.

Опция LCSPlaneX позволяет изменить положение манипулятора фрагмента. По умолчанию манипулятор расположен в центре описывающего фрагмент параллелепипеда LCSPlaneX. Если переключиться в режим LCSonOperation, то манипулятор будет расположен в соответствии с положением ЛСК фрагмента.

При включённой опции AutoUpdate фрагмент будет автоматически обновлён при изменении его переменных.

Позиционирование объектов 3D Расстановки

Одиночные привязки ЛСК–Плоская грань задаются параметрами коннектора в документе 3D фрагмента.

Процедура вставки объекта 3D расстановки формирует двойные привязки из всевозможных пар одиночных привязок, удовлетворяющих условию: двойные привязки могут быть только WALL–FLOOR (Стена–Пол), WALL–TABLE (Стена–Стол) и CEILING-WALL (Потолок-Стена).

При позиционировании объекта по одиночной привязке ЛСК–Плоская грань, необходимо навести курсор мыши на ассоциированную грань целевого крепления нужного типа.

213DLayout3S

При позиционировании объекта по двойной привязке необходимо навести курсор мыши на ассоциированную грань целевого крепления типа WALL.

Наличие целевой привязки FLOOR либо TABLE определяет процедура позиционирования. Если вторая привязка отсутствует, то объект не будет позиционироваться по двойной привязке.

Привязки по правилу ЛСК–ЛСК отображаются в сцене только тогда, когда не используются привязки по правилу ЛСК–Плоская грань (для вставляемого фрагмента в списке Привязки выбран вариант Без привязки). В этом случае все возможные целевые крепления по правилу ЛСК–ЛСК обозначаются в сцене зелёной сферой. При выборе одной из них установится связь между исходным и целевым креплениями.

3DLayout17

Привязки по правилу ЛСК–ЛСК могут использоваться неявно при привязке фрагмента по правилу ЛСК–Плоская грань. В процессе движения фрагмента по 3D сцене система может автоматически «подхватить» привязку ЛСК–ЛСК.

Если между двумя фрагментами задана привязка ЛСК-ЛСК, то при перемещении объекта со значением коннектора TARGET_<Type>, зависимый фрагмент будет перемещаться вместе с ним.

См. также:

Планировка. Связь между 2D и 3D фрагментами