Как сделать пошаговую инструкцию LEGO (создание инструкции в LPub)?

Автор: Alex. Опубликовано в Копилка . просмотров: 6999

Рейтинг:  5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

В первой статье мы научились создавать виртуальную модель с помощью программ MLCad и LSynth. В этой второй статье мы рассмотрим, как создать полноценную пошаговую инструкцию по сборке робота LEGO Mindstorms Education EV3 с помощью программы LPub.

Первая статья «Как сделать пошаговую инструкцию LEGO (создание модели в MLCad + LSynth)?» описывает, как установить программы MLCad, LSynth и LPub и как создать вигруальную модель вашего робота в программах MLCad и LSynth.

Подготовка проекта к публикации в LPub

Публикация готового проекта или, другими словами создание инструкции, делается с помощью программы LPub. На выходе у вас будет файл PDF или набор картинок оформленных в стиле инструкций LEGO. Посмотрим, как работать в программе LPub. Для примера я сделал простой проект со средним мотором, модулем EV3, проводом, созданным в программе LSynth, и с подпроектом.

Запустите LPub и откройте ваш проект. После открытия вы сразу видите первую страницу будущей инструкции с изображением первого шага.

Программа LPub

Сразу разберёмся с интерфейсом программы. В основном пространстве окна программы отображается лист с текущим шагом будущей инструкции. Справа вы видите файл проекта в текстовом виде с подсветкой разными цветами. В этом текстовом редакторе можно менять проект и после этого, чтобы увидеть сделанные изменения в инструкции нужно нажимать кнопку «Redraw» (кнопка с закрученной стрелкой над текстом проекта - Кнопка Redraw).

Чтобы перемещаться между страницами, щёлкайте по жёлтым стрелочкам или вбивайте номер страницы в текстовом поле между стрелками «1 of 6», где вместо единицы вводите нужную страницу.

Первое, что нужно сделать, при создании инструкции, - это задать параметры страницы. Окно настройки параметров страницы вызывается из меню «Configuration -> Page Setup». Чтобы задать страницу размером A4 в портретном режиме, указываем размеры 21x29,7 см, см. картинку. Чтобы повернуть страницу в альбомный режим – просто поменяйте эти значения местами. Поля (Margins) влияют на расстояние, на котором от края листа будут расположены номера шагов и страниц.

Здесь же можно указать будет ли рамка у страницы, какого она будет цвета, формы и ширины. А также задать цвет фона страницы. По умолчанию цвет фона устанавливается разным для разных уровней (Submodel Level Color). Под уровнями имеются ввиду используемые подпроекты. Ведь в каждом подпроекте могут использоваться другие подпроекты, это и есть уровни. Т.е. фон для основного проекта – будет белым, для подпроекта – жёлтым, для подпроекта подпроекта – розовым, и.т.д. На закладке «Page Number» можно задать параметры отображения номера страницы (местоположение, шрифт, размер, цвет и т.п.).

Параметры страницы в LPub

Кроме того в меню вы можете найти настройки финальной сборки («Configuration -> Assembly Setup»), списка деталей для шага («Configuration -> Parts List Setup») и списка деталей всего проекта («Configuration -> Bill of Materials Setup»), выносок («Configuration -> Callout Setup»), группы шагов («Configuration -> Step Group Setup») и настройки проекта («Configuration -> Project Setup»). В статье я не буду рассматривать эти настройки.

Также вы сможете настраивать каждый элемент отдельно от общих настроек. Например, чтобы настроить внешний вид списка деталей первого шага, щёлкните по пустому пространству списка деталей и вы увидите пункты меню для изменения фона («Change Parts List Background»), рамки («Change Parts List Border») и отступов («Change Parts List Margins»).

Меню для изменения внешнего вида списка деталей в LPub

После подтверждения изменений LPub спросит вас, хотите ли вы изменить только текущий шаг, см. картинку. Если вы ответите «Yes», то изменения коснутся только текущего шага, иначе будут изменены общие настройки проекта.

Запрос на изменение общих настроек или одного шага в LPub

Выравнивание элементов в LPub

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

Вызов диалога привязок в LPub

