LDraw es un sistema de herramientas freeware para modelar creaciones Lego en 3D en una computadora. El formato de archivo LDraw y el programa original fueron escritos por James Jessiman, [1] aunque el formato de archivo ha evolucionado y se ha extendido desde entonces. [2] [3] [4] [5] [6] [7] [8] También modeló muchas de las partes originales en la biblioteca de partes, que está bajo continuo mantenimiento y extensión por parte de la comunidad LDraw. Después de la muerte de Jessiman en 1997, [9] [10] se han escrito una variedad de programas que utilizan la biblioteca de partes LDraw y el formato de archivo. Los modelos LDraw se renderizan con frecuencia en POV-Ray o Blender , trazadores de rayos 3D gratuitos .
Formato de archivo
El formato LDraw puede dividir un modelo en pasos para que las instrucciones de construcción se puedan incorporar al diseño, y también permite pasos que giran la cámara e incluso mueven piezas de manera elemental. También permite que los modelos se incorporen en la construcción de modelos más grandes para facilitar el diseño. Esto también hace que el formato de archivo sea eficiente en cuanto al espacio: en lugar de especificar los polígonos de cada montante de un ladrillo específico, por ejemplo, se incluye un archivo de montantes compartido varias veces con la transformación aplicada.
Las piezas, los modelos, los submodelos y los polígonos se tratan de la misma manera y no son específicos de los modelos Lego (solo lo es la biblioteca de piezas). El formato se puede utilizar para almacenar cualquier tipo de modelo 3D. Algunos han creado bloques de otros sistemas de construcción para utilizarlos con LDraw.
LDraw utiliza las siguientes tres extensiones de nombre de archivo principales: [11]
- archivos que implementan una parte, subparte o uso primitivo
.dat - Un modelo Lego que consta de 1 o más ladrillos.
.ldr .ldrSe pueden agregar varios archivos en archivos de tipo.mpd
El formato de archivo utiliza datos de texto simple y utiliza el conjunto de caracteres UTF-8 sin BOM .
Archivo de ejemplo: 3003.dat, la implementación de un ladrillo 2 x 2
0 Ladrillo 2x2
0 Nombre: 3003.dat
0 Autor: James Jessiman
0 !LDRAW_ORG Parte ACTUALIZACIÓN 2002-03
0 !LICENCIA Redistribuible bajo CCAL versión 2.0: consulte CAreadme.txt
0 BFC CERTIFICAR CCW
0 !HISTORIA 2001-10-26 [PTadmin] Actualización oficial 2001-01
0 !HISTORIA 2002-05-07 [desconocido] Certificación BFC
0 !HISTORIA 2002-06-11 [PTadmin] Actualización oficial 2002-03
0 !HISTORIA 2007-05-07 [PTadmin] Encabezado formateado para el Acuerdo de Colaborador
0 !HISTORIA 2008-07-01 [PTadmin] Actualización oficial 2008-01
1 16 0 4 0 1 0 0 0 -5 0 0 0 1 stud4.dat
0 BFC INVERTIR SIGUIENTE
1 16 0 24 0 16 0 0 0 -20 0 0 0 16 caja5.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 caja5.dat
1 16 10 0 10 1 0 0 0 1 0 0 0 1 dat.estudiante
1 16 -10 0 10 1 0 0 0 1 0 0 0 1 dat.estudiante
1 16 10 0 -10 1 0 0 0 1 0 0 0 1 dat.estudiante
1 16 -10 0 -10 1 0 0 0 1 0 0 0 1 dat.estudiante
El código anterior define el ladrillo básico 2×2. Consiste en una caja de cinco lados ( box5.dat , en el exterior) y una caja de cinco lados invertida (en el interior), la conexión entre las dos, que consta de cuatro cuadrantes (las cuatro líneas que comienzan con 4 ), los cuatro montantes en la parte superior ( stutt.dat ) y el montante hueco largo en el interior ( stutt4.dat ).
Todas las líneas de un archivo LDraw están vacías o comienzan con un número de comando , donde 0 significa que no hay comando (aunque con el tiempo, algunas líneas que comienzan con 0 seguidas de un texto específico en mayúsculas también adquirieron un significado como metacomandos). [12] El comando 1, por ejemplo, incluye un subarchivo. Especifica la ruta del archivo y una matriz de transformación que se le debe aplicar, así como su color (donde 16 significa "usar el color que se usó al incluir el archivo actual"). El comando 4 especifica un polígono de cuatro lados. También hay comandos que definen líneas 2D. Dichas líneas dan a las partes un contorno claro incluso en representaciones ortográficas no sombreadas.
Archivo de ejemplo: Pyramid.ldr, un modelo Lego de una pirámide
El siguiente código especifica un modelo de pirámide simple con tres capas hechas de ladrillos de 2 x 4 (ladrillo n.° 3001) con color cambiante y un ladrillo de 2 x 2 en la parte superior.
0 Ejemplo de pirámide para demostración de la biblioteca LDRAW
0 Nombre: piramide.ldr
0 Autor: 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 PASO
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 PASO
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 PASO
1 0 0 -96 0 1 0 0 0 1 0 0 0 1 3003.dat
0 PASO
Otros ejemplos
-
Un coche de carreras creado con LDraw
-
Una pequeña ciudad construida con el sistema de herramientas LDraw y renderizada en POV-Ray. El modelo contiene alrededor de 250.000 piezas.
-
Una nave espacial creada en LDCad
-
Auto visto con Bricksmith
Véase también
Referencias
- ^ "LDraw.org - Formato de archivo 1.0.2". LDraw.org . Consultado el 9 de julio de 2019 .
- ^ "LDraw.org - Extensión de lenguaje CATEGORÍA y PALABRAS CLAVE" www.ldraw.org . Consultado el 9 de julio de 2019 .
- ^ "LDraw.org - Extensión del lenguaje de definición de color" www.ldraw.org . Consultado el 9 de julio de 2019 .
- ^ "LDraw.org - Extensión del lenguaje para la eliminación de caras posteriores (BFC)" www.ldraw.org . Consultado el 9 de julio de 2019 .
- ^ "LDraw.org - Extensión del lenguaje MPD" www.ldraw.org . Consultado el 9 de julio de 2019 .
- ^ "LDraw.org - Official Model Repository (OMR) Specification Version 1.0.3" (Especificación del repositorio oficial de modelos [OMR] versión 1.0.3). www.ldraw.org . Consultado el 9 de julio de 2019 .
- ^ "LDraw.org - Extensión del lenguaje para mapeo de texturas" www.ldraw.org . Consultado el 9 de julio de 2019 .
- ^ "LDraw.org - Guía de localización". www.ldraw.org . Consultado el 9 de julio de 2019 .
- ^ Courtney, Bliss y Herrera 2003, pág. 396.
- ^ OrionP (8 de noviembre de 2003). «James Jessiman Memorial». LDraw.org . Consultado el 9 de julio de 2019.
El 25 de julio de 1997 falleció James Jessiman.
- ^ Courtney, Bliss y Herrera 2003, pág. 322.
- ^ Courtney, Bliss y Herrera 2003, págs. 152–153.
Lectura adicional
- Courtney, Tim; Bliss, Steve; Herrera, Ahui (2003). Virtual LEGO: La guía oficial de LDraw.Org para herramientas de LDraw para Windows . San Francisco: No Starch Press. ISBN 978-1-886411-94-4.
- Clague, Kevin (2002). Herramientas de software LEGO: incluidas LDraw, MLCad y LPub . Rockland, Mass.: Syngress. ISBN 978-1-931836-76-0.
Enlaces externos
- Sitio web oficial