msx80

[Software] Blueprint, a building instruction generator for LDD

Recommended Posts

Here we are! After some more tweaking on the program, i feel it's stable enough to be usable. So i hereby present:

Blueprint

A building instruction generator for Lego Digital Designer.

How it works:

You import an LXF in the program. The program will generate a default serie of building steps (taking into account LDD group definitions). You then refine building steps by moving parts around, creating steps, submodels and callouts and organizing stuff as you prefer. When you're done, you can move to the "Page layout" and generate the illustrations, that you can adjust as you prefer.

Note that this is still beta software, it may crash or explode without warning taking everything you hold dear with it. Many of the features are there but are awkward to use (see model rotation), waiting for a better user interface. Many of the comforts of mature software are completely missing.

Features:

  • Handle callouts and unlimited submodels
  • Per-model and per-step orientation
  • Easy drag-and-drop steps definition interface
  • placed part highlighting
  • Treat LDD groups and subgroups as submodels
  • Unlimited Undo/Redo
  • Flexible part support
  • Stickers support
  • Multiple export format
  • etc

Limitations:

  • no stickers
  • flexible part are rendered unflexed
  • multipart pieces may or may not work
  • no "undo"
  • may rough edges on the interface
  • no alert on exit
  • many more...

Documentation:

A tutorial is available here.

A wiki is available with plenty of documentation.

Issue Tracker:

Have any bug or feature request? Be a good fellow and report it in our shiny issue tracker.

Requirements:

  • Java8 (revision 8u40 or better)
  • Opengl capabilities, version 3.2 or better (if you have a semi-recent graphic card, you should be ok)
  • Lego Digital Designer

Disclaimer:

Use at your own risk, i decline any responsability for anything that may happen to you using the program.

Donation:

Should you like the program and you feel like, you can donate any amount of money here: https://www.paypal.me/msx80 thanks in advance!

Download:

You can download Blueprint version 0026 for Windows here.

Mac version courtesy of @Malou here

Screenshot:

SzxLYcI.png

1GR51Qk.png

Example Output:

Eg8Cmcp.pngZogNlxB.png

Changelog:

0026:

  • part lengths for technic parts (customizable)
  • working arrows and custom texts support
  • align right/bottom

0025:

  • You can now set custom colors on pages. There's no UI, you have to change the config file at C:\Users\[you]\AppData\Roaming\blueprint.ini and set properties like this: page.color.0=#d5ecf9 The color is in RGB and the index is the submodel depth (0 main model, 1 first level submodel etc)
  • There's a new function Merge design: you can now open a model and then merge a second model in it. It's useful if you have some illegal connection: you can split your model into two legal models and then handle it in Blueprint (which of course doesn't have collision detection and such).

0024:

  • Added an "Add Page" command on the layout.
  • Solved the CTRL-S bug that unintendedly rotated the step.

0023:

  • it's now impossible to delete last step of a submodel (should make it impossible to incour into the "ghost submodel" problem, even if not the most user friendly solution)
  • steps can now be selected by clicking on an image (CTRL+click to select multiple, no shift click sorry), this is necessary for...
  • selected model can be rotated by keyboard with WASD keys, all selected model will be rotated together.
  • new steps inherit the rotation of the "sibiling" step

(uh i lot track a little here)

0019:

  • Compatibility with latest LDD update

0018:

  • Delete page on canvas
  • Lighting and shading option in renderer
  • Bugfix in page setup when loading a model
  • Image export now reset the counter and pad the numbers
  • Resizable text element (step num and part counters)
  • Very very crude first implementation of BOM pages

0017:

0016:

  • Removed some bug on outlining for multisurface parts
  • Copy/paste submodel command to move submodels around
  • Unwrap submodel command to move all steps in a submodel to the parent
  • Pink highlight now optional
  • Avoid generating page on lxf import (just a waste of time)
  • Pdf/cbr/zip export
  • Drag-select for page layout
  • Page layout is now flat, not hierarchical
  • Much improved memory usage (just a single page is now kept in memory)
  • Textured parts support
  • Update modified LXF without making a new blueprint file

0015:

  • unlimited undo/redo. This may still have a couple of little bugs but usually works perfectly. Feels much more like a professional program now!
  • better memory management. Turns out i was.. ehm.. wasting quite a lot of memory by keeping all the geometries in memory in different formats.. uh.. multiple times.. but hey enough details, the program should be faster and use much less memory now. There is probably more margin to save but that's enought for now.
  • flexible part support! Chain, tubes, hoses etc should render correctly in most cases now.
  • Page setup is now available in program (before it was only limitedly available from the settings file). You can specify page size and separate zoom value for assemblies and part lists.
  • better import of LXF files: no more empty submodels and now it supports subgroups
  • small bug fixing
Edited by msx80
updated download link

Share this post


Link to post
Share on other sites

Man for an early version of this program I really like this! I didn't expect to be able to move pieces around to different stages to modify how you want it. Luv it, keep it up.

Share this post


Link to post
Share on other sites

Great tool for LDD users.

A decent building instruction feature is an great lack in LDD.

I'll try it as soon as possible (hoping it don't explode taking everything you hold dear with it :grin: ).

