Comments 59
Eсть же программа pro100 - которая и для частника (сам делал в ней мебель на всю квартиру) и для небольших фирм ок...
Наверное, проблема во мне) я эту программу пробовал много лет назад, тогда не зашло
PRO100 сейчас не продается на территории РФ, а цена вроде как была от 20К руб./мес. или от 60К руб. до 130К руб. за лицензию. Демо-версия не позволяет печатать/сохранять проекты если что.
Работал раньше с ней (4 и 5 версия) лет пять назад. Для эскизов — самое то, быстро/красиво. Но вот напрямую в производство/раскрой выхлоп из этой программы (или, не дай Бог, чужие проекты) без проверки с калькулятором и карандашом я никогда бы не отправил.
ниужели в ней столько багов?
Дело не в багах, а в прокладке между монитором и креслом (при мне увольняли конструктора, который доверял всему, что эта программа выдавала по его же кривым проектам). Сама программа (я про 4 или 5 версию, т.к. с 6 не работал) рассчитана на то, что проекты может составлять любой без особой подготовки просто «тяхая мЫшей» при подгонке деталей.
Отсюда самые частые косяки — деталь меньше (недотянули) или больше (перетянули, при неправильном пересечении деталей их размер можно сделать каким угодно), еще возможны варианты с неправильной толщиной (18мм вместо 16) и неправильной ориентацией (рисунка) ламината.
Самый злостный косяк, который я встречал, когда из этой программы отправили размеры фасадов на производство в другой город без учета зазоров и пр. Если корпуса еще в собственном цехе могут перепроверить перед раскроем и переделают, то фасады приедут ровно такие, какие заказывали :) А тут проблема такая — один неправильный фасад → перезаказывай весь комплект, т.к. даже мизерное отличие в тоне будет резать глаз заказчику.
Плюсом ко всему никакого учета кромок, фасок и пазов в тех версиях не было.
Но повторюсь, для салонов/дизайнеров (где точность ±50мм простительна и нужна просто красивая картинка без лишних сложностей) эта программа лучше, чем более тяжеловесные аналоги. Хотя лично я, будучи конструктором, ее использовал чисто для эскизов, а деталировку для карт кроя считал вручную или в Exel с последующей перегонкой в Cutting2 (ну это когда на Базис-Мебельщик контора еще не разорилась).
Дополню еще немного о том, почему мне удобней делать все это кодом. Потому, что когда я начинаю проектировать, я не всегда знаю заранее, что должно быть на выходе, нужно посмотреть покрутить, делать много изменений (особенно когда делаешь не только для себя, но и с кем-то надо согласовать, особенно, если это женщина). И вот взять тумбу из примера статьи и внезапно, что если сделать не 5 ящиков, а 4, но побольше? В этих всех программах обычно, надо выделять ящик, удалять его, пропорционально изменять размер других. А у меня просто убрать одну "*," и все посчитается само:$boxes = split_vertical($box, "*,*,*,*", 16);

А теперь что если нижние два ящика объединить в 1?
Вот так:$boxes = split_vertical($box, "50%,*,*", 16);

А что если внезапно нужна тумба побольше и пошире, с двумя большими ящиками и двумя маленькими (это уже комод теперь). Просто поменять 2 строчки:$box = box(800, 1200, 600);
...
$boxes = split_vertical($box, "400,400,*,*", 16);

