230 likes | 376 Views
Introduction to LDraw. Goal: Orientation. Available virtual LEGO resources System Components Uses of the system The future of virtual LEGO Artistic accomplishments Needs and opportunities. Introduction: Ross Crawford. Part author / reviewer Author of txt2dat. Why Virtual LEGO?.
E N D
Introduction to LDraw Brickvention 2006
Goal: Orientation • Available virtual LEGO resources • System Components • Uses of the system • The future of virtual LEGO • Artistic accomplishments • Needs and opportunities Brickvention 2006
Introduction: Ross Crawford • Part author / reviewer • Author of txt2dat Brickvention 2006
Why Virtual LEGO? • Huge audience; education, hobby, industry • Document custom designs • Create instructions • Generate stunning artwork • Virtual bricks are free, and come in any color • It’s fun! Brickvention 2006
Brief History of LDraw • Created by James Jessiman • James’ early design embraced by AFOLs • New tools created • Ldraw Organisation formed, Ldraw.org • Now recognised by LEGO company “It’s a toy, not a business” – J.J. Brickvention 2006
Resources: An Overview Brickvention 2006
The LDraw System • Standard Language and Library • Almost 3000 LEGO parts in library • Open-source project born out of an online community • Around 100,000 users; enthusiasts of all ages and educators at all levels • Freely downloadable via www.LDraw.org Brickvention 2006
Components OfThe LDraw System • Parts Library • LDraw Description Language • Tools • Editors • Viewers • Converters • Renderers • Batch Automation Brickvention 2006
The LDraw Description Language • Text-based: Portability and Readability • Simple to parse • Hierarchical: primitives parts submodels models • Well defined line syntax • Polygon-based • Lacks support for cylinders and round objects • No mesh support • Historical consistency guarantees compatibility The system is strong because of its simplicity and straightforward nature. Brickvention 2006
Anatomy of LDraw Files 0 Three Brick Stack 0 Name: 3 bricks.ldr 1 4 0 0 0 1 0 0 0 1 0 0 0 1 3001.dat 1 1 40 0 40 1 0 0 0 1 0 0 0 1 3001.dat 1 14 20 -24 20 1 0 0 0 1 0 0 0 1 3001.dat Brickvention 2006
Line Breakdown Brickvention 2006
Hierarchy Illustrated 0 Disc 1.0 0 Name: 4-4disc.dat 3 16 0 0 0 1 0 0 0.9239 0 0.3827 3 16 0 0 0 0.9239 0 0.3827 0.7071 0 0.7071 3 16 0 0 0 0.7071 0 0.7071 0.3827 0 0.9239 3 16 0 0 0 0.3827 0 0.9239 0 0 1 3 16 0 0 0 0 0 1 -0.3827 0 0.9239 3 16 0 0 0 -0.3827 0 0.9239 -0.7071 0 0.7071 3 16 0 0 0 -0.7071 0 0.7071 -0.9239 0 0.3827 3 16 0 0 0 -0.9239 0 0.3827 -1 0 -0 3 16 0 0 0 -1 0 -0 -0.9239 0 -0.3827 3 16 0 0 0 -0.9239 0 -0.3827 -0.7071 0 -0.7071 3 16 0 0 0 -0.7071 0 -0.7071 -0.3827 0 -0.9239 3 16 0 0 0 -0.3827 0 -0.9239 0 0 -1 3 16 0 0 0 0 0 -1 0.3827 0 -0.9239 3 16 0 0 0 0.3827 0 -0.9239 0.7071 0 -0.7071 3 16 0 0 0 0.7071 0 -0.7071 0.9239 0 -0.3827 3 16 0 0 0 0.9239 0 -0.3827 1 0 0 0 Three Brick Stack 0 Name: 3 bricks.ldr 1 4 0 0 0 1 0 0 0 1 0 0 0 1 3001.dat 1 1 40 0 40 1 0 0 0 1 0 0 0 1 3001.dat 1 14 20 -24 20 1 0 0 0 1 0 0 0 1 3001.dat 0 Brick 2 x 4 0 Name: 3001.dat 0 BFC INVERTNEXT 1 16 0 24 0 36 0 0 0 -20 0 0 0 16 box5.dat 1 16 0 24 0 40 0 0 0 -24 0 0 0 20 box5.dat 0 STUDS 1 16 30 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 -30 0 10 1 0 0 0 1 0 0 0 1 stud.dat 1 16 30 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 -30 0 -10 1 0 0 0 1 0 0 0 1 stud.dat 0 TUBES 1 16 20 4 0 1 0 0 0 -5 0 0 0 1 stud4.dat 1 16 0 4 0 1 0 0 0 -5 0 0 0 1 stud4.dat 1 16 -20 4 0 1 0 0 0 -5 0 0 0 1 stud4.dat 4 16 40 24 20 36 24 16 -36… 4 16 -40 24 20 -36 24… 4 16 -40 24 -20 -3 … 4 16 40 24 -20 … 0 Stud 0 Name: stud.dat 1 16 0 -4 0 6 0 0 0 1 0 0 0 6 4-4disc.dat 1 16 0 0 0 6 0 0 0 1 0 0 0 6 4-4edge.dat 1 16 0 -4 0 6 0 0 0 1 0 0 0 6 4-4edge.dat 1 16 0 0 0 6 0 0 0 -4 0 0 0 6 4-4cyli.dat Brickvention 2006
Editing ModelsMLCad • Easy to use, drag ‘n’ drop • Advanced editing functions • Uses standard Ldraw parts library • Windows Only Brickvention 2006
Editing ModelsLeoCad • Multi-platform (Windows, Linux) • Advanced editing functions • Uses custom database which is generated from Ldraw parts library Brickvention 2006
Editing ModelsLEGO Digital Designer • Multi-platform (Windows, Mac) • Simple editing functions • Uses custom library – limited parts selection • Convert to / from Ldraw files Brickvention 2006
Building Instructions • Edge Line Detection (MegaPOV, ldglite) • Advanced Scripting Commands (MLCad) • Batch Rendering and Page Layout (LPub) Brickvention 2006
The Future of Virtual LEGO • New Language Specs • Collision Detection • Flexible Element Support • Animation Support • Your project? Brickvention 2006
Artistic Accomplishments Brickvention 2006
Li’l Dumper by Ross Crawford Brickvention 2006
Trike by Allister McLaren Brickvention 2006
Spider Mech type A by Timothy Gould Brickvention 2006
Needs and Opportunities • Developers and Students • Write cool software; modelers, converters • Contribute to the language specs • Designers and Writers • Help improve LDraw.org • Graphic design • Articles • Educators • Apply the tools in the classroom Brickvention 2006
Thank You Any Questions? Please feel free to follow up by email: ross.crawford@gmail.com Or visit http://www.ldraw.org Brickvention 2006