Как строить из лего программа

Обновлено: 01.05.2024

Моё детство примерно на 20% состояло из Dungeons & Dragons (D&D) и на 80% — из LEGO. Эти два занятия очень сильно пересекались. Мне, по разным причинам, не разрешали всё время играть в D&D. Но я, привлекая на помощь воображение, и достигнув в этом деле успехов, достойных плута 15 уровня, понял, что создание персонажей AD&D игрой не считается. Воссоздание вселенной DragonLance средствами LEGO очень хорошо помогало мне быть ближе к игре, которая мне очень нравилась.

Поэтому одним из моих любимых направлений в LEGO были замки. Я тратил многие часы, выдумывая подземелья для моих героев. Для того чтобы не терять свои находки, и из-за того, что я видел, как мои друзья в школе чертят карты подземелий, я составлял планы своих LEGO-моделей на миллиметровке. Кроме того, я пытался сохранить и сведения о том, как именно были устроены модели. Использование миллиметровки казалось логичным для изображения того, что, в основном, состояло из прямоугольных блоков. Но меня, в итоге, сгубило недостаточно хорошее понимание правил изометрической проекции.


Теперь, хоть я и стал старше, моя любовь к LEGO не угасла. И хотя я и не могу сказать, что очень уж горжусь своими моделями (их называют MOC-моделями), я почувствовал, что просто должен разобраться с тем, как мне документировать то, что создаю. Я никогда не умел очень уж хорошо рисовать. Поэтому я решил обратиться к компьютеру.

CAD для LEGO

Несколько лет я работал в сфере виртуального 3D-моделирования (а в сфере обычного 3D — и того больше). Я хорошо владею 3D-приложениями, но всё, чем я пользовался, заточено под анимированную графику и под производство фильмов. Все эти программы, как, собственно, и фильмы, рассчитаны на то, чтобы создать красивую картинку. Как именно что-то сделано, до тех пор, пока всё выглядит хорошо, не так уж и важно. Если, ради того, чтобы что-то выглядело бы очень хорошо, нужно «обмануть» законы физики, то это вполне приемлемо, так как это будет существовать только в виртуальном пространстве.

А вот системы автоматизированного проектирования (Computer-Aided Design, CAD), это уже нечто другое. CAD-приложения пришли на смену обычным чертежам. В них создают спецификации, иллюстрирующие то, как нечто может быть создано в реальном мире. От этих программ ждут точности и реализма.

Так как невероятно много людей увлечено LEGO, существует активное сообщество тех, кто создаёт LEGO-модели, используя CAD-программы. Преимущества такого подхода очевидны: можно задокументировать подробные сведения о модели, описать то, какие детали нужны для её создания, и то, как именно их нужно соединить друг с другом. Это, конечно, не замена реальному конструктору LEGO (ну, разве что для тех, кто любит CAD больше, чем LEGO), но это — отличное дополнение к хобби.

Для того чтобы построить виртуальную модель LEGO, нужны две вещи:

  • Виртуальные детали LEGO.
  • CAD-приложение.

Виртуальные детали LEGO

Для того чтобы раздобыть виртуальное представление практически любого из когда-либо созданных строительных блоков для LEGO-моделей, можете воспользоваться опенсорсным ресурсом LDraw. LDraw — это открытый стандарт для цифровых моделей LEGO, который включает в себя возможности по описанию размеров и ориентации элементов. В дополнение к работе по описанию деталей средствами LDraw, силами сообщества подготовлены 3D-модели для каждой детали. Это значит, что все желающие могут загрузить тысячи определений деталей, истратив на это не особенно много трафика.

Установка набора деталей

Виртуальные детали очень похожи на изображения, которые используются на сайтах, или на шрифты, применяемые на компьютере. Собственно говоря, соответствующие файлы можно хранить где угодно. Главное, чтобы приложение, в котором планируется работать с деталями, знало о том, где эти файлы находятся. В Linux LDraw-файлы обычно размещают в папке /usr/share/LDRAW . В Windows это обычно C:\Users\Public\Documents\LDraw .

LDraw даёт в наше распоряжение лишь спецификации для каждой детали. Вот, например, как выглядит код описания кубика 1x1:


Для того чтобы увидеть детали в более привычном облике, понадобится программа для их визуализации.

Приложение LDView для визуализации деталей

LDView — это среда для 3D-рендеринга, напоминающая POV-Ray или Cycles из Blender. Это приложение создано специально для рендеринга .ldr-файлов, то есть — CAD-файлов, содержащих данные в формате LDraw.

Если вы работаете на Linux, то, возможно, вы найдёте LDView в своём репозитории ПО. Если в репозитории этой программы не окажется — вы можете скачать установщик с сайта проекта. Если вы пользуетесь macOS или Windows, то вам, опять же, нужно будет воспользоваться сайтом LDView.

Просмотр отдельной детали

Легче всего начать цифровое конструирование моделей LEGO, попытавшись визуализировать отдельную деталь.

Сначала откройте ваш любимый текстовый редактор. Это может быть любая программа. Главное — чтобы она могла сохранять документы в виде обычного текста. Некоторые текстовые редакторы, в стремлении оказать пользователям добрую услугу, пытаются сохранять текстовые материалы в файлах, в которых, помимо текстов, есть ещё масса служебной информации (вроде .rtf и .doc). Существует множество хороших кросс-платформенных текстовых редакторов. Я, для наших дел, могу порекомендовать довольно-таки минималистичный редактор Geany.