В диалоге «LPub: PLI Placement Dialog» в выпадающем списке слева сверху вы можете выбрать элемент к которому вы будете привязывать ваш список деталей (как видите, сейчас это номер страницы – Step Number). Также список деталей можно привязать к странице (Page), схеме сборки (Assem), номеру страницы (Step Group). Остальные кнопки обозначают местоположение относительно выбранного элемента.

Диалог "LPub: PLI Placement Dialog" для привязки элементов в LPub

Попробуем привязать список деталей к правому верхнему углу страницы. Для этого в списке выберите «Page» и щёлкните по кнопке «Top/Right» (Сверху/Справа), см. картинку. Нажмите «OK».

Привязка списка деталей к верхнему правому углу страницы в LPub

В следующем диалоге, если он появился, нажмите «Yes», если вы меняете только этот шаг или «No», если нужно изменить настройки всего проекта.

Подтверждение изменений текущего шага или общих настроек проекта в LPub

И как вы видите, список переместился в верхний правый угол страницы.

Отображение списка деталей в правом верхнем углу страницы в LPub

Создание группы шагов в LPub

В моём примере шаги 1 и 2 очень малы и могут поместиться на одну страницу. Сгруппировать шаги на одной странице очень просто. Щёлкните правой кнопкой мышки на модели и выберите пункт меню «Add Next Step».

Добавление второго шага на одну страницу в LPub

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

Отображение двух шагов на одной странице в LPub

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

Увеличение высоты списка деталей, чтобы всё уместилось на странице в LPub

Таким образом, на страницу можно добавить любое количество шагов. Если какой либо шаг нужно убрать обратно из группы, щёлкните по нему правой кнопкой мышки и выберите пункт «Remove this Step».

Если листы вашего проекта ориентированы альбомно, то вам может понадобиться расположить шаги не друг под другом, а рядом. Чтобы это сделать, щёлкните по модели любого шага правой кнопкой мышки и выберите пункт меню «Display as Rows».

Отображение больших моделей в LPub

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

Большая модель не умещается на странице в LPub

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

Обрезка осталась после передвижения большой модели в LPub

Как видите, проблема налицо: модель сдвинулась, но осталась подрезанной. Давайте разберёмся, почему так происходит. Дело в том, что для формирования картинки с изображением модели используется программа LDView, которая всегда размещает модель по центру и обрезает края, которые не влезли. Картинки, заготавливаются автоматически и складываются в папку LPub\assem в той же папке, в которой находится файл проекта .ldr. После этого программа LPub просто подставляет картинки на лист. Чтобы картинки не подрезались, нужно выполнить следующую последовательность действий:

1. Откройте проект. Если проект открыт, то сохраните проект.
2. Увеличьте размер страницы, чтобы модель помещалась целиком, например, в 2 раза по ширине и в 2 раза по высоте.
3. После этого запустите создание PDF-файла (пункт меню «File -> Print to File»). При этом пересоздадутся все картинки модели.
4. Не закрывая LPub, скопируйте созданные картинки из папки LPub\assem в какую-нибудь временную папку.
5. Теперь закройте LPub без сохранения изменений.
6. Найдите нужные необрезанные картинки во временной папке, имена файлов должны быть следующими: filename_*_a_xxxx_yyy_DPI_*.png, где

filename – имя файла вашего ldr-файла;
* - множество нулей и единиц с подчёркиваниями;
a – номер шага;
xxxx – ширина страницы в дюймах умноженная на DPI;
yyy – значение DPI.

7. Переименуйте нужные файлы во временной папке, заменив xxxx на произведение ширины страницы в дюймах и значение DPI (в примере - 150) с отброшенной дробной частью. DPI (Dots Per Inch) – количество точек в дюйме, но в моём примере – это количество точек в сантиметре. Узнать или поменять эту величину можно в настройках: пункт меню «Configuration -> Project Setup». В примере ширина страницы 21 см, в результате получится так: 21/2,54*150=1240,157480314961. Отбрасываем дробную часть и получаем 1240.
8. Скопируйте готовые файлы из временной папки в папку LPub\assem и сделайте их доступными только для чтения (в эксплорере пункт контекстного меню «Свойства», в диалоге свойств файлов установите галочку «Только чтение» и закройте диалог, нажав «OK»).
9. Всё готово. Запустите LPub, откройте проект и проверьте результат.

