Начал писать статью два года назад, опубликовал только сейчас. Иду на рекорд!
«Объединение параметров», которое в 2017 версии появилось — супер-крутая штука, если её правильно приготовить:
В 2015 версии, например, для такой спецификации пришлось бы отдельные столбцы городить:
Хвала Автодеску, что они следят за нашими проблемами и оперативно их исправляют! </sarcasmmode>
А еще расскажу о том, для чего нужно вот это семейство в шаблоне (удивительно, но оно напрямую связано с сегодняшней темой):
Как всегда, добро пожаловать под кат.
Разделители
Казалось бы, инструмент бесхитростный — добавляй параметры, задавай префиксы/суффиксы и готово. Интерфейс вообще похож на объединение параметров в «Метке» в семействах марок. Но нюансов хватает!
Например, чем отличается «Разделитель» и «Суффикс»? Тут надо понять, что произойдет, если в семействе нет параметра, добавленного в «Объединенный параметр». В этом случае префикс и суффикс тоже отключатся:
В примере выше у прямоугольной колонны нет «Диаметра», поэтому и значок диаметра тоже не выводится, зато выводится текст «(h)». «Разделитель» же будет выведен в любом случае (хотя сложно придумать, где это понадобится).
Составная маркировка
Часто бывает так, что в «Наименование» надо вывести не фиксированный текст, а указать там какие-то характеристики. Вот на примере окон-дверей:
Первый пункт — 2 комбинации, второй — еще две, уже четыре; вариантов высоты может быть десяток (уже 40!), еще десять вариаций ширины (400!), еще и несколько вариантов исполнения. Как вывести такой текст? Испокон веков использовались либо таблицы типоразмеров, либо таблицы выбора, где в текстовый параметр прописывались все возможные комбинации. Но теперь нам в этом деле поможет объединенный параметр!
Но если в одну спецификацию надо выводить разнотипные элементы, уже получается сложно. Например, есть у вас пластина с параметрами «Наименование», «Рзм.Длина» и «Рзм.Ширина», и вы вывели их в объединенный параметр «Наименование». Вроде бы всё хорошо:
Но затем нарисовали балку, в которой тоже есть «Рзм.Длина», но в марку его выводить не требуется; поставили уголок — а у него размеры уже «Наименовании» записаны… Вот и закончилась вся красота:
Удалять из семейств параметры тоже нельзя — они где-то еще могут использоваться. Заранее продумать все эти комбинации трудоемко.
Што ж делать? Я ввел набор параметров специально для использования в объединенном параметре:
(с помощью дополнительных параметров можно решить любую проблему кроме слишком большого числа параметров!)
Добавляем их в «Объединенный»:
Мне хватает по 3 блока параметров, но можно и еще ввести. Затем в зависимости от семейства добавляем необходимые и завязываем формулами:
Вуаля! Без особого труда свел в одной спецификации и арматуру, и окна, и насосы. При этом достаточно лишь помнить, в каком порядке склеиваются параметры — например, «Число1» в разных семействах спокойно может означать разные характеристики. В результате можно удобно, как в конструкторе, выводить практически любой сложный текст, не беспокоясь о числе возможных его комбинаций. Ссылка на файлик.
Расчетный параметр в составе «объединенного»
А тут вот особенно ничего и не расскажешь. В объединенный параметр можно выводить только параметры проекта и общие параметры семейств, расчетные параметры не добавить. Придется либо вычислять их внутри семейств, либо как в старые добрые времена — выводить отдельным столбцом. Например, так сделано в спецификации арматуры, где арматура — системное семейство и «Длина» вычисляется в самом проекте, а не в семействе, но при этом для арматуры в погонных метрах отключение текста сделано расчетным параметром. Снова отдельные столбцы:
Округление и единицы измерения
Ожидаемо, что для объединенного параметра нельзя задать «Форматирование» — всё-таки в него может и текст, и числа входить. Что же делать, если надо поменять единицы измерения или округление?
А всего-то нужно добавить параметры, входящие в «Объединенный параметр», как отдельные поля. После этого, если поменять «Форматирование» для этого параметра — так же изменится и значение в «Объединенном». Чудеса!
Сортировка
Большим разочарованием для меня стало то, что по объединенному параметру нельзя задавать сортировку (да и фильтр тоже). Приходится опять же добавлять параметры как отдельные поля и сортировать по ним:
Более того, объединенный параметр интересно себя ведет, когда что-то ломается в сортировке. Если в одной строке оказались элементы с разными значениями параметра — в «объединенном» они просто отключатся.
Бывает и более сложная ситуация. Вот есть у меня два одинаковых стержня, один сделан системной арматурой ( неё есть параметр «Диаметр стержня»), другой — IFC-семейством («Рзм.Диаметр»). Добавляю два этих параметра в «Объединенный». Пока элементы не объединены в одну строку — всё выглядит хорошо, но включаю группировку, и что вижу? Ничего!
В случае, если в одной строке оказались несколько элементов, «Объединенный параметр» сработает только тогда, когда параметр есть и одинаков у всех элементов в этой строке. У меня же у системной арматуры нет «Рзм.Диаметра», у IFC — наоборот. Вот и получили пустое поле! Именно по этой причине мне пришлось продублировать «Диаметр стержня» в «Рзм.Диаметр» для системной арматуры:
Напоминаю, что если не хватает полей для сортировки — можно пользоваться дедушкиным способом с сортировкой по расчетному параметру.
Текст в две строки
В шаблоне Weandrevit вы могли заметить такую штуку — металлопрокат в спецификацию закладных деталей выводится в две строки, с указанием марки стали во второй строке. Как это сделано?
Очень просто — нужно вставить символ переноса строки в «Префикс» для параметров, которые должны быть перенесены во вторую строку. Если кто-то не знал, при нажатии Enter в текстовом редакторе вставляется специальный символ, который не выводится на печать, но указывает программе, что здесь начинается новый абзац (эти же символы видно в Word, если включить режим «Показать непечатаемые символы»). Откуда взять этот «символ»? Я обычно просто запускаю Блокнот, нажимаю Enter, через Ctrl+A выделяю всё и копирую, а затем вставляю в «Префикс» нужного параметра:
В спецификации покажется, что вторая строка вообще пропала, но на листе всё будет нормально!
Почему именно в префикс? Да потому, что (как мы уже знаем) префикс отключается, если параметра нет в семействе. Поэтому вторая строка появится только для семейств, где есть соответствующий параметр.
Танцами с бубном можно даже сделать верхнюю строку с подчеркиванием, но вместо этого можно воспользоваться пунктом К.1 в ГОСТ Р 21.1101-2013:
> В спецификации, выполненной в электронном виде, горизонтальную черту, входящую в обозначение материалов (проката, труб и т.п.), допускается заменять на косую черту (/);
Поэтому в префикс поставим сначала символ «/», а затем скопированный символ переноса строки. Тогда, если в семействе появится этот параметр — автоматически и добавится вторая строка, и символ наклонной черты:
Проблемы с исчезновением параметра
Вы можете столкнуться с таким. В спецификации всё вроде бы нормально, заходите и делаете любое действие (фильтр включаете, например), нажимаете Ок, и столбец с параметром удаляется. Фильтр, за що ты так с нами?
Не трогайте фильтр, он не виноват! Ломается от любого изменения, просто чаще всего меняем именно фильтр. А спецификация была сломана еще задолго до этого, просто каким-то чудом продолжает работать. А параметр удаляется совсем, и способа вернуть его обратно я не нашел. Что за хоррор-истории?!
Для работы объединенного параметра нужно, чтобы каждый из параметров, входящих в «Объединенный», хоть где-то присутствовал в проекте. Например, у вас в проекте были семейства листовой стали с параметром Рзм.Толщина, и вы добавили этот параметр в «Объединенный». Но потом удалили эти семейства за ненадобностью (из «Диспетчера проекта» или через «Удалить неиспользуемые»). Со спецификациями всё будет в порядке, но как только попытаете в них что-то изменить — столбец полностью удалится! Наш случай. То же случится, если скопировать спецификацию в новый файл, где не загружены подходящие семейства — столбец тоже исчезнет.
Чтобы защититься от такой беды, я сделал фиктивное семейство, содержащее в себе параметры из моего файла общих параметров, и держу его загруженным в проекте — тогда с объединенным параметром точно всё будет в порядке:
То же и при копировании спецификаций — сначала загружаем семейство «Определения параметров» (его даже в модели размещать не надо), а потом копировать спецификации. А «Очисткой неиспользуемых» надо пользоваться аккуратно и не очищать всё подряд — так можно легко весь проект испортить.
На этом сегодня всё! Вот опять: казалось бы, простая тема, а в результате наклепал целую диссертацию. Ну, надеюсь, пригодится. Всем хорошего дня!