LDraw

From Wikipedia, the free encyclopedia

Template:Short description

Page Module:Infobox/styles.css has no content.

LDraw
Lua error in package.lua at line 80: module 'Module:InfoboxImage/data' not found.
Area servedWorldwide
OwnerLDraw.org
Created byJames Jessiman
URLwww.ldraw.org
CommercialNo
RegistrationFree
Current statusOnline

Script error: No such module "Check for conflicting parameters".

LDraw is a system of freeware tools and a 3D graphics file format standard for modeling Lego creations.

History

The LDraw file format and original program were written by James Jessiman in 1995,[1] although the file format has since evolved and extended.[2][3][4][5][6][7][8] He also modeled many of the original parts in the parts library, which is under continuous maintenance and extension by the LDraw community. As of March 2026 the library contains 16547 unique shapes or patterned parts, excluding shortcuts.

Following Jessiman's death in 1997,Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.[9] a variety of programs have been written that use the LDraw parts library, and file format. LDraw models are frequently rendered in POV-Ray or Blender, free 3D ray tracers.

LDraw.org

In 2004, LDraw.org organization has been established, which main task is set to further develop LDraw file format and extend LDraw parts library. Organization is controlled by members of LDraw.org Steering Committee (SteerCo for short), elected by LDraw Organization Members. Core members of LDraw.org are in close ties with James Jessiman's family, which is the owner of the LDraw™ registered trademark. The LDraw.org Standards Committee (LSB for short) helms the development of the LDraw file format specifications.

James Jessiman Memorial Award

Script error: No such module "Labelled list hatnote".

Template:Short descriptionPage Module:Infobox/styles.css has no content.

James Jessiman
Memorial Award
Lua error in package.lua at line 80: module 'Module:InfoboxImage/data' not found.
Awarded for"Contribution to the furthering of LDraw, the DAT format, and James' memory."[10]
CountryScript error: No such module "WikidataIB".
Presented byScript error: No such module "WikidataIB".
First award2009 - Present
WebsiteScript error: No such module "WikidataIB".
Page Module:Infobox/styles.css has no content.
Lua error in package.lua at line 80: module 'Module:InfoboxImage/data' not found.

Script error: No such module "Check for conflicting parameters".

Since 2001, LDraw.org project org's awards notable contributors with the James Jessiman Memorial Award.

Recipient is selected by LDraw.org Steering Committee, and approved after a consultation with Jessiman's family.[11]

Recipients

  • 2001 – Steve Bliss
  • 2002 – not awarded
  • 2003 – Jacob Sparre Andersen
  • 2004 – Lars C. Hassing
  • 2005 – Michael Lachmann - creator of MLCAD[12]
  • 2006 – Orion Pobursky
  • 2007 – Kevin Clague
  • 2008 – Philippe Hurbain
  • 2009 – Tim Courtney
  • 2010 – not awarded
  • 2011 – Travis Cobbs
  • 2012 – Steffen Lohse
  • 2013 – Magnus Forsberg
  • 2014 – Sergio Reano
  • 2015 – Roland Melkert - author of LDCad[13]
  • 2016 – Nils Schmidt
  • 2017 – Chris Dee
  • 2018 – Michael 'Mike' Heidemann
  • 2019 – Gerald Lasser
  • 2020 – Lasse Deleuran
  • 2021 – Leonardo Zide,[14][15][16] software engineer at Treyarch, author of LeoCAD (an open-source program for creating virtual Lego models with LDraw).
  • 2022 – Takeshi Takahashi
  • 2023 – Massimo Maso
  • 2024 – Evert-Jan Boer
  • 2025 – Rolf Osterthun

File format

Page Module:Infobox/styles.css has no content.

LDraw
Filename extensionsTemplate:Monodiv
Developed byJames Jessiman, LDraw.org
Type of format3D computer graphics, text file
StandardsLego
Open format?yes
Free format?yes
Websiteldraw.org

LDraw file format describes "part" (representation of Lego brick) as a set of geometric primitives ("p") in a form of polygonal triangulated mesh.

LDraw "models" consists of LDraw "parts", same way as Lego models consists of Lego bricks.

LDraw file format is plain text file format, and uses comma-separated syntax definition of values.

Units

File:Lego dimensions.svg
Lego brick (real) dimensions
File:LeoCAD ruler mm.png
Measuring LDraw parts size in LeoCAD with "ruler" part (ruler tick: 1 mm)