Отображение большой модели в LPub

Как видите, мотор и модуль EV3 отображаются теперь целиком. Позже, при формировании инструкции, непомещающиеся на листе части модели будут обрезаны. На счёт этого не стоит волноваться.

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

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

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

Отображение проводов в LPub

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

В LPub не отображаются провода

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

Находим имя файла деталей, из которых состоит провод в LPub

Дальше находим этот файл в папке с деталями программы LSynth (по умолчанию – это папка C:\Users\Public\Documents\LDraw\Unofficial\LSynth) и копируем его в папку, в которой находится файл проекта .ldr. После этого перезапустите LPub. Как видите, провод появился.

Провод появился в программе LPub

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

Неправильное отображение деталей, из которых состоит провод в LPub

Это нам совсем не подходит. Чтобы это исправить, нужно вручную в тексте проекта перед строками, относящимися к проводу, поставить строки

0 LPUB PLI BEGIN SUB 11145.dat 15
0 !LPUB PART BEGIN IGN

а в конце строки

0 !LPUB PART END
0 LPUB PLI END

При этом уберите лишние строки «0 LPUB PLI BEGIN SUB 4297187.dat 16» и «0 LPUB PLI END», которые были автоматически установлены программой LSynth. В общем-то, нужно проверить, что на один провод у вас одна строка «0 LPUB PLI BEGIN SUB …» в начале и одна строка «0 LPUB PLI END» в конце. При этом вилки, тоже должны попасть внутрь строк «0 !LPUB PART BEGIN IGN» и «0 !LPUB PART END».

Здесь строки «0 !LPUB PART BEGIN IGN» и «0 !LPUB PART END» сообщают программе LPub, что всё находящееся между ними нужно игнорировать при формировании перечня деталей. А строки «0 LPUB PLI BEGIN SUB 11145.dat 15» и «0 LPUB PLI END» сообщают, что всё, что находится между ними – это деталь 11145.dat, т.е. провод EV3 длиной 25см. Чтобы в списке деталей отображался нужный провод, пропишите в строке «0 LPUB PLI BEGIN SUB 11145.dat 15» имя файла с нужным вам проводом (имя файла можно узнать, например, в программе MLCad: имя подсвечивается в статусной строке, если навести мышку на деталь в области 3, см. «Интерфейс программы MLCad» в начале первой статьи). Для провода EV3 25см – это файл 11145.dat, 35см - 11146.dat, 50см - 11147.dat.

Ещё небольшое замечание по поводу цвета вилок. В примере я сделал их белыми (номер цвета 15), но вы можете для большей схожести с настоящими вилками сделать их полупрозрачными, выставив, например, цвет Glitter_Trans_Clear, номер цвета - 117. Т.е. для прозрачности вместо цифры 15, нужно поставить 117.

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

0 LPUB PLI BEGIN SUB 11145.dat 15
0 !LPUB PART BEGIN IGN
1 15 127 -64 -216 -1 0 0 0 -1 0 0 0 1 933c01.dat
1 15 28 18 -150 1 0 0 0 -1 0 0 0 -1 933c01.dat
0 LPUB PLI BEGIN SUB 4297187.dat 16
0 SYNTH BEGIN PLI_ELECTRIC_NXT_CABLE_20CM 16
0 SYNTH SHOW
0 MLCAD HIDE 1 2 28 18 -151 1 0 0 0 0 -1 0 1 0 LS05.dat
0 MLCAD HIDE 1 14 42.492 -10.358 -192 -0.965926 -0.258819 0 -0.258819 0.965926 0 0 0 -1 LS05.dat
0 MLCAD HIDE 1 14 68.2 -47.416 -147 0 0 1 -1 0 0 0 -1 0 LS05.dat
0 MLCAD HIDE 1 14 82.765 -67.994 -85 -0.866025 -0.5 0 -0.5 0.866025 0 0 0 -1 LS05.dat
0 MLCAD HIDE 1 14 118.264 -92.564 -134 -0.965926 0 -0.258819 -0.258819 0 0.965926 0 1 0 LS05.dat
0 MLCAD HIDE 1 4 127 -64 -199 1 0 0 0 0 -1 0 1 0 LS05.dat
0 SYNTH SYNTHESIZED BEGIN
1 0 28 18 -151 0.9999 0.0575 -0 0 -0.0269 -1 0.0141 -4.0722 0.0066 LS12.dat
1 0 28.0507 17.9763 -154.59 0.9841 0.1327 -0.173 -0.1723 -0.0696 -0.9848 0.0435 -3.2756 0.0139 LS12.dat
1 0 28.1659 17.9159 -157.433 0.9497 0.1699 -0.3068 -0.305 -0.0983 -0.9517 0.071 -2.6959 0.0154 LS12.dat