Создадим новый файл с именем 1brick.ldr и введём в него следующий текст:


А теперь взглянем на наше скромное творение:


Только что вы создали простой CAD-файл, описывающий один кубик (а именно — модель номер 3001), цветовой индекс которого равняется 1 (это синий цвет), расположенный в позиции (0, 0, 0) по осям X, Y и Z. Поворот кубика регулируется с использованием средств матричного преобразования. Их применение, надо признать, не относится к простым математическим вычислениям. Правда, при конструировании LEGO-моделей произвольное вращение деталей требуется сравнительно редко, так как большинство деталей стыкуются друг с другом с использованием шипов.

Любая строка в файле, начинающаяся с 0, содержит либо комментарий, либо метаданные. Строка, начинающаяся с 1, содержит описание детали.

Вы можете попрактиковаться в перемещении и вращении деталей, внося изменения в свой CAD-файл. Обычный кубик имеет в высоту 24 LDU (LDraw Units). Это значит, что ставить детали друг на друга можно, меняя их координату Y с шагом в 24 единицы. Поворачивать детали можно, выполняя матричные преобразования.

Взгляните на этот код:


Вот результат его визуализации.


Конечно, перемещать детали можно вдоль любой из трёх осей. В спецификации LDraw сказано, что кубик 1x1 имеет 20 LDU в ширину и 20 LDU в длину. А это значит, что расставлять такие кубики вдоль оси X можно, меняя их позиции с шагом в 20 LDU.


Ещё два кубика

Порядок сборки модели

Чаще всего формат LDraw используется для того чтобы продемонстрировать порядок сборки модели. А это значит, что нужно описать последовательность шагов сборки. В LDraw это делается с использованием метакоманды STEP .

Для того чтобы испытать эту метакоманду, добавьте в свой файл, между описаниями деталей, следующее:


Готовый файл будет выглядеть так:


Теперь в вашем проекте описано два шага. На первом выводится первый кубик, на втором — второй. Можно пошагово просматривать .ldr-файлы, пользуясь клавишами-стрелками в верхней панели инструментов LDView, находящимися около подписи Steps .


Панель инструментов для пошаговой визуализации моделей

На одном шаге необязательно должен выводиться лишь один кубик. Как и в случае с инструкциями к наборам LEGO, установку нескольких деталей можно объединить в один шаг. Главное, чтобы это не повредило понятности инструкции.

В LDraw есть и другие команды. Например — тут можно рисовать линии, поясняющие расположение деталей, и делать прочие подобные вещи. Соответствующие сведения можно найти в спецификации.

Выяснение кодов деталей

Я хранил свою коллекцию LEGO в ящиках для рыболовных принадлежностей. Поэтому я мог быстро найти любую деталь из любого набора. Правда, по мере того, как росла коллекция, мне было нужно всё больше и больше ящиков. А в результате у меня стало уходить больше времени на поиск нужной детали.

Если учесть то, что в LEGO имеется более 11000 уникальных деталей, искать цифровые детали так же сложно, как и обычные. У каждой официальной детали LEGO есть собственный код. Например, тот кубик 2x4, который мы использовали в примере, имеет код 3001. Если вам известен код детали, вы можете просто использовать его в CAD-файле, и соответствующая деталь появится в вашей модели.

В дистрибутиве LDraw имеется файл parts.lst , в котором, с помощью grep, можно найти нужную деталь. Но детали там не всегда описаны по одной и той же схеме. Работая с этим файлом не всегда легко предугадать то, какие именно ключевые слова соответствуют тем или иным деталям. Например — как понять, какое слово, «curved» «sloped» или «angled», лучше всего характеризует некую деталь сложной формы?

Хотя искать детали можно и в parts.lst , в этом деле нам могут помочь некоторые специальные интернет-ресурсы:

    — это пользовательская группа, в которой есть база данных со сведениями о кодах деталей LEGO, построенная на основе сведений, взятых из LDraw. — хороший каталог деталей. — ещё один ресурс, на котором есть каталог деталей.

Другие средства для рендеринга моделей

После того, как вы создали свой шедевр, LDView может экспортировать вашу модель, что позволит вам отрендерить её в высоком качестве. Для этого можно воспользоваться POV-Ray — опенсорсной программой для фотореалистичного рендеринга трёхмерных моделей. В результате плоды ваших трудов можно будет представить в весьма привлекательном виде. Найти POV-Ray можно или в репозитории программ вашего дистрибутива Linux, или на сайте проекта.

Вот пример команды рендеринга:


Ниже показан результат визуализации.


Высококачественная визуализация модели

Если вам нужна программа для формирования инструкций по сборке моделей — попробуйте опенсорсную LPub3D. Эта программа выводит пошаговые инструкции и список деталей, необходимых на каждом шаге.


Исследование мира LEGO

Создание моделей из деталей LEGO — это интересно. Разработка собственных моделей — это воплощение той творческой энергии, которой фанаты LEGO заряжаются, занимаясь любимым делом. Теперь ваши LEGO-идеи больше не должны существовать лишь в форме бесплотных идей. Вы можете сохранить их в виде моделей и пошаговых инструкций.