Я меняю внешние размеры, а внутри все пересчитывается автоматически в соответствии с правилами, можно задать четко размер для любой части, можно в процентах от общего пространства, можно равномерно разделить оставшееся свободное место. Добавить/убрать ящик/полку - одна строчка в коде. Что-то меняешь серьезнее, закоментарил старый код, и всегда видишь, как было и можешь к этому вернуться.
Ну, главное, результат есть, руки более чем прямые) А так, как то сложно выглядит. Не проще ли было запустить SketchUp?)) В свое время ремонт квартиры проектировал в связке SketchUp -> blender -> UE4 -> HTC Vive. Стены, мебель схематично по размерам - в скетче, материалы-текстуры, подгонки моделей - блендер; освещение, запуск ВР режиме - анриал. Был забавный момент - в анриале можно выставить свет в соответствии с географией и временем, я выставил по панорамной фотке, которую юзал для вида за окном, и почему-то в двух комнатах получился разный по яркости свет, в одной было прямо сильно темнее. Думал артефакт, а в реальности так и оказалось - сыграл козырек балкона при определенном положении солнца.
Что на выходе в SketchUp будет? Если только ренедер, для планирования ремонта - да, хорош, но для проектирования мебели со множеством деталей маловато будет.
Pro100 (выше уже назвали, и вроде я как раз в нем после переезда много лет назад делал) экспортирует все в виде, удобном для разных контор по изготовлению деталей, кромкованию и т.п.
И расположение деталей на листах для уменьшения количества закупаемых листов, и еще много такого нужного. Помнится, я выбрал на 1 см уменьшить высоту стеллажа, и существенно на этом сэкономил...
https://docs.opencutlist.org/ - Для скетчапа есть расширение OpenCutList, которое предназначено именно для решения таких вопросов

Поправьте, если я не прав и программы умеют делать это проще, но все такие 3д редакторы для меня имеют один недостаток. Вот например тумба из моего примера в статье. Есть внешний размер, его нельзя нарушать. Начинаем рисовать. Но мы не можем просто сделать панели по внешнему размеру. Верхняя и нижняя панель заходит над вертикальными, соответственно у вертикальных уже надо вычесть двойную толщину панели. Но это ерунда, предположим. Теперь ящики, нужно, чтобы было 5 штук во внутреннем пространстве. Какой будет размер каждого ящика? Я не знаю. И считать я не хочу. Потому, что зачем мне это? Но я не могу не считать, рисуя ящик, я должен знать размеры досок из которых он состоит, учитывая все зазоры между ящиками, толщиной направляющих и т.д. Я не хочу сказать, что это сложно. Это не сложно и это может сделать любой школьник, но это дурацкая рутинная работа, заниматься которой не доставляет никакого удовольствия. И вот я нарисовал 5 ящиков, а мне потом сказали, а давай, ящиков будет 4 или 6. И надо снова пересчитывать размеры, пусть уже и немного проще. Поэтому я ушел от этого к тому подходу, который описал в статье. Взял любой внешний размер и каркас готов. Отступил по краям на толщину направляющих и разделил пространство на 5 частей в 2 строчки. Создал ящики. И я не знаю их размеров, но мне и не надо. А если надо, то я могу их вывести размеры в консоль, или сделать несколько ящиков фиксированного нужного размера, а другие на оставшееся место. И все будет пропорционально меняться, если вдруг поменяется внешний размер или количество, так же как это происходит на веб-странице, когда меняешь размер окна.