...

1 0 126.76 -64.7843 -189.705 0.995 0.1733 -0.0879 -0.0942 0.5723 -0.9834 0.0325 -3.6441 -0.1586 LS12.dat
1 0 126.862 -64.4527 -191.805 0.9998 0.1472 0.0006 -0.0006 0.4936 -0.9981 0.0185 -7.9414 -0.062 LS12.dat
0 SYNTH SYNTHESIZED END
0 SYNTH END
0 !LPUB PART END
0 LPUB PLI END

После изменения текста проекта, перерисуйте страницы, щёлкнув по кнопке «Redraw» Кнопка Redraw. После перерисовки вы можете удостовериться, что всё получилось.

Правильное отображение проводов после правок в LPub

Добавление выносок в LPub

Следующий шаг, который показывает сборку пропеллера и находится в подпроекте, слишком мал и его можно добавить в качестве выноски, чтобы не занимать целую страницу. Чтобы сделать выноску, щёлкните по пустому пространству страницы подпроекта правой кнопкой мышки и выберите пункт «Convert to Callout» (Конвертировать в выноску).

Добавление выносок в LPub

Как видите всё просто. Выноска добавилась, но расположение получилось не совсем удачное.

Выноска после добавления в LPub

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

Выноска в LPub после передвижения по странице

Чтобы убрать выноску, если вы передумали, щёлкните по пустой части выноски правой кнопкой мышки и выберите пункт меню «Unpack Calluot».

Борьба с игнорированием пустых шагов в LPub

По умолчанию LPub показывает только те шаги на которых добавляются детали. Но иногда бывает необходимо показать нашу модель с разных сторон. Чтобы заставить LPub показать шаг, на котором детали не добавляются нужно сделать запись в буфер и чтение из него. Для примера приведу часть проект, в котором всего три шага, причём третий шаг абсолютно такой же, как и второй, - это просто взгляд на модель с другой стороны.

1 15 -37 4 -38 1 0 0 0 1 0 0 0 1 32348.dat
1 1 -37 -16 -18 0 1 0 -1 0 0 0 0 1 6558.dat
0 ROTSTEP 45 -60 0 ABS
1 15 -17 -16 -18 0 0 -1 0 1 0 1 0 0 32348.dat
0 STEP
0 ROTSTEP 87.6316 7.11462 0 ABS

Для этого проекта программа LPub сделала две страницы для шагов 1 и 2, а 3-й шаг игнорируется. Чтобы заставить программу LPub показать третий шаг, добавляем в конце второго шага строку «0 BUFEXCHG A STORE» (запись в буфер A) и в третий шаг добавляем строку «0 BUFEXCHG A RETRIEVE» (чтение из буфера A). В результате у нас получится так:

1 15 -37 4 -38 1 0 0 0 1 0 0 0 1 32348.dat
1 1 -37 -16 -18 0 1 0 -1 0 0 0 0 1 6558.dat
0 ROTSTEP 45 -60 0 ABS
1 15 -17 -16 -18 0 0 -1 0 1 0 1 0 0 32348.dat
0 BUFEXCHG A STORE
0 STEP
0 BUFEXCHG A RETRIEVE
0 ROTSTEP 87.6316 7.11462 0 ABS

После изменения проекта перерисуйте страницы кнопкой «Redraw» Кнопка Redraw и вы увидите, что страниц и шагов стало по 3.

Добавление страниц в LPub

