How to create professional 'looking' building instructions
On this web page you will find a 'cook-book' how to create professional looking building instructions by using a suite of applications. An idea how the result will look like is given in the picture underneath.

 

 

Step 1:   Draw models in ‘MLcad  (3.20) and use ‘LDview’ (3.0) for review

The first approach is to rebuild a model in MLcad. MLcad is a magnificent Lego Cad/Cam program, which has many features and functions. I won’t explain them here, because there is much material available (see www.ldraw.org). For example, as guidebook, I found the ‘Lego Software Power Tools’ book of Kevin Clague very useful. What I want to explain in this section are the building principles I use for rebuilding a model in MLcad.

  1. Try to ‘break’ a model into small logical parts (for instance: engine, chassis construction, roof construction, side panels, treads, etc.)
    Rebuild these logical parts individually within MLcad as an *.LDR file.
       
  2. Create a *.MPD file, which will act as an 'assembly file' for all *.LDR files. This is done by creating a 'new model', and import all *.LDR files ('multipart'  tab, 'import'). In other words: the most steps within the assembly file will exists of ‘adding sub-model’ steps. Of course there will be parts to be added in the ‘assembly’ file as well, but I try to keep them limited.

    Remark: It is possible to start right-away with an *.MPD file and add sub-models to it which will be build at that moment… but the reason why I don’t has to do with adding ‘bendable parts’ (flexible axles, hoses, cables, etc.).
        
  3. Never use sub-models within sub-models. My experience is that it can cause sometimes problems within viewers, rendering programs, etc.
    Even for big models as the snow groomer (2800 parts) it was never a problem to have just ‘one level deep’, i.e. *.MPD file with imported *.LDR files.
       
  4. Don’t add to many parts within a ‘building step’, unless it’s absolutely clear for other people were the parts have to be added (example: building a roof can be done ‘per slope level’ at once.
        
  5. Do use ‘rotation steps’ when this will provide a better ‘view’ about were to ‘place a part’. But, stay on logical rotations (45 degree, sometimes 30 degrees) and try to avoid other degrees as much as possible.
        
  6. Use LDview (version 3.0) to review the model in 3D (and turn it all sides). During a rebuild in MLcad, I review almost every step (or couple of steps) in LDview by having the MLcad file ‘open’ in LDview; just save changes in MLcad (Control-S) and see the result in LDview with a ‘file refresh’ (F5).

 

Step 2:    Adding bendable parts with ‘Lsynth’ (2.0)

Bendable (or flexible) parts are not included in the MLcad parts catalogue, simple because they can have many shapes. The program Lsynth is written to add bendable parts in a model. Actually, a flexible part exists of many little pieces in a model that makes up the flexible part.
Lsynth requires an input file with specific ‘meta commands’ for creating a flexible part, and generates an output file with the generated flexible part. How does this work? 

  1. Within the input file (*.LDR) there must be a couple of statements.
    1. A ‘WRITE’ comment that tells Lsynth to start a flexible part (and what kind of flexible part) .
    2. A couple of specific parts (LS00.DAT) placed within your model that guide the ‘path to follow’ of the flexible part. At least ‘begin’ and ‘end’, but mostly more are needed in-between for a correct flexible part.
      Notice the arrow 'indicator' on the LS00.DAT, which will tell Lsynth the direction of the flexible part to be generated (to the left, or to the right). Can let to funny flexible parts in ‘loops’ if the arrow is placed at the wrong side.
    3. A ‘WRITE’ comment that tells Lsynth to stop.
          
  2. Actually, this will look like in MLcad as:
    Type                Part nummer               Partname/description
    Comm              ---                                Write Synth begin ribbed hose 7
    Part                  LS00.DAT                   ~LSYNTH constraint part
    Part                  LS00.DAT                   ~LSYNTH constraint part
    Part                  LS00.DAT                   ~LSYNTH constraint part
    Comm              ---                                Write Synth end
        
  3. The output file generated with Lsynth will have the extension ‘_s’ of the original file. This file must be imported in the *.MPD ‘assembly’ file as described in step 1.

Lsynth is able to deal with *.MPD files. The reason I do not is because the result in a *.MPD file is difficult to see. Probably you have to ‘hide’ steps. Besides that, and more important, it does not always work.
Synthesizing a relative simple *.LDR file is easier, faster and gives you a better view in LDview for the result.

 

Step 3:    Generate building instructions with ‘Lpub’ (2.4.20.0) and ‘POVray for Windows’ (3.6)

MLcad is able to generate building instructions, but has some limitations. For instance it is not possible to generate: a part list per building step, rendered pictures, and a bill of all involved parts for your model. Therefore, you have to have Lpub doing the job for you. Lpub requires an installed ‘ POV’ (Persistance of Vision) rendering program.

Using Lpub is really straight forward if you keep the next topics in mind.

  1. Lpub configuration rules I use are very simple: just ‘default’, except:
    1. Construction images: 1280 x 1024 pixels
    2. PLI (part list images): 800 x 600 pixels

Both do have a significant impact on the duration of the rendering process, and the size of the building instructions (Mbytes). For the constructions images I use the most common TFT screen resolution nowadays. Because the PLI is a small area within a building step (just the parts you need) it can be generated with less pixels (even 800 x 600 is possible to 'high').
The configuration I use provides a good quality print output as well (A4 paper size on 300dpi).

  1. The rendering process can take quite a while (i.e. many hours). I experienced that – for large models as the Prinoth Leitwolf snow groomer – rendering the *.MPD file with all it’s sub-models is not efficient. A fault in the rendering process appears sometimes after a couple of hours (for example, in rendering step 319). This means that you have to start all over again after correcting the fault in MLcad. There are some tricks to overcome this, but they are all time consuming and do require changes in the original MLcad file (i.e. removing all the ‘step’ statements in the MLcad file before ‘the fault appeared’, then restart rendering).
    It is easier and faster to render all the *.LDR files individually.
        
  2. Based on the explanation in 2), disable the option generate ‘sub-assemblies’ and ‘sub-model BOMs’ in Lpub.
       
  3. The mentioned *.MPD ‘assembly file’ (see Step 1) is generated in the same way.
       
  4.  Lpub does not recognize the flexible parts generated by Lsynth. Actually, Lpub will reflect within the PLI and BOM all needed 'small rings to make up an tube'  for instance. Therefore, I run *.LDR files which contains flexible parts 'twice'. The first time to generate all the construction images, then I remove all the flexible parts in the *.LDR file and run it the second time for providing PLI's and BOM without flexible parts.

