Расскажу, как сделать выбор цвета изделия из заданного перечня, при этом цвет влияет на артикул, наименование и внешний вид семейства, а пользователю не нужно вручную менять материал. Пишу статью, потому что подписчики моего Телеграм-канала «Дневник Ревитчика» попросили подробнее расписать процедуру. Изначально идею описывал в посте на канале.
Описание задачи
Поясню задачу подробнее. Речь не о том, как назначить материал геометрии и как создать типоразмеры с разными материалами. Это очевидно и объяснять такое нет смысла. Речь о следующей ситуации:
- Есть какое-то изделие, у которого есть ограниченный набор стандартных цветов. Например, у внутрипольного конвектора бывает 4 варианта окраски решётки и окантовки. Или у шарового крана есть 5 вариантов цвета. В статье будет пример именно с краном.
- Цвет влияет как на внешний вид элемента, так и на его параметры, например артикул или наименование. То есть нужно менять и материал у геометрии, и значения в параметрах.
- Пользователь может выбирать из нескольких вариантов, нежелательно, чтобы он придумывал какие-то свои цвета.
Простая замена материала для решения задачи, конечно, подходит, но это неудобный вариант. Главная трудность в том, что мы не можем использовать материалы в формулах. Соответственно, нельзя вывести какие-то зависимости, чтобы пользователь менял материал, а потом менялся артикул. Или менял какой-то ещё параметр, а вслед за ним менялись материал и артикул.
Поэтому материал с параметром по экземпляру — плохое решение.
Проблему можно было бы решить типоразмерами, где каждый типоразмер относится к отдельному цвету и в каждом типоразмере настраиваем свой материал. Однако, это решение годится только в случаях, если у семейства ничего, кроме цвета не меняется, ну или меняется в очень малом диазоне.
Например, недавно делал внутрипольные конвекторы и трубчатые радиаторы. И в них, кроме цвета, меняется ещё и габарит изделия. У радиаторов было 18 вариантов высот и 4 цвета. Это уже 72 типоразмера. У конвектор 15 типов по ширине и высоте. Если цвет добавить, то тоже будет много десятков вариантов. Заставлять пользователя выбирать из такой кучи типов — дурной тон.
Поэтому материал с параметром по типу — плохое решение.
Хорошее решение
Диверсифицировать накопления и не хранить все деньги в одной валюте.
Если же речь про цвет изделий, то сейчас расскажу.
Какие у нас вводные? Надо дать пользователю выбрать из ограниченного списка вариантов, но при этом нужно менять и параметры, и внешний вид. Сюда напрашивается выпадающий список. У меня уже есть статья про них, здесь не буду подробно останавливаться на их создании. Выпадающий список даёт возможность управлять параметрами и ограничивает пользователя в выборе. Нужно только разобраться с геометрией.
Буду показывать на примере шарового крана, у которого меняется цвет рукоятки.
Пример
У меня есть отстроенная геометрия корпуса шарового крана. Нужно добавить к нему ручку-бабочку, которая может быть 5 разных цветов. При этом ручка зависит от диаметра крана, есть два варианта размера, побольше и поменьше.
Делаю семейство ручки отдельно. Параметризирую геометрию, чтобы менялась в зависимости от диаметра крана. В данном случае это просто две отдельные геометрии, которые скрываю или показываю в зависимости от диаметра крана. Создаю внутри семейства 5 типоразмеров для всех цветов, в параметр для материала, который красит геометрию, назначаю материалы разных цветов.
Ручка готова. Именно она и станет моим выпадающим семейством.
Ранее всегда создавал выпадающие списки с помощью семейств без геометрии. То есть мне нужен был только список, а остальное я уже обрабатывал формулами. Но с материалами формулы никак не работают, поэтому такой трюк не прокатит.
Но ведь параметр с выпадающим списком изначально и создавался для того, чтобы менять тип одного семейства в другом. Поэтому можно убить сразу двух зайцев — и геометрию менять, и выпадающий список создать. Вот так всё просто, хотя тут бывают нюансы, о них скажу отдельно.
Итак, я меняю категорию у семейства ручки на ту, которая не используется в основном семействе крана. Можно взять «Антураж» или ещё что-нибудь, возьму «Датчики». Главное, чтобы больше никаких семейств в этой категории в семействе крана не было. Иначе типоразмеры из разных семейств полезут в один список, нам это не нужно.
♦ — не трогайте этот знак, я забил его, ясно, да?
Теперь размещаю один любой типоразмер ручки в семействе, выровняю, привяжу к опорным плоскостям и свяжу параметры ручки с параметрами крана, у меня это диаметр условный и диаметр цилиндра, на котором сидит ручка.
Теперь выделяю ручку и назначаю ей метку — по сути это параметр с выпадающим списком.
Параметр делаю по экземпляру, чтобы пользователь мог выбирать нужный цвет у любого крана независимо. Отправляю в группу «Строительство», чтобы параметр был в верху окна «Свойств». То есть делаю пользователю удобно, забочусь о нём.
В семействе появляется параметр с выпадающим списком, где будут только мои варианты цвета. Именно поэтому нужно сделать категорию вложенного уникальной, чтобы никакие лишние типы не влезли в список.
Дальше создаю параметры с каждым вариантом цвета и числовой параметр, куда буду писать число, которое соответствует выбранному цвету. И вот уже это число буду использовать во всех формулах вроде наименования или артикула.
Больше крутых приёмов работы можете увидеть в моих курсах по разработке семейств.