LDraw
   HOME

TheInfoList



OR:

LDraw is a system of
freeware Freeware is software, most often proprietary, that is distributed at no monetary cost to the end user. There is no agreed-upon set of rights, license, or EULA that defines ''freeware'' unambiguously; every publisher defines its own rules for the f ...
tools for modeling
Lego Lego ( , ; stylized as LEGO) is a line of plastic construction toys that are manufactured by The Lego Group, a privately held company based in Billund, Denmark. The company's flagship product, Lego, consists of variously colored interlocking ...
creations in 3D on a computer. The LDraw file format and original program were written by James Jessiman, although the file format has since evolved and extended. He also modeled many of the original parts in the parts library, which is under continuous maintenance and extension by the LDraw community. Following Jessiman's death in 1997, a variety of programs have been written that use the LDraw parts library, and file format. LDraw models are frequently rendered in
POV-Ray The Persistence of Vision Ray Tracer, most commonly acronymed as POV-Ray, is a cross-platform ray-tracing program that generates images from a text-based scene description. It was originally based on DKBTrace, written by David Kirk Buck and Aaro ...
or
Blender A blender (sometimes called a mixer or liquidiser in British English) is a kitchen appliance, kitchen and laboratory appliance used to mix, crush, purée or emulsion, emulsify food and other substances. A stationary blender consists of a blender ...
, free 3D
ray tracer In 3D computer graphics, ray tracing is a technique for modeling Light transport theory, light transport for use in a wide variety of Rendering (computer graphics), rendering algorithms for generating digital image, digital images. On a spectr ...
s.


File format

The LDraw format can divide a model into steps so that the building instructions can be incorporated into the design, and also allows for steps that rotate the camera and even move parts around in an elementary fashion. It also allows for models to be incorporated in the construction of larger models to make design easier. This also makes the file format space efficient: instead of specifying the polygons of every single stud of a specific brick for example, a shared stud file is included multiple times with transformation applied. Parts, models, sub-models and polygons are all treated the same and are not specific to Lego models (only the parts library is). The format could be used to store any type of 3D model. Some have created bricks of other building systems for use with LDraw. The following main three filename extensions are used by LDraw: * files implementing a part, subpart or primitive use .dat * a Lego model consisting of 1 or more bricks use .ldr * multiple .ldr files can be aggregated into files of type .mpd The file format uses plain text data, and uses the charset
UTF-8 UTF-8 is a variable-width encoding, variable-length character encoding used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode'' (or ''Universal Coded Character Set'') ''Transformation Format 8-bit'' ...
without BOM.


Example File: 3003.dat, the Implementation of a 2 x 2 Brick

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 TadminOfficial Update 2001-01 0 !HISTORY 2002-05-07 nknownBFC Certification 0 !HISTORY 2002-06-11 TadminOfficial Update 2002-03 0 !HISTORY 2007-05-07 TadminHeader formatted for Contributor Agreement 0 !HISTORY 2008-07-01 TadminOfficial 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 The above code defines the basic 2×2 brick. It consists of a five-sided box (''box5.dat'', outside) and an inverted five-sided box (inside), the connection between those two, consisting of four quads (the four lines starting with ''4''), the four studs on top of it (''stud.dat'') and the long hollow stud in the inside (''stud4.dat''). All lines in an LDraw file are either empty or start with a ''command number'', where 0 means no command (though over time, some lines starting with 0 followed by specific text in capitals also got a meaning as meta commands). The command 1 for example includes a subfile. It specifies the file's path and a transformation matrix that should be applied to it, as well as its color (where ''16'' means "use the color that was used when including the current file"). Command 4 specifies a four-sided polygon. There are also commands that define 2D lines. Such lines give the parts a clear contour even in non-shaded orthographic renderings.


Example File: pyramid.ldr, a Lego Model of a Pyramid

The following code specifies a simple pyramid model with three layers made of 2 x 4 bricks (brick # 3001) with changing color and a 2 x 2 brick on top. 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


Other examples

File:Lego CAD Racecar.JPG, A racecar created with LDraw File:Ldraw datsville 01.png, A small town built using the LDraw system of tools and rendered in POV-Ray. The model contains about 250,000 parts. File:Spaceship 1.jpg, A spaceship created in LDCad File:Bricksmith.png, Car viewed using Bricksmith


See also

*
Lego Digital Designer Lego Digital Designer is a CAD software made by Lego which allowed people to design a virtual model using a selection of virtual Lego bricks. These models could be saved locally, as well as uploaded to the Lego website for sharing and ordering as ...
*
LeoCAD LeoCAD is a free and open-source 3D CAD program for creating virtual Lego models by using parts from LDraw library. It was developed by Leonardo Zide in 1997. See also * Lego Digital Designer References Bibliography * T. Santos, A ...
* MLCAD


References


Further reading

* *


External links

* {{Lego Lego 3D graphics software