To display images in our shop, I’m looking for a uniform way to display the parts, with added bonus that I don’t have to decide what the potential buyer needs to see: they can look at the part from any angle. It’s a win-win: the buyer has more freedom and my shop looks better because all images have the same look.

As LEGO collectors we use several resources on the internet (eg. Bricklink, Brickset, Peeron and What surprised me (or annoyed me more) is that the images shown in these repositories are a mix of all sorts, varying from computer generated to photographed out of focus. There isn’t really a standard and as for the colors in which these parts are represented, it’s just a matter of availability and effort to show them. An example on Peeron for Set # 1360-1: Director’s Copter and on Bricklink.

The ones on Brickset and Rebrickable are presented slightly better because they show rendered images straight from LEGO but only the spare parts that are available.

So the conclusion is that the type of pictures shown in the several repositories on the web are all different. Some are drawn, some are rendered, some are photo’s and if they are, they all have different backgrounds and you can’t view them properly.

There must be something better for that. So when I played around with LEGO Digital Designer, I came upon the idea to create a database that holds all the various parts but in 3D shape so you can see from the angle you wish and the color could be adjusted just as easily. The rendered images from LEGO but one step further.

And that for all the parts that LEGO has created and still is creating. The files should be easy to create, maintain and display.

To create (or let create):

To create them I quickly concluded that LDraw would be the best option to start. With already tens of thousands of parts available, very regular updates and maintained by the public the best way to start. I can also extract the objects from LDD but since that’s not allowed due to copyright restrictions (I can’t blame LEGO) that’s not the path to follow. Besides, the number of parts in LDD are very limited and not updated frequently.

To maintain:

LDraw has another advantage: the file structure is plain text and well documented. So whenever there need to be adjustments (LDraw has its flaws) it’s easily done and can be automated if needed (more on that later).

To display:

I went looking for a way to display the 3D files and the most suitable file format for that. After browsing and searching for quite some time, I stumbled upon the JSC3D source. Although not maintained anymore (it’s open source so if anything needs to change I might look in to that myself), with HTML5 and Javascript compatibility guaranteed, a very suitable and lightweight candidate. After a few tests I saw the potential and decided to base the LEGO parts on this application. The target files would be Wavefront’s .obj files, again, because it’s plain text and well documented again.

So all I need to do now is… convert all the .dat files into .obj files. What’s the problem in that?