REVIT LOOKUP TABLES #2. ПОИСК НЕСКОЛЬКИХ ПАРАМЕТРОВ. ОРГАНИЗАЦИЯ СТРУКТУРЫ ТАБЛИЦЫ

В первой статье про таблицы поиска (Revit lookup tables) мы с вами познакомились с основами и принципами работы функции size_lookup. Я не зря акцентирую внимание на «функции», потому как результатом работы является возвращаемое значение поиска по определенным условиям, а не результат магических заклинаний и плясок с бубном. Задача, по сравнению с отводом, усложняется и нам необходимо теперь контролировать не один входной параметр. Но что бы в результате получить именно те данные, которые нам нужны,  необходимо будет правильно организовать саму структуру таблицы. Итак, приступим.

Создаем таблицу для перехода

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

Lookup_Tables Reducer

Почему именно переход? У перехода, в отличие от отвода, имеются уже две величины, которые могут меняться независимо друг от друга. Эти величины есть ничто иное, как диаметры сварных труб. Для привязки к реальным значениям параметров воспользуемся муфтой переходной Valtec:

Очень хорошо, когда производители приводят чертежи своих деталей и оборудования, – нам это поможет соблюсти все заявленные габаритные размеры. Как видим, у нас имеются 2 диаметра и соответствующие значения параметров A, B и C. Я по привычке буду использовать всю доступную информацию, это маркировка и масса, вы же можете обойтись пока что без этого. Забегая немного вперед, могу сказать, что значения этих параметров пригодятся в спецификации. О том, как это можно будет сделать, я расскажу в следующей части. Сейчас же вернёмся к нашим каталожным данным – это столбцы с d1 по С.

Создадим скелет будущей таблицы поиска и начнём конечно же с первой строки, в которой пропишем столбцы данных. В моём варианте в Excel (с каталожным описанием и дополнительным столбцом массы) это выглядит так:

Lookup_Tables

В первой строке описана структура таблицы, а именно:

  • d1##length##millimeters – диаметр 1 в миллиметрах;
  • d2##length##millimeters – диаметр 2 в миллиметрах;
  • A##length##millimeters – параметр A в миллиметрах;
  • B##length##millimeters – параметр B в миллиметрах;
  • C##length##millimeters – параметр C в миллиметрах;
  • mass##OTHER## – параметр массы в граммах;

Параметр массы с описанием единиц ##OTHER## воспринимается как число по той причине, что в Revit в категории параметров «Общие» нет массы, найти её можно в других категориях, но сейчас не об этом.

Структура таблицы готова, теперь необходимо заполнить её соответствующими данными из каталога:

Lookup_Tables 02

В моём варианте представлена итоговая таблица, если вы заметили, в ней больше строк, чем в каталоге производителя. Я добавил дополнительные строки для дублирования каталожного номера. Сделано это для «отзеркаливания» построения геометрии. То есть: в каталоге есть переход с 25 на 20 и приведены соответствующие значения параметров для B и С. Но что если мы захотим переход не с 25 на 20, а наоборот? Можно было бы вводить дополнительные условия в семействе для определения наибольшего диаметра, а потом уже подставлять их в нужном порядке в size_lookup. Но по мне такой вариант лишь может внести лишнюю путаницу в восприятие, по этой причине я решил продублировать такие позиции с развёрнутыми значениями:

Таким образом, мы сделали таблицу универсальной – в любом направлении перехода значения для соответствующего диаметра будут правильными.

Не забываем сохранить нашу таблицу в формат CSV, то есть разделители данных запятые:

И не забываем провести финальную чистку перед загрузкой в семейство. По умолчанию, хотя Excel и пишет что разделителями буду запятые, на самом деле разделителями столбцов будут «;». Даже не смотря на то что Revit спокойно обрабатывает разделители и в виде «;» для столбцов, он не сможет отделить целую часть от дробной потому как в Excel используется «,» а программе Revit нужна «.».

Открываем в текстовом редакторе получившийся файл:

И производим замену наших разделителей (пользуемся инструментом «Правка»-«Заменить»): сначала заменяем «,» на «.», а потом «;» на «,». В итоге получаем рабочую таблицу:

Lookup_Tables 04

На этом первый этап завершен – рабочая таблица для семейства готова!

Создаем геометрию семейства перехода

Тут уже всё намного проще и легче, какой шаблон для нашего будущего семейства использовать решать вам – я по привычке пользуюсь «Метрическая система, типовая модель».