Мир любителей LEGO — это приятное и креативное место, которое стоит посетить всем тем, кому нравится создавать цифровые модели, разрабатывать собственные детали, или делать с кубиками LEGO что-то такое, чего никто больше с ними не делает. Если вам нравится LEGO, то сегодня — самый лучший день для того чтобы стать частью LEGO-сообщества!

Назначение программы

Лего Диджитал Дизайнер – ПО, предназначенное для создания моделей и проектов, напоминающих кубики Лего. Она даёт пользователям следующие возможности:

  • Начинать разработку проектов с нуля.
  • Работа с готовыми моделями и основами, которые представлены в галерее на официальном сайте.
  • Загрузка собственных моделей на официальный сайт Lego Digital Designer за счёт графического 3D-редактора.
  • Редактировать уже сохранённые на компьютере или в архиве проги модели.

Программа интуитивно понятна, поэтому нередко её используют для моделирования дети школьного возраста. Утилита имеет качественную графику, она предлагает пользователям на выбор большое количество инструментов и цветовых оформлений для разработки своей, индивидуальной Lego Digital Designer модели. Пользователи здесь могут работать как со своими проектами, так и с чужими. Черпать идеи конструкций для моделирования можно на официальном сайте разработчиков. Здесь же можно и скачать понравившийся шаблон для работы бесплатно.

фото-1

Справка! Программа позволяет сохранять готовые работы на компьютер, чтобы в дальнейшем показывать их друзьям. Сохранённые конструкции можно редактировать и дополнять всевозможными инструментами, которые предлагают разработчики.

Функциональные возможности Lego Digital Designer

Функции утилиты помогают заниматься виртуальным моделированием как начинающим графическим дизайнерам, так и более продвинутым специалистам. Создавать Лего-модели могут также и дети. Программа работает в 3 главных режимах:

  • Digital Designer. Это базовый режим, который включает самые необходимые инструменты для работы. Он подойдёт для тех, кто хочет создавать модели по готовым инструкциям.
  • Mindstorms. Это более продвинутый режим, который позволяет работать с деталями и инструментами из одноименной серии.
  • Digital Designer Extended. Самый продвинутый режим, который подходит для пользователей, имеющих немалый опыт в моделировании Лего-конструкций. Здесь есть инструменты, детали и цветовое оформление, которых не встретить в базовом режиме работы.

фото-1

Вот, что о них говорят сами разработчики:

Каждый режим подразумевает возможность сохранять, редактировать сконструированные модели, а также использовать чужие конструкции для работы.

Как пользоваться программой

При открытии программы Lego Designer пользователь увидит:

  1. Панель управления. Она будет располагаться справа;
  2. Магазин с инструментами, шаблонами и деталями – Bricks, Template, Group находится слева;
  3. Главную рабочую зону с макетом модели;
  4. В верхней части окна утилиты можно найти специальную панель инструментов, с помощью которой можно переключаться между разными опциями, помогающими вращать, передвигать и переворачивать элементы будущей виртуальной модели.

фото-1


Перед тем как начать работу, следует открыть раздел Welcome Screen и выбрать специфику моделирования: с нуля или с уже готовой основой.Пользователь может проделывать все основные этапы работы через главную панель задач. Здесь же можно воспользоваться анимационными эффектами и иными графическими опциями.

фото-1

При необходимости детально рассмотреть получившуюся модель, необходимо зажать правую клавишу мышки. Теперь можно крутить курсор и наводить его на те части конструкции, которые следует подробно рассмотреть. При необходимости увеличить или уменьшить масштаб работы, можно воспользоваться колёсиком мышки или кнопками ‘+’ и ‘-‘.

фото-1

Чтобы вращать особые детали, которые уже находятся в составе сборной конструкции, но все ещё считаются свободными для проведения всевозможных работ, можно пользоваться режимом Higletool. Когда модель будет полностью собрана, пользователь может нажать на кнопку Building Guide Mode и увидеть, как виртуальный проект создавался с самого начала. Для этого Lego Digital Designer сначала разберёт имеющуюся модель, а затем соберёт её в ускоренной режиме при помощи режима анимации. Анимационный процесс сборки можно записать и сделать из него оригинальную презентацию.

Внимание! Программа Лего Дизайнер функционирует полностью бесплатно. При этом разработчики могут высылать пользователям недостающие детали для создания определенной модели. Для этого необходимо обратиться в службу поддержки.

Сохранять готовые конструкции можно в формате LXF. С готовых работ пользователи могут сделать скриншот в формате PNG. Но стоит учитывать, что выбор фона, на котором можно заскринить модель, ограничен. Если пользователю хочется сделать необычный и оригинальный скриншот, то фон можно дорисовать самостоятельно, используя сторонние программы для графического дизайна. Для создания скриншота нужно зайти в раздел View Mode. Здесь же пользователь сможет поменять фон конструкции. При выборе цветовой подложки программа издаёт характерный звук. Его легко можно отключить в этом же разделе меню.

фото-1

Пособие для самостоятельного обучения учащихся и педагогов дополнительного образования технической направленности работе в программе «LEGO Digital Designer».