да в модели скетчап можно размер делать не фиксированным, а высчитываемым, исходя от размеров других деталей/толщины панелей, внутренних пространств.
—
Вот напр-р: 2 полки 2 боковинки столешница. Через параметр TableBoardSize привязаны глубина столешницы и боковин. Настраиваемые параметры доступны если модель сделана в виде компонента. Можно, например, количество полок сделать параметр и делить общую высоту на него и т.д.
Такую мебель на бумаге будет "спроектировать" быстрее. Или в любой рисовальной программе.
А тут даже ничего не сказано про крепления, полозья и прочую фурнитуру.
Я никогда не заказываю отверстия для конфирмата при распиле, это бессмысленно удорожает заказ, их я делаю сам и сразу по месту, поэтому не вижу смысла вносить это в проект. С фурнитурой также.
Так для себя надо знать, где и что сверлить. Подогнать точно дверцу под шкаф гораздо труднее, чем тупо выбрать размеры досок для этого шкафа.
Не сталкивался с такой проблемой. Обычно, пока задней части нет, приложил снаружи дверцу, как должна быть, зафиксировал, изнутри прикрутил петлю.
В открытом виде приставил фасад, прикрутил, отрепетировал, забыл. Кстати если от руки рисовать на бумаге, то такой стол для пк с тумбой под ТВ пеналом и антресолями был нарисован и посчитан (ну еще придуман естессно) минут за 30 с перекурами. В спец программах с нормальными БД будет естессно быстрее, но мне лень, у меня лапки)))
А Икея дешевле или дороже?
Не знаю как с з/п 10 лет назад в IT было, да и Икеи в моих провинциях не было. Скажу так — самостоятельное изготовление мебели (проект, сборка) + заказанный распил/кромка/присадка на производстве по живым деньгам обходилось в два раза дешевле, чем заказывать в салоне.
Например, кухня (по ценам 2015 года) мне обошлась 150К рублей, а если бы заказывал в салоне, то заплатил бы 300К руб. Откуда бы я материализовал еще 150К рублей в свободное от работы время (проект и сборка заняли у меня 5-6 вечеров), я не знаю.
Кухня большая просто была, фурнитура австрийская с доводчиками и прочим полным фаршем (помните, наверное, классный рост цен в 2014м? Один только подъемник мне в 10К обошелся с хорошей скидкой, а их там 4 было), фасады эмалевые, столешница тоже от местной немчуры, а не из местных опилок, которые при нажатии продавливаются.
Самые большие расходы это как раз фурнитура, фасады и столешница, а корпуса мне с распилом примерно в 25К обошлись (5 листов ЛДСП).
Так-то я мог из дров заказать за 70К, но тогда решил шикануть и покрепче/удобнее сделать.
UPD. Ну или более приземленный пример, мне для пивной точки (разливайка на 30кв.м.) надо было мебель сделать дешманскую в 2021 году. Все знакомые по старой дружбе предлагали около 40К за всё.
В результате я потратил 19К на дрова с кромкой и фурнитурой и один из этих знакомых мне за 5К выполнил монтаж. 16К экономии за 3 вечера (проект, 2 поездки для заказа/погрузки на базе), т.е. около 1,5-2К руб./час мое свободное время бы стоило.
я правильно понимаю, что всё, что "написал, для себя сам", это бесплатное и время с киловатт-часами ни копейки не стоят?
А для меня оно реально бесплатное. Я занимаюсь этим в рамках хобби, потому что мне это интересно и я получаю от этого удовольствие. Если бы это было не так - я бы точно не стал так заморачиваться) Иногда у меня спрашивают, творческая ли у меня профессия, и я отвечаю - да, я программист. Они думают ,что это шутка, а это не шутка) Как художник пишет картины потому, что кайфует от этого, так же и я пишу код потому, что мне нравится это делать.
Тем временем FreeCAD такой: ну да, ну да....
Несколько раз пытался и удалял его) Не мое)
Freecad страдает типичной проблемой open source UI решений - UX оставляет желать лучшего. Как и документация.
С другой стороны в него можно заинтегрировать свои функции, что в целом выглядит хорошей связкой. К тому же есть интеграция с openScad)
Словом неоднозначно.
Как же это близко и лампово)) Но писать кодом это конечно мощно! Тут выше написали про sketchup.
Лет 10 назад его освоил и с тех пор все модели в нем рисую. Т.е. рисую сразу по тем размерам которые нужны мне. В своем городе нашел компанию, которая потом все мои идеи перерисовывает уже в своей специальной распиловочной программе, а там сама расставляет присадки. Плюс кромка бывает тоже разной. Использую в основном 2мм а например при распиле ящиков это нужно учитывать чтобы присадки совпали. Программа распиловщика это все учитывает. Так что это их головная боль, не моя.
Так же можно кучу времени потратить на подгонку к направляющим. Ладно если это просто шариковые 8мм. А если хочется скрытого монтажа, то тут вручную все это предусмотреть может быть не просто. А так фабрика сразу размечает места под будущие крепления, только саморез закрути.
Мне sketchup тоже не зашел в свое время, я его тоже пробовал. Наверное у меня такое мышление, что код мне понятнее)

