LDraw
Создано | Джеймс Джессиман |
---|---|
URL-адрес | https://www.ldraw.org/ ![]() |
Коммерческий | Нет |
Регистрация | Бесплатно |
Текущий статус | Онлайн |
LDraw — это система бесплатных инструментов для моделирования творений Lego в 3D на компьютере. Формат файла LDraw и оригинальная программа были написаны Джеймсом Джессиманом. [ 1 ] хотя формат файла с тех пор развивался и расширялся. [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] Он также смоделировал многие оригинальные детали в библиотеке деталей, которая постоянно поддерживается и расширяется сообществом LDraw. После смерти Джессимана в 1997 году [ 9 ] [ 10 ] Было написано множество программ, использующих библиотеку деталей LDraw и формат файлов. Модели LDraw часто визуализируются в POV-Ray или Blender — бесплатных 3D- трассировщиках лучей .
Формат файла
[ редактировать ]Формат LDraw позволяет разделить модель на этапы, чтобы инструкции по сборке можно было включить в дизайн, а также позволяет выполнять шаги, которые позволяют вращать камеру и даже элементарно перемещать детали. Это также позволяет включать модели в конструкцию более крупных моделей, чтобы упростить проектирование. Это также позволяет эффективно использовать пространство формата файла: вместо указания, например, многоугольников каждой отдельной шпильки конкретного кирпича, общий файл шпильки включается несколько раз с применением преобразования.
Детали, модели, подмодели и многоугольники обрабатываются одинаково и не являются специфичными для моделей Lego (только библиотека деталей). Этот формат можно использовать для хранения 3D-моделей любого типа. Некоторые создали кирпичики других строительных систем для использования с LDraw.
LDraw использует следующие три основных расширения имен файлов: [ 11 ]
- файлы, реализующие часть, подчасть или примитивное использование
.dat
- использовать модель Lego, состоящую из 1 или более кубиков
.ldr
- несколько
.ldr
файлы могут быть объединены в файлы типа.mpd
Формат файла использует обычные текстовые данные и использует кодировку UTF-8 без спецификации .
Пример файла: 3003.dat, реализация блока 2 x 2.
[ редактировать ]0 Brick 2 x 2
0 Name: 3003.dat
0 Author: James Jessiman
0 !LDRAW_ORG Part UPDATE 2002-03
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt
0 BFC CERTIFY CCW
0 !HISTORY 2001-10-26 [PTadmin] Official Update 2001-01
0 !HISTORY 2002-05-07 [unknown] BFC Certification
0 !HISTORY 2002-06-11 [PTadmin] Official Update 2002-03
0 !HISTORY 2007-05-07 [PTadmin] Header formatted for Contributor Agreement
0 !HISTORY 2008-07-01 [PTadmin] Official Update 2008-01
1 16 0 4 0 1 0 0 0 -5 0 0 0 1 stud4.dat
0 BFC INVERTNEXT
1 16 0 24 0 16 0 0 0 -20 0 0 0 16 box5.dat
4 16 20 24 20 16 24 16 -16 24 16 -20 24 20
4 16 -20 24 20 -16 24 16 -16 24 -16 -20 24 -20
4 16 -20 24 -20 -16 24 -16 16 24 -16 20 24 -20
4 16 20 24 -20 16 24 -16 16 24 16 20 24 20
1 16 0 24 0 20 0 0 0 -24 0 0 0 20 box5.dat
1 16 10 0 10 1 0 0 0 1 0 0 0 1 stud.dat
1 16 -10 0 10 1 0 0 0 1 0 0 0 1 stud.dat
1 16 10 0 -10 1 0 0 0 1 0 0 0 1 stud.dat
1 16 -10 0 -10 1 0 0 0 1 0 0 0 1 stud.dat
Приведенный выше код определяет базовый кирпич 2×2. Он состоит из пятигранной коробки ( box5.dat , снаружи) и перевернутой пятисторонней коробки (внутри), соединение между этими двумя состоит из четырех четырехугольников (четыре линии начинаются с 4 ), четырех шпилек сверху. из него ( stud.dat ) и длинную полую шпильку внутри ( stud4.dat ).
Все строки в файле LDraw либо пусты, либо начинаются с номера команды , где 0 означает отсутствие команды (хотя со временем некоторые строки, начинающиеся с 0, за которыми следует определенный текст, написанный заглавными буквами, также получили значение метакоманд). [ 12 ] Например, команда 1 включает подфайл. Он определяет путь к файлу и матрицу преобразования, которая должна быть к нему применена, а также его цвет (где 16 означает «использовать цвет, который использовался при включении текущего файла»). Команда 4 задает четырехсторонний многоугольник. Существуют также команды, определяющие 2D-линии. Такие линии придают деталям четкий контур даже на незаштрихованных ортогональных изображениях.
Пример файла: Pyramid.ldr, модель пирамиды Lego.
[ редактировать ]Следующий код определяет простую модель пирамиды с тремя слоями, состоящими из кирпичей 2 x 4 (кирпич № 3001). с меняющимся цветом и кирпичом 2х2 сверху.
0 Example Pyramid for Demonstration of LDRAW Library
0 Name: pyramid.ldr
0 Author: James Jessiman
1 1 -40 -24 60 1 0 0 0 1 0 0 0 1 3001.dat
1 1 40 -24 60 1 0 0 0 1 0 0 0 1 3001.dat
1 1 60 -24 0 0 0 1 0 1 0 -1 0 0 3001.dat
1 1 40 -24 -60 1 0 0 0 1 0 0 0 1 3001.dat
1 1 -40 -24 -60 1 0 0 0 1 0 0 0 1 3001.dat
1 1 -60 -24 0 0 0 1 0 1 0 -1 0 0 3001.dat
0 STEP
1 4 -20 -48 40 1 0 0 0 1 0 0 0 1 3001.dat
1 4 40 -48 20 0 0 1 0 1 0 -1 0 0 3001.dat
1 4 20 -48 -40 1 0 0 0 1 0 0 0 1 3001.dat
1 4 -40 -48 -20 0 0 1 0 1 0 -1 0 0 3001.dat
0 STEP
1 14 0 -72 20 1 0 0 0 1 0 0 0 1 3001.dat
1 14 0 -72 -20 1 0 0 0 1 0 0 0 1 3001.dat
0 STEP
1 0 0 -96 0 1 0 0 0 1 0 0 0 1 3003.dat
0 STEP
Другие примеры
[ редактировать ]-
Гоночный автомобиль, созданный с помощью LDraw.
-
Небольшой городок, построенный с использованием системы инструментов LDraw и отрендеренный в POV-Ray. Модель содержит около 250 000 деталей.
-
Космический корабль, созданный в LDCad
-
Автомобиль просмотрен с помощью Bricksmith
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «LDraw.org — Формат файла 1.0.2» . LDraw.org . Проверено 9 июля 2019 г.
- ^ «LDraw.org — Расширение языка КАТЕГОРИИ и КЛЮЧЕВЫЕ СЛОВА» . www.ldraw.org . Проверено 9 июля 2019 г.
- ^ «LDraw.org — Расширение языка определения цвета» . www.ldraw.org . Проверено 9 июля 2019 г.
- ^ «LDraw.org — языковое расширение для отсечения обратной грани (BFC)» . www.ldraw.org . Проверено 9 июля 2019 г.
- ^ «LDraw.org — Расширение языка MPD» . www.ldraw.org . Проверено 9 июля 2019 г.
- ^ «LDraw.org — спецификация официального репозитория моделей (OMR), версия 1.0.3» . www.ldraw.org . Проверено 9 июля 2019 г.
- ^ «LDraw.org — расширение языка для отображения текстур» . www.ldraw.org . Проверено 9 июля 2019 г.
- ^ «LDraw.org — Руководство по локализации» . www.ldraw.org . Проверено 9 июля 2019 г.
- ^ Кортни, Блисс и Эррера 2003 , с. 396.
- ^ ОрионП (8 ноября 2003 г.). «Мемориал Джеймса Джессимана» . LDraw.org . Проверено 9 июля 2019 г.
25 июля 1997 года Джеймс Джессиман скончался.
- ^ Кортни, Блисс и Эррера 2003 , с. 322.
- ^ Кортни, Блисс и Эррера 2003 , стр. 152–153.
Дальнейшее чтение
[ редактировать ]- Кортни, Тим; Блисс, Стив; Эррера, Ахуи (2003). Virtual LEGO: официальное руководство LDraw.Org по инструментам LDraw для Windows . Сан-Франциско: Пресса без крахмала. ISBN 978-1-886411-94-4 .
- Клэг, Кевин (2002). Программные инструменты LEGO Software: включая LDraw, MLCad и LPub . Рокленд, Массачусетс: Syngress. ISBN 978-1-931836-76-0 .