LDU (LDraw Units) — is a base distance unit used in the LDraw format, equals to 1/20 of pin step (distance between centers of 2 closest pins on plate), which in turn almost equals to 0.4 millimetre.

Units comparison table
1 = LDU mm LU Flat P Stud Brick in Comment
LDU 0.4 Page Template:Fraction/styles.css has no content.14 Page Template:Fraction/styles.css has no content.18 Page Template:Fraction/styles.css has no content.120 Page Template:Fraction/styles.css has no content.120 Page Template:Fraction/styles.css has no content.124 Page Template:Fraction/styles.css has no content.164 LDraw Unit[17][18][19] — base unit
mm 2Page Template:Fraction/styles.css has no content.12 Page Template:Fraction/styles.css has no content.58 Page Template:Fraction/styles.css has no content.516 Page Template:Fraction/styles.css has no content.18 Page Template:Fraction/styles.css has no content.18 Page Template:Fraction/styles.css has no content.764 Page Template:Fraction/styles.css has no content.364 millimetre = 0.1 cm = 0.01 dm = 0.001 m
LU 4 1.6 Page Template:Fraction/styles.css has no content.12 Page Template:Fraction/styles.css has no content.15 Page Template:Fraction/styles.css has no content.15 Page Template:Fraction/styles.css has no content.16 Page Template:Fraction/styles.css has no content.116 Lego Unit[20] = 1 p («plastic»[21]) — thickness of brick wall
Flat 8 3.2 2 Page Template:Fraction/styles.css has no content.25 Page Template:Fraction/styles.css has no content.25 Page Template:Fraction/styles.css has no content.13 Page Template:Fraction/styles.css has no content.18 plate height without pin — distance between edges of closest pins
P 20 8.0 5 2Page Template:Fraction/styles.css has no content.12 1 Page Template:Fraction/styles.css has no content.56 Page Template:Fraction/styles.css has no content.516 pin step— distance between centers of two closest pins
Stud 20 8.0 5 2Page Template:Fraction/styles.css has no content.12 1 Page Template:Fraction/styles.css has no content.56 Page Template:Fraction/styles.css has no content.516 1x1 brick width (real width: P-0.2 mm = 7.8 mm)
Brick 24 9.6 6 3 1Page Template:Fraction/styles.css has no content.12 1Page Template:Fraction/styles.css has no content.12 Page Template:Fraction/styles.css has no content.38 brick height without pin
in 64 25.4 16 8 3Page Template:Fraction/styles.css has no content.15 3Page Template:Fraction/styles.css has no content.15 3Page Template:Fraction/styles.css has no content.112 inch = Page Template:Fraction/styles.css has no content.112 feet = Page Template:Fraction/styles.css has no content.136 yard
Notes: dimension in and mm are approximated (in mm — rounded to the first decimaldigit)

Some editors (like, LeoCAD) displaying dimensions and coordinates using only LDU. For measuring and converting sizes from LDU to other units and vice versa, LDraw users created few parts in a form of ruler,[22] that could be used directly in LDraw editors during visual modeling, that especially useful for scale model making.

Scale

LDraw, the same as Lego, uses 1:42½ (Lego minifigure scale) as a base for scaling real world objects for scale modeling. The precise scale may vary between 1:40 and 1:43.

Specification

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:Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.

  • 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 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 [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

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).Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. 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

Software

Editors

Tools

Other examples

See also

References