У меня кромка всегда уменьшает деталь. Т.е. работает как padding в css, сохраняя внешний размер делали. А с направляющими на ящиках - я просто делаю между ними зазор в 16мм, чтобы на предыдущий ящик положить лист дсп и следующий на своем месте. А фасады уже потом, закрывают лишние зазоры.
Можно дополнить, что зарабатывают не столько освоив сами программы, сколько накопив, освоив и сохранив сильных решений в своих библиотеках.
Я люблю свою работу! Я приду сюда в субботу.. Не понятно, для чего этот пост, но будь здоров.
Очень похоже на мой проект для научного общества учащихся лет 25 назад, я тогда на VB6 писал. Штука считала материал для ремонта, всякий там плинтус и обои. Была какая-то мало-мальская визуализация. Я ещё в каком-то классе школы учился.
Интересная концепция ограничивающего куба
PHP — я использую 7.2.
Судя по коду, я думал PHP 4 :)
PHP End of Life support: https://www.php.net/eol.php PHP 7.2: 30 Nov 2020
А если серьезно - то хорошее начало, лучший метод изучать что-то - это пробовать решать реальные задачи. Теория немного хромает, я бы рекомендовал изучить немного про ООП, composer.
Также, необходимо разделить логику от рендеринга. А то у вас там все смешалось
Осталась такая плохая (или наоборот хорошая) привычка использовать старые версии языка, поскольку он интерпретируемый, не факт, что там где понадобится, чтобы твой код работал будет стоять новая версия. В свое время несколько раз на этом обжигался, с тех пор я, как тот кот которому крышка унитаза упала по спине, и он продолжал ходить в туалет забираясь на унитаз, то исключительно лицом к крышке)
А логика объединенная с рендером - это принцип OpenSCAD, это иногда причиняет боль, а иногда удобнее, я взял что-то среднее оттуда, ориентируясь на собственное удобство. ООП, где все будет объектом и будет что-то типа куб->доскаСверху(), мне не зашло потому, что при этом исходный куб должен уменьшится, но так не всегда нужно, показалось что функциональное программирование тут будет проще, когда функция всегда возвращает измененный куб, а уж присваивать его той же переменной или другой - это я буду решать в зависимости от задачи.
Для не самых новых версий это правда. Но вот для ископаемых ситуация меняется на противоположную - как раз их-то и не найдёшь. Плюс стон стоит на весь интернет, когда такие вот сидельцы рыдают, что хостер насильно обновил версию пхп до минимально приемлемой и их говнокод перестал работать. Это всё равно что рекомендовать Питон 2.
Да и чисто технически, в чём смысл зачем рекомендовать 7.2 и давать ссылку, по которой эту версию скачать невозможно. Плюс в целом непонятно, зачем вообще рекомендовать какую-то конкретную версию, если никакие специфические для этой версии возможности языка не используются, а не оставить версию на выбор читателя.
Я 7.2 не рекомендовал, я написал ту, на которой делал сам, подразумевая, что это минимум на котором я проверял, будет ли все работать на более ранних, я не знаю. Но это не значит, что на версии 8.4 работать не будет, оно там прекрасно работает. Но вы правы, я подумал ,что это само собой разумеющееся, а на самом деле это следовало указать.
Открой рег.ру, арендуй на месяц хостинг их за 411 рублей, там доступны все версии php с 5.3 до 8.4, любые на одном хостинге для разных папок с сайтами можешь свою версию php использовать, вот mysql одной только версии они предоставляют на весь хостинг либо 5.7, либо 8.
Главное ты сам такую программу напиши, после написания покажи, а мы оценим.
Я php разработчик с 15 летним стажем, в основном работаю с проектами на битриксе, могу сказать, что огромное множество проектов до сих пор работают у компаний крупных причём на php 5.6 и php 7.2.

Картинка заглавная сделала это воскресенье, ( ᵔ▽ᵔ)_b спасибо! По поводу проектирования мебели вообще квартиры, как по мне, пока не прикрыли, blender может всё.
Блендер слишком сложный, проблемный и может далеко не всё. Основное преимущество, человек может на удалённый сервер к своему проекту на php обратиться практически с любого устройства, а вот блендер работает иначе, плюс в блендере постоянно есть проблемы несовместимости версий, сделали модель на новой версии и не сказали на какой, у тебя заведомо более старая установлена при попытке открыть проект просто вылетает блендер и все дела.
Согласен с тем, что вопрос зависимости от разработчика автором статьи решён, для себя точно. Поэтому и отметил, что блендер хорош на данном этапе. Могут и прикрыть или создать некоторые неудобства, не спорю. Но, освоив, для собственного планирования, мебели в том числе пока другого не надо. К примеру, на скрине подоконник-столешница, со всеми размерами, фасками, вырезами и т.д.