Edited by Calabar

Share this post


Link to post
Share on other sites

This looks superb despite being a beta. One question when you say "it may crash or explode without warning taking everything you hold dear with it", you just meant the program itself could crash and not my computer, right? Cool as that sounds, I don't need my computer to suddenly blow up in a great ball of fire. Haha. Anyway, I already have a tendency to save quite often and if need be making a separate copy of the original file to upload with this software just in case isn't a problem.

Share this post


Link to post
Share on other sites

One question when you say "it may crash or explode without warning taking everything you hold dear with it", you just meant the program itself could crash and not my computer, right? Cool as that sounds, I don't need my computer to suddenly blow up in a great ball of fire. Haha.

I mean your entire neighbour :) Joking aside, it will not explode and to be honest even the chance of it crashing are kind of small, it's quite stable :)

Anyway, I already have a tendency to save quite often and if need be making a separate copy of the original file to upload with this software just in case isn't a problem.

what do you mean with upload? If you save often, you're probably good. If you want, make a backup copy now and then but that's enough. The original LXF is only read at the beginning but then it's not used, Blueprint use his own format (.blueprint).

Thanks everybody, let me know if you like it, or if you have any suggestion :)

Share this post


Link to post
Share on other sites

I mean your entire neighbour :) Joking aside, it will not explode and to be honest even the chance of it crashing are kind of small, it's quite stable :)

That's good to hear. :classic:

what do you mean with upload? If you save often, you're probably good. If you want, make a backup copy now and then but that's enough. The original LXF is only read at the beginning but then it's not used, Blueprint use his own format (.blueprint).

Ah, so it just reads the original file made from LDD then saves as a completely new one. Cool.

Share this post


Link to post
Share on other sites

Great work so far! This is something LDD sorely needs. Any plans to add support for LDraw models?

J

Share this post


Link to post
Share on other sites

Great work so far! This is something LDD sorely needs. Any plans to add support for LDraw models?

J

Hi there! I'm a huge fan of your works, loved those gravity activated walkers :) Great to here you like Blueprint, thanks!

Actually support for LDraw is planned, the software is already predisposed for "pluggable" backends. I have other things i'd like to do before that, anyway. But who knows :)

Share this post


Link to post
Share on other sites

I relay appreciate your work. I'm developer of This some kind of tool for LDraw users. And do not have time to play with LXF files. You can download LICreator from GitHub. Search Eurobricks Forums for download link.

Edited by Jarema

Share this post


Link to post
Share on other sites

Hi there, this looks like a fantastic piece of software, but is it possible to run it on the Mac?

I downloaded the program but all I see are some .bat files and two folders, I'm not too sure what to click on.

Also, just curious, but how are you able to render the Lego bricks? Do you use the LDraw parts Library for this, or do you take the bricks from LDD?

Share this post


Link to post
Share on other sites

Yes. Python, OpenGL & Qt. LDraw is necessary for this tool. I need some one to handle compilation from Mac and Linux platform.

Share this post


Link to post
Share on other sites

Hi there, this looks like a fantastic piece of software, but is it possible to run it on the Mac?

I downloaded the program but all I see are some .bat files and two folders, I'm not too sure what to click on.

Also, just curious, but how are you able to render the Lego bricks? Do you use the LDraw parts Library for this, or do you take the bricks from LDD?

Assuming you were addressing me, Blueprint should be able to run on Mac without problems, but i don't have one so i haven't prepared scripts and the like to start it. If you can use a command line and have some minimal technical skill, i can guide you (it should be easy).