Преимущества утилиты

Lego Digital Designer – качественная и продуманная до мелочей программа для виртуального моделирования, которая имеет немало преимуществ:

Недостатки

Несмотря на большое количество плюсов, утилита Лего Диджитал имеет и минусы:

  • Иногда программа может вылетать.
  • Цветовая гамма деталей весьма специфична.
  • Проектирование требует от человека наличия навыков точности.
  • Некоторые важные детали в программе могут отсутствовать.

Lego Digital Designer редко, но все-таки может вылетать и тормозить. Здесь особое значение также играет само устройство, на котором работает утилита. На устарелых компьютерах Lego Digital Designer может работать с ошибками.

Осторожно! Пользователи отмечают не самый богатый выбор деталей в базовом режиме моделирования. Однако все детали можно попросить у разработчиков на официальном сайте в разделе технической поддержки. Ожидание ответа может занять несколько суток.

Итоги

Lego Digital Designer — программа для 3D-моделирования, которая позволяет создавать проекты разного уровня сложности. Утилита отличается многофункциональностью, большим выбором инструментов, наличием трех режимов работы. LEGO Digital Designer имеет доступный интерфейс, поэтому использовать прогу могут также и дети. Создавать модели здесь можно с нуля или за счёт использования готовых шаблонов и 3D-моделей, которые загрузили другие пользователи. Весь функционал представлен для использования на бесплатной основе.

Полезное видео

Видео обзор программы и туториал по ее применению:

Lego Ideas - FAR: LONE SAILS - LOCOMOTIVE

Lego Ideas - FAR: LONE SAILS - LOCOMOTIVE

В этой статье хотел бы рассмотреть один интересный ресурс — Lego Ideas, и поделится своим опытом публикации работ на нем. Примечательно то, что даже если у вас нет под рукой конструктора Lego — не проблема. Главное обладать хорошей фантазией и любить собирать конструкторы (ну и компьютер не помешает). Также упомяну, что участник должен быть старше 12 лет.

Сайт Lego Ideas, разработанный компанией LEGO Group, позволяет пользователям делится своими идеями для участия в розыгрыше призов, или даже для полноценного выпуска вашей идеи в качестве официального набора Lego. Как только я узнал про данную возможность, моему вдохновению не было предела, и я начал разбираться.

Всего на сайте есть 3 вида участия: Activities, Contests и Product Ideas.

Activities — простенькие упражнения, которые проводятся почти каждую неделю и в которых нет ни призов, ни победителей. Поучаствовать можно только для проверки своих сил, или чтобы размяться. Большего интереса вызывают 2 следующих конкурса, ради которых уже можно постараться.

Однако тут не всё так просто. У вашей опубликованной работы будет ограниченное время, чтобы набрать голоса. Чтобы набрать первые 100 голосов — вам дается 60 дней. По достижении этой отметки вам предстоит набрать 1000 голосов за 365 дней, затем 5000 за 182 дня и наконец 10000 еще за 182 дня. Если вы наберете какую-то отметку раньше крайней даты — количество дней просто прибавится к тем, которые остались. Однако если время выйдет, и работа не успеет набрать достаточно голосов — работа помечается «Просроченной» и выбывает из конкурса.

100 голосов

1000 голосов

5000 голосов

10000 голосов

Вторым нюансом является то, что даже при достижении 10000 голосов, работа всё-равно может быть отклонена командой Lego. Я видел уже несколько работ, которые очень быстро набирали заветные 10000, но их отклоняли по тем или иным причинам. Если работу отклонят, то команда Lego обещают до трех продуктов LEGO на общую сумму 500 долларов в качестве утешительного приза.

Lego - Plants vs. Zombies

Lego - Plants vs. Zombies

Для набора 10000 голосов работу можно периодически обновлять (улучшать, менять картинки, описание и теги), однако делать это можно только раз в месяц! В общей сложности на весь этот процесс и ожидание уйдет около двух лет, по-этому если решили поучаствовать — стоит набраться терпения.

Инструментарий для создания набора

Когда я впервые узнал про возможность создавать свои наборы и участвовать в конкурсах по Lego, я немного растерялся. Все мои детские наборы остались в другом городе, да и если бы они были, нужных деталей явно не нашлось бы для моих идей. Я принялся искать программу, которая позволяла бы собирать наборы из доступных частей Lego, и по итогу остановил свой выбор на BrickLink Studio. Есть и альтернативы данной программе, но даже на сайте Lego Ideas рекомендуют именно ее. Эта программа отлично справляется со своей задачей: библиотека всех доступных деталек Lego, (которые выпускаются на текущий момент), качественный рендер получившейся модели и даже создание инструкций по сборке! (не для этих конкурсов, но возможность весьма интересная). По той же ссылке есть ссылка на скачивание программы PartDesigner, которая хорошо дополняет первую программу возможностью кастомизировать детали. Благодаря ей вы сможете накладывать на детали любые изображения, создавать свои минифигурки и импортировать их непосредственно в Studio 2.0.

Управление и интерфейс

Также из интересных возможностей есть функция «Collision», которая при включении показывает прозрачными те блоки, которые накладываются друг на друга. Выделив несколько деталей, можно создать подмодель, вызвав контекстное меню ПКМ . Это позволят разбить большую модель на более мелкие и позднее редактировать их по-отдельности, либо перемещать сразу всю группу.