Задаём категорию нашего семейства – «Соединительные детали трубопроводов» и указываем тип детали «Переход».

Создаём опорные плоскости и расставляем размерные зависимости с привязкой к параметрам:

Familiy MEP

В данном случае я для себя выбрал оптимальный способ формирования объемной геометрии – вращение. Но дополнительно ввёл ещё 2 параметра для толщины стенки детали и выступ для границы трубы:

Familiy MEP 02

В итоге получаем параметрическое семейство с привязкой к параметрам: d1,d2,A,B и C как в каталоге нашего производителя.

Настройка семейства перехода с использованием функции size_lookup

Следующий шаг – это загрузка нашей таблицы в семейство:

Familiy MEP Lookup tables

Теперь необходимо создать текстовый параметр для нашей таблицы:

Familiy MEP Lookup tables 02

Ну и теперь самое волшебное – заставляем всё это работать!

Имеем наши параметры семейства:

Familiy MEP Lookup tables 03

Прописываем в параметр имени таблицы поиска (в моём случае это параметр «LT») имя нашей таблицы: «Reducer» (имя таблицы может быть произвольным, оно должно совпадать с нужным именем загруженных таблиц в семействе). И теперь прописываем для наших параметров A,B и C необходимые формулы поиска значений в нашей таблице:

Familiy MEP Lookup tables 04

На примере формулы для значения параметра А разберём функцию size_lookup

size_lookup (LT, “A”, 0 мм, d1, d2)

где:

LT – наш параметр с именем необходимой таблицы «Reducer»;

«A» – столбец, из которого мы получаем значение поиска;

0 мм – значение по умолчанию, если ничего не найдем. Я специально привёл значение в 0 для того что бы при построении возникала ошибка формирования типоразмера для семейства и пользователь понимал, что такой комбинации переходов не существует;

d1, d2 – это наши параметры, а точнее пара наших диаметров по комбинации значений которых и будет производиться поиск в таблице;

Если наглядно, то это выглядит именно так:

Familiy MEP Lookup tables_A

size_lookup(LT, “A”, 0 мм, d1, d2)

Именно для поиска по комбинации 2х параметров (пара наших диаметров d1 и d2), мы с вами НАЧИНАЯ СО ВТОРОГО СТОЛБЦА и создали необходимое количество комбинаций для поиска. Если нам необходимо производить поиск по одному значению или комбинации  2х и более значений, то необходимо НАЧИНАЯ СО ВТОРОГО СТОЛБЦА создавать эти комбинации. А уже после них в произвольном порядке следуют столбцы с информацией которую мы с вами хотим получить.

По такому же принципу вводим формулы для параметров В и С:

Familiy MEP Lookup tables_B

size_lookup(LT, “B”, 0 мм, d1, d2)

Familiy MEP Lookup tables_C

size_lookup(LT, “C”, 0 мм, d1, d2)

Настройка семейства перехода: коннекторы

Ну и финальные штрихи для нашего инженерного семейства – коннекторы. Размещаем коннекторы с привязкой диаметра к параметрам d1 и d2:

Revit MEP family connectors

Не забываем указать классификацию для систем у коннекторов «Фитинг» и проверить, что параметры d1 и d2 являются параметрами экземпляра. Связываем коннекторы и сохраняем семейство.

Достаточно теперь загрузить это семейство в проект к вашим трубам и проверить работоспособность:

bim2b Revit family

Краткий итог второй части обзора Lookup tables (таблиц поиска) Revit

На этом хотел бы подвести основные итоги 2 части полного обзора Lookup tables (таблиц поиска) Revit:

  • size_lookup – позволяет производить поиск по одному значению или комбинации 2х и более значений;
  • При создании таблицы поиска необходимо НАЧИНАЯ СО ВТОРОГО СТОЛБЦА описывать одну или более комбинацию значений поиска;
  • Значения для результатов поиска необходимо располагать ПОСЛЕ ВСЕХ СТОЛБЦОВ ПОИСКА;
  • Поиск по СТОЛБЦАМ ПОИСКА происходит в порядке перечисления их в size_lookup;

В следующей, заключительной  части, мы с вами рассмотрим способы работы с различными форматами данных, их приведении в формулах и кое-что ещё…

До новых встреч, следите за обновлениями на сайте BIM2B.

Дмитрий Талалаев, эксперт BIM2B.

Блог “Revit MEP Look: Все для инженера”