L3Lab

By Lars C. Hassing

L3Lab is an LDraw DAT file viewer for Windows/Mac with many options. You can rotate the model by the mouse.

Screenshot of L3Lab for Windows

L3Lab for Windows showing the model file m6596a.dat. The 4WD car is from the 1995 set 6596 Wave Master.

The motive to L3Lab

(You should also read "The motive to L3P" in the L3P main page, but here is a short version)

I joined the L-CAD mailing list in August 1997. I quickly became interested in the DAT file format because I had this idea to generate POV files directly from DAT files. From the FAQ, the L-CAD mailing list and various homepages I understood that LDraw was simply drawing lines and 3- and 4-edged polygons. I then studied the format of the DAT-files and the meaning of the line type parameters. I began dissecting the 3004.dat and its subfiles.

To ensure that my understanding of the DAT-files was correct and to play with 3D-geometry in general I actually began writing a Win95 program to read the DAT-files and display the lines and polygons in 3D. The main purpose of the display-part of the program was to test the many 3D transformations applied to the polygons, since I wanted to transfer the polygons to POV.

The program had many buttons to experiment with e.g. toggling the different line types on and off. It offered many different views and even let you rotate the model or part by the mouse.

The program was called L3: when you begin a new project in Microsoft Visual C++ 5.0 you are prompted for a project name, so I just typed L3 for Lego+Ldraw+Lars :-).

I eventually became quite content about the POV-files that L3 generated, so in August 1998 I released the POV portion of the L3 program into a small self-contained program, a sort of a spin-off of the L3 project - L3P was born.

Since then L3 (and L3P) has evolved, many features have been added. I use L3 as an experimental program for testing out various algorithms and display modes. Some were even used in LDLite to burst speed in its early days.

I believe L3 now has so many useful features that many of you (especially part authors) also might enjoy, so I shouldn't keep it to myself. I have often wanted to release it, but there were so many open issues in the program, things that should be finished and polished. Realizing that I will never get around to make it perfect, I hereby release most of L3 in its current state as L3Lab, a laboratory for examining DAT files. Take the program "as is" - there is no documentation, explore the menus yourself!

Download  for Windows

Current version: v1.2 20000616

  l3lab.zip (192 kB) containing the program L3Lab.exe and two models.
Please enjoy and let me know what you think.
 

L3Lab for Mac OS X

I have been involved in a Carbon project at work, and when I recently got myself a very nice 24" iMac I couldn't resist making an L3Lab for the Mac.

Screenshot of L3Lab for Mac OS X

L3Lab for Mac OS X showing an exploded view of the model file m6596a.dat. The 4WD car is from the 1995 set 6596 Wave Master.

So here is the first shot:
Mac OS X Universal Binary logo l3labmacosx.zip (377 kB) containing the program L3Lab.app, an org.ldraw.plist, a ReadMe.txt and two models.
Please enjoy and let me know what you think.

L3P main page

Lars C. Hassing's Homepage

Last updated June 1, 2008 


Revision history

2000.12.22 v1.3

When launched L3Lab can now reuse an already open L3Lab window in stead of creating a new window. Toggle Reuse Window in the File menu.

Commandline options added:

-NotReusable
This instance of L3Lab will not be reused, nor will it reuse other active instances.

-DontAddToMRU
The model file on the command line will not be added to the Recent File List in the File menu.

Bug fix: MPD subparts are now deleted when loading another model. If the new model was also an MPD having subfiles named like the subfiles of the first MPD model, the subfiles of the first model were incorrectly used.
 

2000.06.16 v1.2

Support for Extended colors (direct colors)

Commandline options added:

-An1,n2,n3,n4,n5,n6,n7,n8,n9
Specifies the orientation of the model within the 3-D space. (-a is also valid)

-Vn
Selects video mode n (the size of the window). n can be: 0=320x200, 1=640x200, 2=640x350, 3=640x480, 4=800x600, 5=1024x768, 6=1280x1024 (-v is also valid)

-PollActivate
Poll model file (the timestamp is checked twice a second), if changed then reload and activate L3Lab (In Win95 and NT4 L3Lab becomes the foreground window, in Win98 the L3Lab button in the taskbar starts blinking).

-PollSilent
Poll model file, if changed then reload and update display silently, i.e. don't pop up in foreground.

-PollAsk
No polling, but whenever L3Lab is activated the timestamp of the model file is checked. If changed then the user is asked if (s)he wants to reload.

-PollOff
No polling

-NoCache
Subfiles (parts and primitives) are not cached.
 

2000.04.19 v1.1

BFC added

2000.02.11 v1.0

First release