Инструментарий программы Studio 2.0

Инструментарий программы Studio 2.0

Последним из полезных функций выделю «Render», который позволяет выбрать нужный ракурс и сохранить изображение вашей модели. Другие возможности программы можно прочитать на начальном экране.

Отмечу что в списке деталей справа, если какая-то деталь отмечена желтым восклицательным знаком — значит она окрашена в цвет, который ей не доступен в реальности (нет в производстве). И в таком случае деталь нужно перекрасить в другой доступный цвет. (В палитре цветов есть галочка «Hide unavailable colors», которая спрячет все недоступные цвета для данной детали). Если же вы наоборот заведомо знаете нужный вам цвет, и ищете деталь под этот цвет — справа от поиска деталей тоже есть палитра цветов, в которой при включении «Hide unavailable parts in the selected color» программа отобразит только те детали, которым доступен выбранный цвет.

Примеры сборок

После освоения программы я задался вопросом, а как же мне собирать те вещи, которые уже в каком-то наборе собраны, либо если не знаю с чем объединяется какая-то деталь? Для этих задач я нашел 2 полезных сайта:

По этой ссылке можно скачать инструкции большинства наборов Lego, которые официально выходили ранее. На нем я искал примеры и похожие модели, которые помогали мне собрать похожие идеи. Зачем собирать велосипед, если его уже собирали?) В конце каждой инструкции есть список деталей, которые использовались в наборе. Под каждым из них есть его номер. И тут есть нюанс. В нашей программе можно искать детали по номеру самой детали. А в инструкциях по сборке указаны номера деталей определенного цвета. То-есть у базовой детали один номер, а у каждого цвета этой же детали — другие номера. И вот тут мне пригодился второй сайт.

Благодаря инструкциям я увидел как взаимодействуют между собой некоторые детали, как добавить механизмы и движения в набор и тд. Это очень упростило процесс сборки. Единственной проблемой осталось непонимание, какие есть интерактивные детали (которые как-то движутся, светятся и тд.) и как они работают. Это пришлось постигать на просторах ютуба и по визуальным объяснениям в схемах. Конечно было бы намного проще, если бы у меня были под рукой такие наборы. Но увы.

Поиск идей

Перед непосредственной сборкой идеи хочется обсудить саму идею. На сайте Lego Ideas очень жесткие правила для подачи работ. В частности запрещена подача работ по многим франшизам. Я так обжегся дважды, собрав наборы, которые запрещены для подачи из-за авторских прав. Потому предлагаю следующий метод: если ваша идея абстрактная, не связанная с каким-либо продуктом (кино, видеоигры, сериалы и тд.) - тогда смело выбирайте первый вариант при подаче работы, выбрав «No, it's my original idea» (Подать работу можно по ссылке). Если же ваша идея основана на какой-то франшизе — то перед началом сбора настоятельно рекомендую проверить разрешена ли она. Для этого нужно ввести ее во втором варианте «Yes, it's based on an existing IP». Если она отмечена зеленой галочкой — всё хорошо, можно креативить. Если же нет — нужно придумать что-то другое. В случае, если франшиза вообще не найдена — вы можете подать свою идею на свой страх и риск. При проверке модераторы определят, разрешена ли франшиза, на которой основана ваша идея. И тут как повезет.

Рендер

Lego - Sonic the Hedgehog 2 - Chemical Plant Zone

Lego - Sonic the Hedgehog 2 - Chemical Plant Zone

После воплощения вашей идеи в 3D модель — пришло время отрендерить ее и подать заявку на рассмотрение. Опишу несколько моментов. В самом окне рендера я рекомендую вкладку «Photoreal». В остальном можете выбрать настройки на ваше усмотрение. Можно настроить ракурс камеры, выбрать цвет фона, размер картинки (рекомендую устанавливать больше 1280x720px). После выбора настроек добавьте картинку в очередь на рендер кнопкой «Add to Queue», и можете продолжить выбирать другие ракурсы.

Когда добавите все нужные ракурсы в очередь — переходим во вкладку Queue и нажимаем «Render Queue». Начнется процесс рендера, который займет какое-то время и ресурсы компьютера.

Публикация работы

Для публикации своей работы на сайте нужно придумать название, описание, теги и добавить картинки вашей работы. Минимальный размер картинок для загрузки — 1280x720px. Максимальный размер файлов — 5MB. Перед публикацией разрешено пользоваться фотошопом для цветокоррекции изображений, изменения размеров и тд. Я также обычно указываю стрелками интерактивные элементы, которые в реальности будут двигаться. Но тут будьте аккуратны. Модераторы не любят коллажи и любой другой лишний дизайн на ваших картинках, из-за чего вашу работу могут не принять с первого раза, а отправят вам на доработку с указанием причины возврата. Мне одну работу вернули 6 раз, так что я знаю о чем говорю) Нужно чтоб саму модель ничто не перекрывало.

По поводу текстовой информации по вашей работе — всё должно быть на английском. Так что открываем переводчик вспоминаем английский, и творим. Как я упоминал раннее, работу можно будет отредактировать только через месяц после публикации.