Page Template:Reflist/styles.css has no content.

  1. ^ Page Module:Citation/CS1/styles.css has no content."LDraw.org - File Format 1.0.2". LDraw.org. Retrieved 9 July 2019.
  2. ^ Page Module:Citation/CS1/styles.css has no content."LDraw.org - CATEGORY and KEYWORDS Language Extension". www.ldraw.org. Retrieved 2019-07-09.
  3. ^ Page Module:Citation/CS1/styles.css has no content."LDraw.org - Colour Definition Language Extension". www.ldraw.org. Retrieved 2019-07-09.
  4. ^ Page Module:Citation/CS1/styles.css has no content."LDraw.org - Language Extension for Back Face Culling (BFC)". www.ldraw.org. Retrieved 2019-07-09.
  5. ^ Page Module:Citation/CS1/styles.css has no content."LDraw.org - MPD Language Extension". www.ldraw.org. Retrieved 2019-07-09.
  6. ^ Page Module:Citation/CS1/styles.css has no content."LDraw.org - Official Model Repository (OMR) Specification Version 1.0.3". www.ldraw.org. Retrieved 2019-07-09.
  7. ^ Page Module:Citation/CS1/styles.css has no content."LDraw.org - Language Extension for Texture Mapping". www.ldraw.org. Retrieved 2019-07-09.
  8. ^ Page Module:Citation/CS1/styles.css has no content."LDraw.org - Localisation Guideline". www.ldraw.org. Retrieved 2019-07-09.
  9. ^ Page Module:Citation/CS1/styles.css has no content.OrionP (8 November 2003). "James Jessiman Memorial". LDraw.org. Retrieved 9 July 2019. On July 25, 1997, James Jessiman passed away.
  10. ^ Page Module:Citation/CS1/styles.css has no content."James Jessiman Memorial Award". LDraw.org. Retrieved 2024-09-01.
  11. ^ Page Module:Citation/CS1/styles.css has no content."LDraw.org - James Jessiman Memorial". ldraw.org. Retrieved 2024-09-29.
  12. ^ http://mlcad.lm-software.com
  13. ^ https://www.melkert.net/LDCad
  14. ^ Page Module:Citation/CS1/styles.css has no content."Meet Leonardo Zide". wiki.ldraw.org. Retrieved 2024-09-29.
  15. ^ Page Module:Citation/CS1/styles.css has no content."Scalable Ambient Obscurance". research.nvidia.com (Research). Retrieved 2024-09-30.
  16. ^ Page Module:Citation/CS1/styles.css has no content.McGuire, Morgan; Mara, Michael; Luebke, David (2012-06-25). "Scalable ambient obscurance". Proceedings of the Fourth ACM SIGGRAPH / Eurographics conference on High-Performance Graphics. Eurographics Association. pp. 97–103. ISBN 978-3-905674-41-5. Retrieved 30 September 2024. We thank Naty Hoffman (Activision Studio Central), Leonardo Zide (Treyarch), and Louis Bavoil (NVIDIA) for their input on this paper and implementation, [...].
  17. ^ Page Module:Citation/CS1/styles.css has no content."LDraw.org - LDraw File Format Specification". ldraw.org. Retrieved 2024-09-25.
  18. ^ Page Module:Citation/CS1/styles.css has no content."LDraw measuring tools". philohome.com. Retrieved 2024-09-25.
  19. ^ Page Module:Citation/CS1/styles.css has no content."LEGO Unit Converter". studs.sariel.pl. Retrieved 2024-09-25.
  20. ^ Page Module:Citation/CS1/styles.css has no content."The LEGO Brick". The BYU Design Review. 2019-12-18. Retrieved 2024-09-25.
  21. ^ Page Module:Citation/CS1/styles.css has no content.Alphin, Tom. "LEGO figures in Scale models". BRICK ARCHITECT. Retrieved 2024-09-25.
  22. ^ Page Module:Citation/CS1/styles.css has no content."Holly-Wood.it > LDraw > Helper parts". www.holly-wood.it. Retrieved 2024-10-03. HlduR.dat (Helper - LDU Ruler).
  23. ^ https://www.blockcad.net/
  24. ^ Page Module:Citation/CS1/styles.css has no content.Giorgio Musilli (2014). I software autore per la didattica: Percorsi creativi nella scuola primaria. Ledizioni. ISBN 978-88-6705-237-0.
  25. ^ Page Module:Citation/CS1/styles.css has no content."Três programas para as crianças". Revista do CD-ROM – Informática prática e descomplicada (97): 61. August 2003. ISSN 0104-8732.
  26. ^ Page Module:Citation/CS1/styles.css has no content.Haylock, Derek; Cockburn, Anne (2013). Understanding mathematics for young children : a guide for teachers of children 3-8 (4th ed.). SAGE. p. 253. ISBN 978-1446248669. This research makes use of the BlockCAD computer program which was designed by Anders Issakson in Sweden and which can be downloaded free. At the time of writing more details were available at blockcad.net
  27. ^ https://tcobbs.github.io/ldview/
  28. ^ https://trevorsandy.github.io/lpub3d/

Bibliography

Page Module:Side box/styles.css has no content.Page Template:Sister project/styles.css has no content.

  • No URL found. Please specify a URL here or add one to Wikidata.
  • BrickHub, LDraw-based build library

Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found.