At the end of the rendering process, Lpub will generate web pages (HTML pages which includes PNG images) for each building step. If you just want to share the building instructions on your website as individual web pages, you are ready. If you want to make a booklet, proceed with the next steps.

 

Step 4:    Create a professional looking building booklet with ‘Windows Powerpoint

I do use Windows Powerpoint to create professional looking booklets. By using the ‘slide master’ functionality you can have the same banner, footnote, background picture, etc., be displayed on every page. As well, within Powerpoint it is easier to include more explanations by using photos, text, arrows to point out a specific item in the model, etc.

The only disadvantage is that it requires a ‘boring’ manual process, which I did not automate yet:

  1. All the *.PNG files have to be copied in the PowerPoint deck manually. Basically, that are 2 *.PNG files per building step (the PLI for that step and the model itself).
        

  2. The PLI and BOM do not contain information about the flexible parts. This information has to be added as 'text' (or pictures). 

Advise: use multiple PowerPoint files, instead of one ‘heavy’ file to reduce the total number of pages. I draw the line ‘per 250 building steps = 250 powerpoint pages’. 

 

Step 5:    Convert the Powerpoint booklet into a PDF file with ‘Adobe Acrobat Pro 8

Last but not least I convert the Powerpoint booklet(s) into PDF file(s) with Adobe Acrobat Pro.