Lego Ideas - NARUTO: ATTACK OF THE NINE TAILS

Lego Ideas - NARUTO: ATTACK OF THE NINE TAILS

В целом это всё, чем я хотел поделиться. Буду рад если кому-то эта статья будет полезна. Это моя первая публикация, так что критика приветствуется. Если будет интересно — напишу вторую часть про создание анимации модели, рисование кастомных минифигурок и что-нибудь еще.

Привет, Хабр! Мы уже рассказывали о платформе LEGO MINDSTORMS Education EV3. Основные задачи этой платформы — обучение на практических примерах, развитие навыков STEAM и формирование инженерного мышления. В ней можно проводить лабораторные работы по изучению механики и динамики. Лабораторные стенды из кубиков LEGO и утилиты по регистрации и обработке данных делают опыты еще интереснее и нагляднее и помогают детям лучше понять физику. Например, школьники могут собрать данные о температуре плавления и с помощью приложения систематизировать их и представить в виде графика. Но это только начало: сегодня мы расскажем, как дополнить этот набор средой программирования MicroPython и использовать его для обучения робототехнике.




Учим программированию с помощью EV3

Современные школьники хотят видеть красочный результат. Да, им скучно, если программа выводит в консоль числа, и они хотят рассматривать цветные графики, диаграммы и создавать настоящих роботов, движущихся и выполняющих команды. Обычный код тоже кажется детям слишком сложным, поэтому обучение лучше начинать с чего-нибудь полегче.

Базовая среда программирования EV3 создана на основе графического языка LabVIEW и позволяет задавать алгоритмы для робота визуально: команды представлены в виде блоков, которые можно перетаскивать и соединять.


Такой способ хорошо работает, когда нужно показать, как строятся алгоритмы, но он не подходит для программ с большим количеством блоков. При усложнении сценариев необходимо переходить на программирование с помощью кода, но детям трудно сделать этот шаг.

Здесь есть несколько хитростей, одна из которых — показать, что код выполняет те же задачи, что и блоки. В среде EV3 это можно сделать благодаря интеграции с MicroPython: дети создают одну и ту же программу в базовой среде программирования с помощью блоков и на языке Python в Visual Studio Code от Microsoft. Они видят, что оба способа работают одинаково, но кодом решать сложные задачи удобнее.

Переходим на MicroPython

Среда EV3 построена на базе процессора ARM9, и разработчики специально оставили архитектуру открытой. Это решение позволило накатывать альтернативные прошивки, одной из которых стал образ для работы с MicroPython. Он позволяет использовать Python для программирования EV3, что делает работу с набором еще ближе к задачам из реальной жизни.

Чтобы начать работать, нужно скачать образ EV3 MicroPython на любую microSD-карту, установить ее в микрокомпьютер EV3 и включить его. Затем нужно установить бесплатное расширение для Visual Studio. И можно приступить к работе.

Программируем первого робота на MycroPython


На нашем сайте есть несколько уроков для освоения базовых понятий робототехники. Модели на EV3 знакомят детей с азами, которые используются в самоуправляемых автомобилях, заводских роботах-сборщиках, станках с ЧПУ.

Мы возьмем для примера чертежную машину, которую можно научить рисовать узоры и геометрические фигуры. Данный кейс является упрощенным вариантом взрослых роботов-сварщиков или фрезеровщиков и показывает, как можно использовать EV3 совместно с MicroPython для обучения школьников. А еще чертежная машина может разметить отверстия в печатной плате для папы, но это уже другой уровень, требующий математических расчетов.

Для работы нам понадобятся:

  • базовый набор LEGO MINDSTORMS Education EV3;
  • большой лист клетчатой бумаги;
  • цветные маркеры.

Сначала инициализируем библиотеку модулей EV3:


Настраиваем платформу, которая вращает ручку как мотор в порте B. Задаем передаточное отношение двухступенчатой зубчатой передачи с количеством зубьев 20-12-28 соответственно.


Настраиваем подъемный механизм для ручки как мотор в порте C:


Настраиваем гироскоп, измеряющий угол наклона ручки, в порте 2:


Настраиваем цветовой датчик в порте 3. Датчик используется, чтобы определять белую бумагу под чертежной машиной:


Настраиваем датчик касания в порте 4. Робот начинает рисовать, когда датчик нажат:


Определяем функции, которые поднимают и опускают ручку:


Определяем функцию для поворота ручки на заданный угол или до определенного угла:


Если целевой угол больше, чем текущий угол гироскопического датчика, продолжаем движение по часовой стрелке с положительной скоростью:


Если целевой угол меньше, чем текущий гироскопического датчика, то двигаемся против часовой стрелки:


Останавливаем вращающуюся платформу, когда целевой угол будет достигнут:


Устанавливаем начальное положение ручки в верхнем положении:


Теперь идет основная часть программы — бесконечный цикл. Сначала EV3 ожидает, когда датчик цвета обнаружит белую бумагу или синюю стартовую клетку, а датчик касания будет нажат. Затем он рисует узор, возвращается в исходное положение и повторяет все заново.

Когда устройство не готово, светодиоды на контроллере принимают красный цвет, и на ЖК-экране отображается изображение «палец вниз»:


