Recommended resources
The freely available resources this lesson will direct you to.
Здравствуйте!
На прошлом уроке мы подготовили и напечатали тестовые образцы для проверки самых критичных узлов нашего корпуса: посадки крышки и отверстий для термозакладных втулок. Этот шаг, по сути, является физическим экспериментом, который должен подтвердить или опровергнуть гипотезы, заложенные в нашей CAD-модели.
Сегодня мы завершаем наш курс и переходим от прототипирования к производству. Наша задача — проанализировать результаты тестов, внести финальные корректировки в параметрическую модель и запустить печать готового корпуса. Это кульминация всего, чему мы научились: от настройки окружения до итеративного инженерного процесса.
В этом заключительном уроке мы:
- Интерпретируем результаты физических тестов посадки и креплений.
- Внесем соответствующие изменения в параметры нашего основного скрипта
full_script.py. - Обсудим ключевые настройки слайсера для финальной печати.
- Подведем итоги курса и наметим пути для дальнейшего развития.
1. Анализ результатов: Замыкаем цикл "Проектирование → Тест → Корректировка"
Сейчас у вас на руках есть физическое воплощение ключевых узлов вашего дизайна. Давайте систематически проанализируем их и решим, какие изменения внести в код. Это и есть цикл обратной связи, который отличает инженера от простого пользователя.
1.1. Посадка крышки (Lip/Groove)
Возьмите две тестовые детали (test_lip_groove_base.stl и test_lip_groove_lid.stl) и попробуйте их соединить. Возможны три сценария:
-
Сценарий 1: Слишком туго. Детали не соединяются или для этого требуется значительное усилие. Это означает, что изначальный зазор
LID_LIP_CLEARANCE = 0.2недостаточен для вашего сочетания принтера, пластика и настроек. Расширение пластика и неидеальная геометрия "съели" весь заложенный зазор.- Решение: Увеличьте значение
LID_LIP_CLEARANCEвfull_script.py. Хорошим шагом будет+0.05или+0.1мм. Например, измените0.2на0.25или0.3.
- Решение: Увеличьте значение
-
Сценарий 2: Слишком свободно. Крышка соединяется, но заметно болтается (люфтит). Это значит, что вы можете добиться более плотной и качественной посадки. Ваш принтер откалиброван очень хорошо!
- Решение: Уменьшите
LID_LIP_CLEARANCE. Попробуйте0.15мм.
- Решение: Уменьшите
-
Сценарий 3: Идеально. Детали соединяются с легким трением или щелчком, сидят плотно и без люфта.
- Решение: Ничего не меняем. Ваши первоначальные допущения были верны.
Практическое действие: Откройте ваш основной файл full_script.py и найдите строку, где определяется LID_LIP_CLEARANCE. Внесите изменение на основе вашего сценария.
# full_script.py (фрагмент)
# ... параметры ...
PCB_LENGTH, PCB_WIDTH, PCB_HEIGHT = 85.0, 56.0, 1.6
WALL_THICKNESS = 1.6
BASE_HEIGHT = 20.0
LID_HEIGHT = 10.0
# !-- ВАШЕ ИЗМЕНЕНИЕ ЗДЕСЬ --!
# Проанализировав тестовую печать, я обнаружил, что посадка слишком тугая.
# Увеличиваю зазор с 0.2 до 0.25 мм для лучшего прилегания.
LID_LIP_CLEARANCE = 0.25
SCREW_BOSS_DIAMETER = 8.0
SCREW_BOSS_HEIGHT = BASE_HEIGHT - WALL_THICKNESS
# ... остальной код ...
1.2. Отверстие под термозакладную втулку
Возьмите тестовую бобышку (test_insert_hole.stl) и попробуйте вплавить втулку M3 с помощью паяльника.
-
Сценарий 1: Слишком туго. Втулка не входит, или при вплавлении выдавливается много пластика, деформируя стенки бобышки. Отверстие по факту получилось меньше, чем спроектировано.
- Решение: Библиотека
bd_warehouseпредоставляет элегантный способ управления посадкой. В функцииInsertHoleможно указать параметрfit. По умолчанию онFit.NORMAL. Изменим его наFit.LOOSE.
- Решение: Библиотека
-
Сценарий 2: Слишком свободно. Втулка вплавилась легко, но после остывания пластика она прокручивается или выпадает. Отверстие слишком большое.
- Решение: Используем более тугую посадку:
fit=Fit.CLOSE.
- Решение: Используем более тугую посадку:
-
Сценарий 3: Идеально. Втулка входит ровно, с минимальным вытеснением пластика, и после остывания держится прочно.
- Решение: Оставляем настройки по умолчанию.
Практическое действие: Найдите в full_script.py место, где создаются отверстия в бобышках, и добавьте или измените параметр fit.
# full_script.py (фрагмент)
# ... в функции create_enclosure_base ...
# Создаем отверстия для втулок
with Locations(*boss_locations):
# !-- ВАШЕ ИЗМЕНЕНИЕ ЗДЕСЬ --!
# Тест показал, что отверстие маловато. Используем свободную посадку.
InsertHole(fastener=m3_nut, fit=Fit.LOOSE)
Эта возможность менять посадку (Fit.LOOSE, Fit.NORMAL, Fit.CLOSE) — яркий пример силы параметрического дизайна и продуманных библиотек. Вместо ручного изменения диаметра отверстия на десятые доли миллиметра, мы используем семантически понятный параметр.
2. Почему так происходит: Физика FDM и инженерные допуски
Ваш опыт в физике и моделировании подсказывает, что ни одна реальная система не соответствует идеально своей теоретической модели. 3D-печать — не исключение. Понимание причин расхождений поможет вам проектировать более предсказуемые детали.
Why your 3d printed stuff doesn't fit together and how to fix it!
Давайте посмотрим видео от Lost In Tech, которое отлично объясняет, почему напечатанные детали не всегда подходят друг к другу.
Обратите внимание на два ключевых момента: Фундаментальная проблема (0:00 - 1:14): Автор объясняет, что FDM-процесс, по сути, укладывает расплавленные "колбаски" пластика. Их итоговая форма и положение не идеально квадратные и точные, что приводит к отклонениям от цифровой модели. Порядок печати стенок (1:14 - 3:29): Этот момент особенно интересен. Порядок, в котором печатаются внутренняя и внешняя стенки, влияет на то, куда "выдавливается" излишек пластика. Печать внешней стенки первой (outer wall first) может повысить точность внешних размеров, но создать проблемы с нависаниями. Это объясняет, почему внутренние размеры (как у отверстий) и внешние могут иметь разную погрешность. Это видео дает интуитивное понимание, почему ваши тестовые детали могли оказаться туже, чем ожидалось.
Чтобы формализовать эти наблюдения, инженеры используют понятия точности, прецизионности и допусков.
Guide to 3D Printing Tolerances, Accuracy, and Precision
Статья от Formlabs "Guide to 3D Printing Tolerances, Accuracy, and Precision" дает более строгие определения этим концепциям. Она поможет систематизировать ваши наблюдения.
Прочтите два коротких раздела: "Defining Accuracy, Precision, and Tolerance": Этот раздел четко разделяет эти три понятия. Ваш тест посадки, по сути, был процессом определения правильного допуска (tolerance) для достижения желаемой посадки (fit). "Choosing the Best Type of Engineering Fit": Здесь описаны три основных типа посадок: с зазором (clearance), переходная (transition) и с натягом (interference). Ваш тест для крышки был нацелен на достижение идеальной посадки с зазором. Для защелок, которые мы обсуждали ранее, могла бы понадобиться переходная посадка.

3. Финальная печать
После того как вы внесли изменения в full_script.py, вы готовы к созданию финальных файлов.
-
Запустите скрипт:
python full_script.pyЭто действие перезапишет
enclosure_base.stlиenclosure_lid.stlновыми версиями, учитывающими ваши корректировки. -
Настройки слайсера (финальный чек-лист):
- Ориентация: Расположите обе детали (основание и крышку) на виртуальном столе печати плоской стороной вниз. Это наиболее стабильное положение, не требующее поддержек для основных частей.
- Поддержки (Supports): Убедитесь, что поддержки выключены. Мы проектировали корпус так, чтобы все элементы (вырезы под порты, бобышки) были самоподдерживающимися (правило 45 градусов).
- Заполнение (Infill): 15-20% с паттерном "Gyroid" или "Cubic" будет достаточно для прочного корпуса, не тратя лишнего времени и пластика.
- Толщина слоя (Layer Height): Стандартные 0.2 мм — хороший компромисс между скоростью и качеством.
- Параметры стенок (Walls/Perimeters): Убедитесь, что количество стенок не меньше, чем
WALL_THICKNESS / <ширина вашей линии>. Например, при толщине стенки 1.6 мм и ширине линии 0.4 мм, вам нужно как минимум 4 стенки для получения сплошной оболочки. - Материал и температуры: Используйте те же, что и для тестовых образцов, чтобы результат был предсказуемым.
-
Запустите печать! Теперь можно со спокойной душой запустить многочасовую печать, будучи уверенным, что ключевые элементы соберутся правильно.
Проверьте себя!
Предположим, после печати финальной версии вы обнаружили, что защелка (если бы мы ее реализовали) ломается при первой попытке закрыть крышку. Опираясь на знания, полученные в курсе, какие три возможных изменения в CAD-модели вы бы рассмотрели в первую очередь для усиления защелки?
Показать ответ
- Увеличить толщину защелки: Самое очевидное решение для повышения прочности на изгиб.
- Добавить скругление (fillet) в основании защелки: Острый угол является концентратором напряжений. Плавный переход значительно снижает риск излома в этом месте. Этот принцип мы обсуждали на предыдущих уроках.
- Изменить ориентацию печати: Если защелка печатается так, что слои располагаются параллельно направлению изгиба, она будет слабой. Можно попробовать изменить дизайн детали или ее ориентацию на столе, чтобы слои были перпендикулярны силе, что максимизирует межслоевую адгезию и прочность. Это продвинутый прием, который мы затрагивали, говоря об анизотропии FDM-печати.
Заключение и итоги курса
Поздравляю! Вы прошли весь путь от идеи до физического, функционального объекта, спроектированного полностью в коде. Вы не просто скачали готовую модель — вы создали свою, параметрическую и адаптированную под ваши нужды.
Ключевые выводы этого урока:
- Итеративный процесс "дизайн → тест → корректировка" — это основа инженерной разработки.
- Параметрический CAD с помощью
build123dделает этот цикл невероятно быстрым и эффективным. - Понимание физических ограничений FDM-печати позволяет создавать более надежные и предсказуемые проекты.
За время этого курса вы научились:
- Настраивать профессиональное окружение для Python-based CAD.
- Создавать 2D-эскизы и получать из них 3D-тела.
- Точно позиционировать и комбинировать объекты с помощью булевых операций и паттернов.
- Проектировать сложные составные объекты, такие как корпус, разделяя его на части и добавляя элементы соединения (фальц, бобышки).
- Интегрировать внешние компоненты (печатную плату) и крепеж.
- Проверять свои дизайнерские решения с помощью быстрых тестовых отпечатков и вносить коррективы.
Вы достигли своей цели — научились создавать полезные предметы с помощью build123d. Теперь у вас в руках мощный инструмент, который ограничивается только вашей фантазией. Возможные следующие шаги:
- Реализовать более сложные механизмы соединения, например, консольные защелки (cantilever snaps), о которых мы говорили.
- Добавить вентиляционные решетки и текстовые метки на корпус.
- Изучить, как
build123dможет взаимодействовать с другими библиотеками Python для создания генеративного дизайна. - Присоединиться к Discord-сообществу build123d, чтобы делиться своими проектами и учиться у других.
Спасибо за ваше время и усердие. Успешной печати