Всем привет! Это мой первый пост на Пикабу, решил поделиться радостью от завершённого мини-проекта.
Всё началось летом 2021 года, когда, будучи в отпуске в Турции с семьёй, я колдовал за рабочим ноутбуком в Autodesk Inventor, который взял с собой, чтобы не заскучать на отдыхе (да, пару лет назад у меня была настолько замечательная работа, что я скучал без неё, а не во время...), и в этот момент я решил одним выстрелом сразить двух давно маячивших на горизонте зайцев, а именно — сделать систему хранения всякой мелочёвки в шкафу и освоить Autodesk iLogic — что-то типа простого и узкоспециализированного языка программирования, встроенного в CAD Autodesk Inventor и нужного для создания нестандартных правил для параметризации моделей. Я осознал, что мне позарез нужно много-много ящичков, где можно будет хранить много-много разных маленьких деталек, проводочков и приборчиков, поэтому система хранения необходима, но я не помнил точные размеры полки в шкафу (а основная идея была — использовать его максимально эффективно), не мог определиться с количеством ящичков в ней, и не знал, какой толщины материал мне понадобится, поэтому параметризация практически всех основных размеров также была неизбежна. Итак, поехали!
Сначала — немного теории. Если кто-то вдруг не знает — инженерные системы 3D-моделирования (помимо уже упомянутого Inventor это также DS Solidworks, Creo Parametric, CATIA, отечественный Компас-3D, бесплатный T-Flex и многие другие) довольно существенно отличаются от не-инженерных (всем известный 3DS Max, Maya, Blender) по парадигме использования, в частности — в них, как правило, очень развиты возможности так называемой "параметризации", когда программа самостоятельно меняет 3D-модель в зависимости от значений задаваемых пользователем управляемых параметров (например, в моём случае это, немного забегая вперёд, глубина, высота и ширина системы хранения, толщины материалов, количество полок и количество ящичков на полке и так далее). Для инженерных использований это очень удобно как возможностью создавать целые семейства стандартизированных конструкций при помощи всего одной модели и таблицы параметров (взять любой альбом типовых конструкций, например — все ключевые размеры указаны на эскизе буквенными обозначениями и указаны для семейства изделий в таблице), так и возможностью варьировать применяемыми материалами (например, модель делалась из расчёта толщины материала не менее 2мм, а в наличии был только трёхмиллиметровый лист — по прочности он лучше, но, чтобы изделие собралось, модель нужно адаптировать под него, и это CAD делает автоматически, достаточно лишь указать величину нужного параметра в таблице).
Пионером в сфере параметризации я бы назвал Creo Parametric (он же бывший Pro/E), но и у CAD'ов попроще, в частности, у Инвентора, в котором я эпизодически работаю уже больше 10 лет, возможности параметризации весьма развиты. В простейшем случае, Инвентор позволяет ссылаться на параметры силами своего собственного интерфейса и даже производить с ними ряд элементарных и не очень действий (все арифметические операции, например) при вычислении зависимых параметров. Более сложные вещи можно делать при помощи MS Excel, этого атланта мировой экономики, инженерии и управления, а именно — Инвентор может ссылаться (с небольшими ограничениями) на ячейки в листе Экселя, который будет делать все необходимые вычисления перед загрузкой значений в модель. Наконец, наиболее сложный (хотя, как сказать...) вариант — это написание сложных условий вычисления параметров в среде Инвентора iLogic, на похожем на Basic языке программирования.
Именно последний вариант я и решил выбрать для своего мини-проекта системы хранения в шкафу. Почему не Excel, спросите вы? Во-первых, я решил делать систему из пластика по возможности на бесклеевых соединениях "в шип", которые Инвентор "из коробки" делать не умеет, но которые очень удобны для соединения относительно толстостенных листовых деталей во всякие коробочки, мне хотелось сделать размер шипов более-менее постоянным для любых размеров детали (изменялось бы их количество И размер в зависимости от заданного "базового" размера) и при этом равным между собой, в Экселе это сделать можно, но не столь изящно (если делать в лоб — будет циклическая ссылка, размер шипов зависит от их количества, которое зависит от размера). Во-вторых, и это главное — в Экселе я это делать уже умел, хотелось освоить именно iLogic.
Сказано — сделано. Для начала я начеркал в скетчбуке пару набросков, чтобы лучше представить себе, как детали будут соединяться между собой и как примерно должны вычисляться их размеры:
Сразу извиняюсь за сумбур — это буквально запись потока сознания на бумагу, позже я тратил время на расшифровку собственной писанины...
Более-менее представив, как должны высчитываться основные размеры, я уже в уме выстроил систему наследования параметров в модели (в норме инвентор наследует параметры деталей в сборке, мне же показалось проще задать ключевые параметры в сборке самого высокого уровня и наследовать необходимые в соответствующих деталях) и начал моделировать, одновременно прописывая правила:
Даже не присылайте мне своё резюме, если в 3D-CAD'е вы работаете не так :D
Не буду описывать все шаги на этом пути, скажу лишь, что некоторые моменты получились хорошо не сразу, были и коллизии в модели из-за плохо проработанной логики обсчёта размеров, и моменты, когда модель "ломалась" при попытке изменения параметров, и просто мелкие доработки на поздних этапах — но, в итоге, я замоделировал и полку-кассетницу, и выдвижные коробочки-кассеты в них:
В ожидании изготовления деталей, от скуки я всегда их рендерю. На этом рендере, кстати, видна предыдущая итерация модели, где маленькие колёсики для облегчения выдвижения кассет расположены на них самих и спереди, и сзади. Позже я поменял идею и разместил только одну пару колёсиков сзади кассет, а одиночные колёсики установил на опорках, крепящихся в отверстия в днище кассетницы в передней части каждой ячейки.
Выглядит это в модели так (часть модели правее катка отсечена для удобства просмотра), при этом и колёсиков (в их качестве применил подшипники 8x4x3 с алиэкспресса) нужно на четверть меньше, и в работу все они включены вплоть до момента полного извлечения кассеты из ячейки.
После успешного завершения и проверки модели, оставалось дождаться поездки домой, где я, наконец, смог снять размеры ячейки своего шкафчика и, решив, что толщина "толстых" деталей (сама кассетница и передние и задние стенки кассет) будет равна 3мм, а "тонких" (остальные части кассет) — 2мм, обновил модель, создал комплект раскроек для резки лазером в формате DXF и через отца вышел на его знакомого (Николай Михайлович, если вы это читаете — спасибо вам огромное!), который оказался готов нарезать мне все детали и подсказал, где купить желаемый материал (я хотел сделать всё из оргстекла, то есть полиакрилата).
Далее следует очень долгий процесс компоновки деталей на заготовках, проверки и пересогласования, уточнения и изменения на уже готовых раскройках... Не буду описывать весь процесс, скажу лишь, что это был самый долгий этап во всём проекте, и длился он месяца три (если не считать время полного бездействия, когда я думать забыл об этом мини-проекте — а это период где-то с сентября 2021 по июль 2022). Переписка составила пару дюжин писем, и мы оба не всегда могли оперативно отвечать друг дружке по ряду причин, но, в итоге, оптимальный раскрой был готов и детали ушли в работу.
Прошло ещё несколько недель, и заветные детали, наконец, пришли ко мне в (почти) полном комплекте, и я смог приступить к сборке.
Сразу хочу сказать ещё одно спасибо упомянутому Николаю Михайловичу — он, как владелец ЧПУ-станка с лазером, знал об особенностях работы с пластиком, в частности, для шип-пазовых соединений.
Первый момент заключается в том, что купленные листы акрила изготавливались литьём и потому имели довольно значительное отклонение по толщине (до 0,15мм или 7.5% на 2мм листе и 0.25мм или больше 8% на 3мм). Такое отклонение в идеале нужно закладывать в модель изначально, чтобы CAD подготовил выкройки с учётом такого, весьма значительного, допуска. В нашем случае корректировать пришлось уже файлы выкроек, переработанные для станка ЧПУ (в формате Corel Draw), то есть на самом последнем этапе вообще. Даже несмотря на это, в паре мест пазы оказались узковаты, и, после установки в них деталей с шипами, пошли трещинами.
Второй момент — технологический: лазер, преимущественно, плавит пластик, а не сжигает его, поэтому по контурам деталей создаётся этакий бортик-наплыв, который на шипах нужно стачивать напильником или счищать лезвием перед установкой в паз, так как его толщина встроенными средствами Инвентора вообще не может быть учтена (но, подозреваю, её учёт есть в какой-нибудь надстройке для работы с ЧПУ-лазерами, или в Inventor Fusion, в конце концов — можно было бы написать соответствующее правило в том же iLogic), но её, на мой взгляд, её вообще не нужно учитывать, так как это отклонение от толщины носит очень локальный характер. При этом элементарный технологический момент (припуск на толщину луча) был учтён с самого начала построения выкроек.
Получив долгожданную коробку, я с нетерпением приступил к сборке. Собирал то кассетницу, то сами кассеты — смотря каких деталей руки больше смогли взять из коробки.
Из-за вышеописанных сложностей кассетница, как сборка из самых габаритных и толстостенных деталей, собралась не совсем идеально — в паре мест пазы растрескались из углов, в паре мест перегородки в пределах этажа становились косовато, ещё в паре мест боковая стенка не смогла из-за этого плотно "надеться" на шипы листов-перекрытий между уровнями. Несмотря на это, получившуюся кассетницу я счёл более, чем удовлетворительной.
Собрав, я понёс устанавливать её в ящик. Предварительно пришлось вытащить из него всё его содержимое как с полки, куда ставилась кассетника, так и с полки выше — нужно было снять саму полку, чтобы можно было завести кассетницу в шкаф под углом, иначе она не пролезала мимо двери шкафчика и дверной петли. Содержимое полок заняло поверхность пола всей комнаты... А ведь их объём использовался на тот момент далеко не эффективно!
Кассетница встала на своё место, и первые почти собранные кассеты уже заняли своё место в ней! Далее мне пришлось сделать паузу — во-первых, нужно было дождаться посылки с алиэкспресса с подшипниками, которые играют роль колёсиков, во-вторых, и это важнее, из-за СВО я потерял работу и вынужден был сменить город проживания, поэтому продолжать работу мог только по праздникам и отпускам, когда прилетал домой.
Из-за этого сборка оставшихся коробочек затянулась; дополнительно, пришлось потратить время на аккуратное извлечение рассортированных деталей из ранее собранных коробочек, их разборку, установку колёсиков и уже финальную сборку на клей.
Однако, даже несмотря на эти трудности, вчера мне удалось завершить этот долгострой, и вот он итог!
Результат полностью оправдал и даже превзошёл мои ожидания. Я очень жалею, что не могу показать фото того, как было "до", но, для понимания ситуации — приборы с полки ниже смогли переехать на неё с балкона, а самая верхняя полка была полностью отдана папкам с моими архивами и книгам благодаря массе освободившегося в шкафу места, а ведь из 36 коробочек полностью не заполнена даже половина! Это, кстати, и даёт ответ на вопрос — почему бы не использовать куда более дешёвые стандартные системы хранения? Дело именно в том, что их размеры не вполне соответствуют конкретной полке, а глубина каждой кассеты — в разы меньше, чем у моих, поэтому и эффекта от их применения тоже было бы куда меньше.
Ещё очень радует решение применять прозрачный пластик для передних панелей и ручек ящичков-кассет — благодаря этому (и группировке мелочёвки по ящикам) легко понять, что лежит в каждой секции и извлечь нужную кассету. Прозрачность междуэтажных перегородок кассетницы уже не так полезна, хотя видеть то, что лежит уровнем ниже извлечённой коробочки, тоже оказалось не вредным.
Наконец, бюджет проекта. Самой дорогой частью оказался пластик, пара больших листов качественного акрила обошлись мне летом-осенью 2022 примерно в 9 тысяч рублей. Ещё тысяч 5 я отдал за резку (это, впрочем, включает покупку дополнительного материала для частей, на которые не хватило пластика из-за невозможности использовать полностью оптимальную раскройку, ну и часть деталей была нужна для других моих мини-проектов). Получается очень недёшево, но я нисколько не жалею — такие траты я вполне могу себе позволить, плюс, с одной стороны, я закрыл гештальт использования iLogic и полностью параметрических сборок вот лично для себя, а с другой — теперь пространство в доме используется гораздо более эффективно.
Всем спасибо за чтение и всего хорошего!