Blueprint uses LDD's own database to get geometries of the bricks. Then opengl and some other technologies to do the rendering.

Share this post


Link to post
Share on other sites

Assuming you were addressing me, Blueprint should be able to run on Mac without problems, but i don't have one so i haven't prepared scripts and the like to start it.

Yes I was, sorry, I should have been clearer :blush:

I know a bit about the command prompt, so any advice about running Blueprint would be much appreciated. Maybe we could work on the mac scripts together?

Yes. Python, OpenGL & Qt. LDraw is necessary for this tool. I need some one to handle compilation from Mac and Linux platform.

Think I remember the LICreator thread , but I'm not sure how much help I could be - I've never used OpenGL and I'm only just beginning to teach myself python. It could be an interesting project though, if you think I can help then I'm happy to try.

Share this post


Link to post
Share on other sites

Yes I was, sorry, I should have been clearer :blush:

I know a bit about the command prompt, so any advice about running Blueprint would be much appreciated. Maybe we could work on the mac scripts together?

Sure, that would be awesome! i'm sending you a pm with some instructions :)

Share this post


Link to post
Share on other sites

i... don't find any installer, in the folder? how do i open it?

Hi there, there's no installer, it's simply a compressed folder. Extract the content to any folder, then run either blueprint64.bat or blueprint86.bat depending on your architecture. Remember you need Java8 also, if you haven't already installed it.

Share this post


Link to post
Share on other sites

In My case, In LICreator sense. After install Python 2.6 and dependence packages { like: PIL, PyInstaller, setuptools }. Just run buid.py script. Then this script can automatically detect environment.

In May, when Pre-Ultimate version come to repository. I write article about compilation for different OS.

Share this post


Link to post
Share on other sites

This looks really promising! I have been wanting to have an easy to use instruction generator for LDD for a long while, and this looks like the answer to my prayers. I could never figure out LPub, and I have used LIC to some success, but because you have to convert LDD files to files compatible with the LDraw library, they were always full of mistakes and missing parts. This software gets around those limitations for me, and I look forward to creating some proper instructions for especially my constraction creations (I could never find them in the LDraw libraries for some reason) with it in the future.

May I ask if you plan on adding an undo/redo feature in a future update? That sort of feature is critically important to me as I often end up using such features when I'm unhappy with how something looks :laugh:

Share this post


Link to post
Share on other sites

I wonder if it works with large files... :grin:

Very large file will surely result in out of memory error. Keeping thousand of pictures in memory, plus the overhead of javafx, means lot of RAM used. In this case you can instruct java to use more system memory (it has an hard limit by default), but i don't know how far you can push it.

I know for sure people have handled 800 parts files, and i just tryed to open a 1300 part files and it went out of memory, so the "normal" limit is probably inbetween. The number of steps is also important, given the same number of parts, more steps will generate more images and use up more memory.

I'll make some more tests :)

May I ask if you plan on adding an undo/redo feature in a future update? That sort of feature is critically important to me as I often end up using such features when I'm unhappy with how something looks :laugh:

Yes is planned and it's also something i'd like to do soon, but it's a little harder than it looked at first sight.

Thanks everybody for the great feedback!! :)

Share this post


Link to post
Share on other sites

Very large file will surely result in out of memory error. Keeping thousand of pictures in memory, plus the overhead of javafx, means lot of RAM used. In this case you can instruct java to use more system memory (it has an hard limit by default), but i don't know how far you can push it.

I know for sure people have handled 800 parts files, and i just tryed to open a 1300 part files and it went out of memory, so the "normal" limit is probably inbetween. The number of steps is also important, given the same number of parts, more steps will generate more images and use up more memory.

I'll make some more tests :)

Java and memory.... :grin:

800 parts isn't enough for me, but I'll do some tests with smaller designs and see how it goes :classic:

Share this post


Link to post
Share on other sites

Java and memory.... :grin:

800 parts isn't enough for me, but I'll do some tests with smaller designs and see how it goes :classic:

Yeah java is wasteful by itself, but it's javafx (the new java interface library) that's sucking up more memory than i anticipated. I kind of regret choosing it over other alternatives, it looks great but gave me many problems.

How many parts are you looking to handle ?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.