Дожидаемся, когда датчик цвета считает синий или белый цвет, устанавливаем цвет светодиодов зеленым, отображаем на ЖК-экране изображение «палец вверх» и сообщаем, что устройство готово к работе:


Дожидаемся нажатия датчика касания, присваиваем гироскопическому датчику значение угла 0 и начинаем рисовать:


Поднимаем держатель ручки и возвращаем его в исходное положение:


Вот такая несложная программа у нас получилась. И теперь запускаем ее и смотрим на робота-чертежника в деле.

Что дают такие примеры


EV3 — это инструмент для профориентации в рамках профессий STEM и точка входа в инженерные специальности. Так как на нем можно решать практические задачи, дети получают опыт технических разработок и создания промышленных роботов, учатся моделировать реальные ситуации, понимать программы и анализировать алгоритмы, осваивают базовые конструкции программирования.

Поддержка MicroPython делает платформу EV3 подходящей для обучения в старших классах. Ученики могут попробовать себя в роли программистов на одном из самых популярных современных языков, познакомиться с профессиями, связанными с программированием и инженерным проектированием. Наборы EV3 показывают, что писать код — это не страшно, готовят к серьезным инженерным задачам и помогают сделать первый шаг к освоению технических специальностей. А для тех, кто работает в школе и связан с образованием, у нас подготовлены программы занятий и учебные материалы. В них детально расписано, какие навыки формируются при выполнении тех или иных задач, и как полученные навыки соотносятся со стандартами обучения.

LeoCAD имеет интуитивно понятный интерфейс, который позволяет новым пользователям начинать создавать новые модели, не тратя слишком много времени на изучение приложения.

В то же время он имеет богатый набор функций, который позволяет опытным пользователям создавать модели, используя более совершенные методы.

LeoCAD является открытым исходным кодом, поэтому каждый может внести свой вклад в исправления и функции, и он всегда будет оставаться свободным.


LeoCAD представляет стандартный графический интерфейс пользователя: панель заголовка, меню и панели инструментов вверху, строка состояния внизу, рабочее пространство слева и окна инструментов справа.

В левой части области рабочей области отображается одно или несколько видов вашей модели. Справа находится окно инструмента, в котором отображается список доступных частей с изображением предварительного просмотра выбранной в данный момент части и палитрой доступных цветов. Существуют дополнительные окна инструментов, которые доступны для других операций, но они не будут включены в этот учебник.

Обратите внимание, что пользовательский интерфейс варьируется между операционными системами, поэтому, если вы не используете версию LeoCAD для Windows, ваше приложение будет немного отличаться от того, что показано на рисунках.

Просмотр списка запасных частей

Начните строить автомобиль, добавив синюю «Пластину 1 x 4»:

Прокрутите список «Детали» (по умолчанию это отображается вдоль правого края рабочей области), пока не найдете группу «Пластина», затем разверните эту группу и выберите «Пластина 1 x 4».

Теперь щелкните по синему прямоугольнику в окне инструментов «Цвета» чуть ниже списка «Parts», и вы заметите, что изображение в правом верхнем углу изменяется, когда вы выбираете разные части или меняете цвета, чтобы отражать ваши текущие варианты.


Добавление части

Добавьте «Пластину 1 x 4» к вашей модели:

Есть несколько способов добавить часть к модели; самый простой – просто перетащить его из списка «Parts» в «Model View». При перетаскивании фрагмента вы увидите предварительный просмотр того, где он будет размещен при перемещении мыши.


Совет. В качестве альтернативы вы можете нажать клавишу «Вставить» на клавиатуре или использовать функцию «Вставить» на панели инструментов.

Перемещение частей

Теперь добавьте синюю «Пластину 2 x 4»:

Выберите «Plate 2 x 4» из списка «Parts» и добавьте его рядом с частью, добавленной ранее. Это должно быть ровно 2 шпильки отдельно от первой части, поэтому, если вы не уронили ее в правильном положении, вам придется ее корректировать сейчас.

Наведите указатель мыши над стрелками над «Пластиной 2 x 4» и обратите внимание, что когда он будет над одним из них, он станет желтым, и указатель мыши изменится на значок с 4 стрелками. Это означает, что если вы теперь удерживаете «Левую кнопку мыши» и перемещаете мышь, текущие выбранные фрагменты будут перемещаться вдоль линии, где находится стрелка.


Совет. Вы также можете использовать клавиши со стрелкой, «вверх» или «вниз» на клавиатуре или «Переместить» на панели инструментов для перемещения фигур.

Совет. Сетка очень полезна, чтобы быстро измерить расстояние между кусками.

Вращающиеся части

Добавьте синюю «Пластину 2 x 8» поверх предыдущих двух частей:

Когда вы сначала перетаскиваете кусок в модель, он будет параллелен первым кускам, но мы хотим, чтобы он был перпендикулярен им, поэтому нам нужно будет вращать его на 90 градусов.

Наведите указатель мыши на «Вращать» (изогнутую синюю стрелку) на панели инструментов и перетащите деталь, чтобы повернуть фигуру, аналогично тому, что вы сделали, чтобы переместить фигуры на предыдущем шаге. Вам также придется переместить новый кусок, чтобы он был поверх предыдущих.