вы кучу какихто плагинов используете? помню пытался в Блендере раскладку плитки сделать - проблематично. И вообще блендер не дружит с размерами - это не сапр, неудобно чтото делать по размерам
Когда я 5 лет назад попробовал OpenSCAD, я тоже проникся. :) Даже пост написал:
После нескольких подходов к "Fusion 360", в котором я каждый раз тонул в перегруженном интерфейсе, словно маленький кораблик, решивший пересечь океан, я, вдруг, открыл для себя "OpenSCAD".
Эти ощущения похожи на те, которые вы получаете ступив на твердую землю после того, как вас укачало на волнах. К счастью, меня не успело вывернуть, ведь Fusion все равно еще понадобится. (не понадобился, пользовался потом другим)
Но вот подход к созданию [параметрических] 3D-моделей в виде последовательного описания отдельных графических примитивов меня просто вдохновил вчера!
Это просто чистое программерское удовольствие. Никаких тебе тяганий мышки по углам и прочих пиксельхантингов.
Написал, например, cylinder(d=10, h=100) - будет тебе цилиндр. Написал difference() { cylinder(d=10, h=100); cylinder(d=8, h=100); } - будет тебе труба (в хорошем смысле ).
Весь объект описывается таким образом. И все всегда будет стоять на своих местах. Как в том анекдоте про девочку и бант.
В общем, рекомендую!
Да уж, вот что получается, когда макеты рисует программист, а не дизайнер, функционально, но глаз совсем не радуется
Infrastructure as Code Mebel as Code
А есть ли где-то, может, встречал кто-нибудь, чек-лист для чайников в проектировании опилочной мебели, что надо учесть при расчете листов? Условно шаг петель, нагрузка на петлю, типовые крепления, какие кромки и т.п.?
Шаг петель и нагрузку смотреть надо на сайтах производителей, зачастую там можно скачать pdf-файл с каталогом, где нарисовано сколько и на каком расстоянии надо их крепить в зависимости от веса фасада и его размеров (вес считается исходя из плотности материала, у МДФ она больше, чем у ЛДСП), там же иногда пишут зазоры.
Та же история с направляющими для ящиков, подъемными механизмами, да и вообще прочей фурнитуре — смотрим инструкции от производителя. Например, посудосушитель в базу 600мм — значит внешняя ширина корпуса (независимо от толщины ДСП 16/18мм) должна быть 600мм. Бутылочница 150 или 200мм — ширина корпуса должна быть 150 или 200мм соответственно.
Ну и еще добавлю пару мыслей от себя:
Крепеж
Крепежные элементы основные: евровинт 7х50 (он же конфирмат, можно взять еще несколько 7х70 если накосячил и 50-й стал прокручиваться), эксцентриковая стяжка (два исполнения) (см. по ссылке с поз.4). Прочность соединения ±одинаковая. На особо важных участках можно заморочиться, добавить шканты и проклеить торец в месте стыка.
Саморезы по дереву (для уголков, петель, фурнитуры и для накладной задней стенки или дна ящика из ДВП, ходовой размер 3,5х16). Гвозди мебельные для задней стенки и дна, используются наверное сейчас редко, но в целом можно.
Заглушки для эксцентриков/евровинтов есть пластиковые (выпуклые, цвета ограничены, иногда держатся не очень) и самоклеящиеся (можно иногда подобрать точно в цвет с ЛДСП, держатся хорошо, если клеить аккуратно).
Задние стенки / донца ящиков из ДВП можно как набивать/прикручивать, так и садить в паз (ширина 4мм делается на форматно-раскроечном станке, глубина около 5-10мм (не помню точно) отступ от края около 10мм) дополнительно можно зафиксировать уголком для ДВП под паз с саморезом.
Кромка
Меламиновая (утюгом которая клеится) используется наверное уже редко, также редко встречаются канты мебельные накладные и врезные.
Кромка ABS клеится на станке или кромочной линии специальным клеем (иногда клей наносят на кромку и с помощью фена приклеивают к детали, но это не так часто. Например, запилили деталь по месту уже на адресе и приклеили кромку).
Ходовые размеры ABS кромок (ширина/толщина): 19/0,4мм и 19/2мм (для 16/18 плит), 25/2мм или 35/2мм (для 22 плиты или «сэндвича» 32мм).
Кромка 0,4мм в раскрое детали не учитывается, а если толщина 2мм — придется вычитать из размера детали. Есть еще кромка толщиной 1мм, но я не работал с ней, в целом, ее можно для внутрянки использовать вместо 0,4.
Особенность кромки 2мм (для видимых лицевых частей изделия (если не закрыты фасадом) и самих фасадов) — снимается закругленная фаска (поэтому, когда делаем, например, открытый стеллаж для книг, то «утапливаем» полку на 2 мм, чтобы не было некрасивых переходов на стыке полки и стенки — т.е. если глубина стеллажа (его боковой стенки) 350мм, то глубина полки тогда будет 348мм).
Что кромить?
По ГОСТу по крайней мере детали детской мебели не должны иметь торцов без кромки (напр., стенка выдвижного ящика должна кромиться сверху (понятно дело, ее видно) и сзади (а это редко кто делает, ее не видно), а снизу (набивается ДВП) и спереди (прикручивается фасад) она не кромится.
Но по общему правилу (не по ГОСТу), что не видим, то не кромим, за исключением внешних частей, например, которые будут соприкасаться с полом или стеной, если не набиваем ДСП.
На кухонном гарнитуре можно заморочиться и закромить вкруговую всю деталь, даже там где она будет стыковаться с другой (присадку делаем уже на закромленной детали, понятное дело).
Неприятности с кромкой.
Иногда на светлых деталях может быть виден черный клеевой шов (зависит от оборудования и от толщины нанесенного клея).
Иногда кромка 2мм со временем отклеивается на деталях с вырезанным внутренним радиусом (обычно на столешницах) или на небольших (менее 50мм) внешних радиусах.
Отдельные замечания.
Полка из ЛДСП обычно провисает под собственным весом при ширине от 900мм (нужно дополнительное крепление по центру или поперечная стойка, или т.н. ребро/царга сзади).
Дно большого ящика следует делать из ЛДСП (или если хранить легкие предметы, то можно и из ДВП, но с дополнительной поперечной стенкой). Вес пустого и нагруженного ящика тоже учитываем при выборе направляющих (роликовые уже не подойдут).
Минимальная ширина детали около 70мм (касается в основном стяжек и цоколей), т.к. кромочные линии обычно меньшие размеры не обклеивают (тут следует уточнять на производстве, могут просто закромить подороже на ручном станке).
Фасады из МДФ, покрытые эмалью (крашенные) лучше заказывать толщиной 19мм, а не 16. Неприятность может случиться при присадке под чашку петли — будет видна своеобразная вмятина.
Отдаю должно основательному подходу автора. Сам я в свое время озаботившись темой кастомной мебели и сознавая кривизну собственных рук обратился к отличному столяру, который и сваял все требуемое из натурального дерева.
Месье знает толк в извращениях!
110 рублей за час стоит аренда профессионального полнофункционального отечественного софта "Не буду называть - Мебельщик". Который умеет ящики и двери через мастер, кромку с подрезкой, проверку стыкуемости панелей, ориентацию рисунка пленки, комплект сборочных чертежей, адову прорву библиотек с петлями, стяжками, системами выдвижения и т.п. Результат - распил станком со всеми присадками с точностью до износа сверел/пил, путем выгрузки G-кода прямо на этот станок прямо из этого софта. С этикеткой на каждой деревяхе. С идеально совпадающими дырками нужного размера именно там, где они нужны. С идеальной кромкой, а не приляпанной утюгом, с радиусами под плинтус, собирающуюся с первого раза. Причем все это по цене плиты ЛДСП*3 примерно, то есть почти бесплатно (раз в 5 дешевле), если сравнивать с готовой мебелью или "под заказ" у гаражного производителя - владельца циркулярки и алкогольной зависимости.
Мне понравилось (͡°͜ʖ͡°)
Сказ о том, как один программист себе мебель из ДСП на PHP программировал