LPub позволяет добавлять в инструкцию страницы с произвольным содержанием. Для добавления страниц воспользуйтесь пунктами меню «Edit -> Insert Page» (добавление страницы перед текущей), «Edit -> Append Page» (добавление после текущей), «Edit -> Insert Cover Page» (добавление обложки в начало), «Edit -> Append Cover Page» (добавление обложки в конец). Разница между обычной страницей и обложкой в том, что обложка может быть добавлена только в начало или в конец инструкции и на ней не будет проставляться номер страницы. На добавленную страницу можно добавлять картинки, текст и полный список деталей. Удалить такую страницу можно щёлкнув по меню «Edit -> Delete Page».

При добавлении нескольких страниц я столкнулся с одним неприятным глюком: одна страница добавляется нормально, но все следующие - нет. При этом в текст проекта добавляются строки «0 !LPUB INSERT PAGE». Лечится это следующим образом: установите перед каждой строкой «0 !LPUB INSERT PAGE» строку «0 STEP». Например, три пустые страницы будут выглядеть вот так:

0 STEP
0 !LPUB INSERT PAGE
0 STEP
0 !LPUB INSERT PAGE
0 STEP
0 !LPUB INSERT PAGE

После изменения проекта перерисуйте страницы кнопкой «Redraw» Кнопка Redraw.

Добавление текста и произвольных картинок на страницы в LPub

Добавить произвольные картинки и текст очень просто. Для этого есть пункты меню «Edit -> Add Picture» (для добавления картинки) и «Edit -> Add» (для добавления текста). Добавленную картинку можно увеличивать, уменьшать и передвигать по странице. Текст тоже можно двигать по странице и, кроме того, можно поменять шрифт и цвет. Для удаления картинки или текста, щёлкните по ним правой кнопкой мышки и выберите пункт меню «Delete this Picture» или «Delete This Text».

Добавление полного списка деталей в LPub

В конце или в начале инструкции вы можете захотеть добавить список всех деталей, использованных для создания модели. Сделать это можно на любой странице щёлкнув по пункту меню «Add -> Bill of Materials». Вот результат вставки полного перечня деталей на страницу для нашего тестового проекта.

Добавление полного списка деталей в LPub

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

Изменение размера списка деталей в LPub

Как разбить список деталей на несколько страниц в LPub?

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

1. Вставьте на страницу список материалов.
2. Увеличьте высоту списка. Я рекомендую сделать высоту списка чуть меньше чем высота страницы, и чтобы список не закрывал номер страницы.
3. Увеличьте ширину страницы (пункт меню «Configuration -> Page Setup») так, чтобы весь список уместился на странице.
4. Экспортируйте проект как набор картинок PNG (пункт меню «File -> Export As… -> Export As PNG Images») во временную папку.
5. Найдите картинку со страницей со списком деталей и в любом графическом редакторе (например, Paint или GIMP) порежьте эту картинку по вертикали на несколько штук.

Разбивка списка деталей на две части для LPub

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

Именно таким образом сделан полный список материалов для инструкции по сборке робота Валли.

Публикация проекта в LPub

Когда подготовленная инструкция вас полностью устраивает, можете сохранить её как PDF-файл. Делается это с помощью пункта меню «File -> Print to File». Кроме PDF вы можете экспортировать инструкцию как набор картинок png, jpeg или bmp с помощью группы пунктов меню «File -> Export As…». Картинки могут пригодиться, если вы хотите опубликовать инструкцию на своём сайте.

Итог работы с программами LDraw

И в заключении статьи хочется подвести краткий итог. Программы MLCad, LSynth и LPub вместе – это достаточно мощный инструмент для создания инструкций любой сложности, хотя и имеют ряд глюков и производят впечатление сыроватых продуктов. Например, программы LSynth и LPub не согласованы, и после работы программы LSynth приходится руками править файл проекта, чтобы провода в инструкции выглядели как надо. Но, пользуясь рекомендациями из этой статьи, вы сможете сделать красивую и подробную пошаговую инструкцию. Все вопросы по программам MLCad, LSynth и LPub оставляйте в комментариях. А всем кто очень сильно интересуется темой моделирования и создания инструкций, можно изучить и другие инструменты, такие как LeoCAD, LDCad, SR 3D Builder и официальную программу LEGO - LDD.

Tags: Учебники по использованию программ LSynth LPub LDView LDraw LEGO Mindstorms Education EV3 LEGO

Добавить комментарий


Защитный код
Обновить