Совет. Вы также можете использовать клавиатуру для вращения по всем осям, удерживая нажатой клавишу «Shift», одновременно нажимая стрелки, «Page Up» или «Page Down».

Шаги для строительства

Инструкции по строительству обычно разбиваются на несколько этапов, чтобы люди могли легко понять, как построена модель, поэтому перейдем к «Шагу 2» нашей модели, нажав «Далее» (двойная стрелка вправо) на панели инструментов. Обратите внимание, что текущий шаг отображается на «Строке состояния» в нижнем правом углу главного окна.

Теперь перейдите на панель «Временная шкала» (в списке «Parts»), и вы сможете увидеть шаг, на котором каждая часть была добавлена ​​в модель. Чтобы кто-то еще мог построить наш автомобиль, давайте переместим «Plate 2 x 8» на «Шаг 2», перетащив его на «Сроки» с «Шаг 1» на «Шаг 2».

Если вы вернетесь к «Шагу 1» в инструкциях, нажав «Предыдущие» (двойные левые стрелки), вы увидите, что «Пластина 2 x 8» больше не видна и появляется только на «Шаг 2» или позже ,


Совет. Вы также можете нажать клавиши со стрелками «Влево» и «Вправо», удерживая нажатой клавишу «Alt» на клавиатуре, чтобы перейти между шагами.

Поиск запчастей

Теперь переходите к «Шаг 3» инструкций и добавьте рулевое колесо и брызговики. Если вы не знакомы с соглашением об именах в списке «Parts», может потребоваться некоторое время, чтобы узнать, к какой категории принадлежит эта часть, поэтому давайте использовать функцию «Поиск частей», чтобы найти эти части.

Напечатайте «брызговик» в поле «Поиск частей» и нажмите «Enter», и LeoCAD выполнит поиск всех частей для введенного вами текста и отобразит результаты в поле «Поиск частей» в нижней части списка «Parts».

Выберите «Car Mudguard 2 x 4 без шпилек» и добавьте его в модель, затем сделайте то же самое для рулевого колеса, и у вас будет что-то вроде этого:


Добавление дополнительных частей

Продвиньте инструкции еще на один шаг и добавьте «Наклонный кирпич 45 2 x 2» над брызговиком, а другой – к передней части автомобиля.

Давайте добавим еще одну «Пластину 1 х 4» к машине; вот картина почти полного автомобиля:


Вращение представления

Теперь нам нужно добавить колеса к машине, поэтому давайте начнем с добавления держателей колес в «Шаг 5». Не будет легко увидеть нижнюю часть автомобиля с текущего положения, поэтому давайте повернем камеру, чтобы получить лучший обзор.

Удерживайте нажатой клавишу «Alt» на клавиатуре, когда вы перетаскиваете мышь с помощью кнопки «Левая кнопка мыши», и изображение будет вращаться. При нажатой клавише «Alt» перетаскивание с помощью кнопки «Средняя мышь» панорамирует вид сбоку, а перетаскивание с помощью кнопки «Правая кнопка мыши» будет увеличиваться и уменьшаться.

Как только у вас будет хорошая позиция, добавьте в автомобиль 2 черных «Пластины 2 x 2 с колесиками»:


Совет. Кнопки и клавиши для этих ярлыков можно настроить в меню «Настройки».

Движение

Перейдите к «Шаг 6» и добавьте серый «Колесный ободок 6.4 x 8» и черный «Протектора Tire 6/50 x 8 Offset».

Если вы приближаетесь ближе, вы заметите, что с шагом по умолчанию невозможно получить правильное совмещение колеса с держателем колеса, поэтому вам нужно снять флажок «Переместить привязку», нажав кнопку «Движение» “(Значок левого магнита) на панели инструментов

Одновременно выберите шины и колесо, удерживая клавишу «Control» на клавиатуре и нажимая на каждую деталь, а затем переместите их в правильное положение автомобиля.


Подсказка: текущие приращения движения показаны на «Строке состояния».

Скопировать и вставить

Нам еще нужно еще 3 комплекта колес, но вместо того, чтобы добавлять новые шины и колеса по одному, мы можем сэкономить время, скопировав те, которые мы только что добавили в буфер обмена, и вставим их обратно. Он работает, как и большинство других приложений, – используйте сочетания клавиш или меню «Изменить», чтобы скопировать и вставить в буфер обмена.

Когда вы вставляете копию, она помещается в ту же позицию, что и вы ее скопировали, поэтому нам нужно переместить новые части на другую сторону автомобиля. Поскольку автомобиль имеет ровно четыре шипы, вы можете повторно выбрать «Movement Snap Enabled» и установить его значение «1 Stud», нажав «Snap XY» в меню «Движение привязки», чтобы легко позиционировать новое колесо с другой стороны машина.


Нам еще нужно последнее дело, чтобы закончить проект – водитель! Перейдите на другой шаг и выберите «Minifig Wizard» из меню «Piece», и вы увидите диалог, в котором вы можете настроить мини-фильтр. Выберите цвета и аксессуары, которые вы хотите, и нажмите «ОК», чтобы добавить драйвер.

Готовая машина должна выглядеть примерно так:


Это завершает учебник. Помните, что в этом учебном пособии не рассказывается, как использовать расширенные функции LeoCAD; это всего лишь введение в основные функции.

Читайте также: