msx80

[Software] Blueprint, a building instruction generator for LDD

Recommended Posts

3 hours ago, knigtonwheels said:

there are over 8,000 pieces, is there a "size" limit to it or do i have to just be patient?

If you run out of memory while opening it, it can fail. I think I have done close to 8000 before. If you would like me to open it and see if I can get the initial blueprint file created, feel free to PM me. 

Share this post


Link to post
Share on other sites

From doing some reading here my take on this project is:

I am not trying to be negative I am trying to figure out if this is something I can use/contribute to, are my bullets above an accurate assessment of the state of things?

Share this post


Link to post
Share on other sites

well msx80 was not seen here recently, he never declared the project closed, but he works on it in his free time, which is not predictable. I installed it many months ago, never been alerted for virus (W10, nod32, defender) I assume the Avira alert was invalid, but use it as is.

br.

Tyke

Share this post


Link to post
Share on other sites
2 hours ago, dwalton76 said:

From doing some reading here my take on this project is:

I am not trying to be negative I am trying to figure out if this is something I can use/contribute to, are my bullets above an accurate assessment of the state of things?

  • yes
  • no, it's a false alarm caused by Lwjgl, a library that is used to interface with Opengl
  • yes
  • yes and no, i'm still retouching it now and then. I know that people want more regular updates, but the project is quite big now and most of the stuff is dull maintenance, of which i do enought at work. Since i'm not getting paid i prefer to use what little free time i have on more exciting projects :) Still, i'm doing some updates now and then.

Anyway, the program is stable enought to be used, and looking around the net it's used by a lot of people :)

Share this post


Link to post
Share on other sites

Glad to hear the virus is a false alarm :)

I gave it a try and it looks pretty cool.  My build has 1013 parts split into 9 groups.  I found that instructions are doing two odd things:

  • it tends to have a lot of pins floating in midair and then a few steps later it will place a beam around those pins
  • there are a lot of steps where I cannot see the part being placed

My gut says I just need to break the build down into more than 9 groups.  What is a typical/recommended number of groups to use for a build with ~1000 parts?

Share this post


Link to post
Share on other sites
2 minutes ago, dwalton76 said:

Glad to hear the virus is a false alarm :)

I gave it a try and it looks pretty cool.  My build has 1013 parts split into 9 groups.  I found that instructions are doing two odd things:

  • it tends to have a lot of pins floating in midair and then a few steps later it will place a beam around those pins
  • there are a lot of steps where I cannot see the part being placed

My gut says I just need to break the build down into more than 9 groups.  What is a typical/recommended number of groups to use for a build with ~1000 parts?

Uhm i guess more grouping would help, i don't know an exact number but scrolling a Lego instruction booklet should give an idea :)

Just remember that the default steps in Blueprint are generated with a simple algorithm and are to be considered a "starting point". Then you have to manually adjust and distribute parts on steps. That's the stuff that we cannot automate yet :) Btw the "simple algorithm" is simply taking the pieces from the bottom up, IIRC it picks the middle point of a part as reference, so probably the pins come before the beams if the beams are somehow vertical.

Share this post


Link to post
Share on other sites
1 minute ago, dwalton76 said:

Glad to hear the virus is a false alarm :)

I gave it a try and it looks pretty cool.  My build has 1013 parts split into 9 groups.  I found that instructions are doing two odd things:

  • it tends to have a lot of pins floating in midair and then a few steps later it will place a beam around those pins
  • there are a lot of steps where I cannot see the part being placed

My gut says I just need to break the build down into more than 9 groups.  What is a typical/recommended number of groups to use for a build with ~1000 parts?

Some basics:

When you import the file any LDD groups will automatically become sub-models in Blueprint.  This is very helpful when organizing things and you can create or delete sub-models after import.  There is no recommended number of submodels, you need to pick things that make sense in your build.  For example, a floor of a building might be a submodel, or the gear train for a vehicle.

Within each submodel (and the top-level model) the parts and steps are essentially random to begin with (just like when LDD makes "instructions"), leading to things like "pins in the air".  There is no artificial intelligence that knows how to make good instructions.  TLG has an entire department of experienced people doing that, after all.

What makes Blueprint so great is that you can drag the parts into whatever step or submodel you want, reorder steps, rotate step model views, etc. to get the instructions to "make sense" for your particular model.  So roll up your sleeves and get to work. YOU know how to build it, now use Blueprint to tell others!

I should have also reiterated that @msx80 deserves a lot of love for making this and putting as much effort into it as he has.  I have a laundry list of things that could be done to improve it but they just go into the "hope" bucket.

If I remember correctly, I sent him some pizza money once as a bit of payback.  I suggest everyone else contribute too, and maybe he'll find some more free time to make it even better.

Thanks again @msx80!

 

Share this post


Link to post
Share on other sites

One challenge is I just finished the LDD file and have never built the robot from that file, so I am sure I probably made a few errors. If I use blueprint to build a detailed set of instructions (where I make edits to undo "pins in the air", etc) but then find that I missed a part and have to update the LDD file won't I have to start over again in blueprint?  I have a friend building it now via the LDD file so I should know soon if I missed anything.

This is the robot I am trying to create better instructions for, it solves 2x2x2 up to 6x6x6 rubiks cubes:

https://www.rebrickable.com/mocs/MOC-12712/dwalton76/cranecuber/#mocs

Agreed, thank you @msx80 blueprint is some cool software.  It would be cooler if it were open source but I'm guessing you've been asked about that before :)

 

 

Share this post


Link to post
Share on other sites

In an earlier post, we spoke about the size (brick) limits of the program. Today I was able to open a 2000+ project and edited. I wish I could open my really big build (8000+) on it and create the instructions for. 

Like @iceleftd said, a big thanks to @msx80 to take the time and create this amazing software. 

 

Share this post


Link to post
Share on other sites
On ‎2018‎. ‎02‎. ‎13‎. at 11:46 PM, iceleftd said:

Some basics:

When you import the file any LDD groups will automatically become sub-models in Blueprint.  This is very helpful when organizing things and you can create or delete sub-models after import.  There is no recommended number of submodels, you need to pick things that make sense in your build.  For example, a floor of a building might be a submodel, or the gear train for a vehicle.

 

Hello icelefttd!

I would happy to here some more basics on groupings. I have only 1 LDD, I created, 1600 parts, and I made a huge effort on groupping, such as it has 2 main groups, and the 1 Group has 2 subgroups, and then each subgroup have many sub-sub Group, I gues 4-5 levels approximately. All is done to prepare the BP, but I still struggle to have it prepared as optimal as possible. I know 1 basics: If in a Group the there is lets say 100 parts, lets say 2 subgroups of 40 element, and 20 parts not in a subgroup, then always this 20 parts comes first in the building instruction generation. So grouping in a flat level can help to order the sub sections in the instructions. Is that true according to you?

Moreover, does it make any sense to have 4-5 level of groups? Regarding to prepare the building instruction as optimally generated as possible. I am still willing to re-do the grouping, if you say, the instruction will better prepared with another logic of groupings.

(Probably I wrote earlier, my main goal is to have an instruction booklet as similar to the TLG made as possible...

Thanks for any advice.

Share this post


Link to post
Share on other sites

Hey @Tyke,

It takes quite a bit of work to go from the LDD to blueprint and then arrange them into readable instructions. 

Here are a couple examples

1. This is a model that has been output with no modification from me after importing to blueprint. Link
This was the output settings used:
Ih8rvHF.png

2. This is what that same file looks like after manually adjusting each step to create a more TLG style booklet. Link

As you can see, a lot goes into making instructions that look great and it takes a lot of time. For some of the larger models I will edit each page with photoshop and then arrange the pages with indesign to produce a final booklet like this. Link 

All of it takes time but with some practice, I can whip up instructions for a model with less than 200 pieces in about an hour. 

If you would like to see some more examples of my instructions, you can see them on my ReBrickable page here

 

To answer the grouping question, I will group the main parts together in LDD so that I can work with them easy but as you can see in a lot of my models, there are some small callouts for a few pieces here and there. I wont have those as separate groups in LDD, I will just generate them in blueprint directly. 

If you don't know, there are a couple of different menus depending on where you right click. If you right click on a piece you can edit the piece or use it as the base orientation for the model. for the second option, it is very useful in submodels to help orient the parts in a way that makes them easier to build and see on the page. If you right click on a step, you can move the step, rotate the step, create a sub model, etc.

I find for me that I dont go more than 2 levels of sub model. After that, the model should be split into multiple books or the build should be shown in a way that will keep the sub model depth down. 

As a rule for all of my models and steps, everything connects to something. No floating pieces. I hate building models that just dont stay together. 

 

I might be able to make a video guide if anyone is interested. 

Edited by supertruper1988

Share this post


Link to post
Share on other sites

@supertruper1988 - A great primer on instruction making!  Linking to examples makes a huge difference.

@Tyke I'd also add that there is a huge difference between making a PDF for viewing on a screen and one for printing.  With a PDF of reasonable resolution, you can zoom in on the little details and shading is an asset rather than a problem.

When printing, everything seems to come out darker than you expect and the details can get very hard to see (specially the black and gray parts - even more so in the shadows).  I did a LOT of post-production on my recent (and first) printed instructions to make them usable on paper.

I should have done more too!  One drawback to Blueprint is that the assembly zooms all the parts at the same level in the instructions.  This is a problem if you are working on a submodel that is small but the entire build is big.  You really would rather zoom in more on the small assemblies.  If I get a chance to redo it, I will generate a second set of instructions with a much higher zoom and then copy and resize some of the images as needed into the final document.  I ended up using Blueprint to generate PNG files and then later used a free utility to combine the images into a PDF, inserting margins, etc.

@msx80 Take this as a hint for a zoom/pan feature that can be applied to a submodel or to individual steps.  :wink:

Edited by iceleftd

Share this post


Link to post
Share on other sites

Thanks @msx80 for a great piece of software :-)

Is it a definitive no for opening the development to the community ? As you're apparently already using a bitbucket repo for it that would be easy to let other people look and help you out.

I can understand not letting everyone look at some code that you're not really proud of, so don't fret :-) Even if the program is stable, dull maintenance might be helped by the community.

Cheers :sweet:

 

Share this post


Link to post
Share on other sites
On 2/1/2018 at 7:55 PM, Malou said:

It shows it fails at around 1024Mo of memory, which I beleive is the default memory for java apps (actually 1/4 of system memory). You can force it to use more memory by adding the '-Xmx' argument in the bat file


-Xmx8G

For future reference : https://stackoverflow.com/questions/1493913/how-to-set-the-maximum-memory-usage-for-jvm

Hello Malou, i'm not so familiar with Java. how would you add the line in to the bat file

thanks in advance 

 

Knight On Wheels

Share this post


Link to post
Share on other sites
42 minutes ago, knigtonwheels said:

how would you add the line in to the bat file

The .bat file is just a plain text file.  You can use any simple editor, like Notepad.

The “-Xmx8G” is to be added on the “java” line, so that it reads “java -Xmx8G blah…” instead of “java blah…”.

Share this post


Link to post
Share on other sites
6 hours ago, SylvainLS said:

The .bat file is just a plain text file.  You can use any simple editor, like Notepad.

The “-Xmx8G” is to be added on the “java” line, so that it reads “java -Xmx8G blah…” instead of “java blah…”.

i'll try this out once i get it going again, but i don't have the option "open with" and when i change it to .txt it won't be possible

like i said, no idea about java

 

just played around on a build i did to create instructions and than needed to change something and now i can't upload any lxf files anymore

stops at the same line, all the time

tried multiple different files, all the same, not sure whats happening

 

Operating system detected: Windows
Starting Blueprint v0026.. Good luck!
Current folder: C:\Users\Markus\OneDrive\AutoCAD Files\Hobby\LEGO\Blueprint0026
Initializing database..
Database is located in: C:\Users\Markus\AppData\Roaming\Blueprint\database\brickcache.db
Cache is up to date (1x2670)
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.lwjgl.system.MemoryAccess (file:/C:/Users/Markus/OneDrive/AutoCAD%20Files/Hobby/LEGO/Blueprint0026/bin/blueprint.jar) to field java.nio.Buffer.address
WARNING: Please consider reporting this to the maintainers of org.lwjgl.system.MemoryAccess
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
OpenGL version:      3.2.0 NVIDIA 382.05
OpenGL vendor:       NVIDIA Corporation
OpenGL renderer:     GeForce GT 620M/PCIe/SSE2
OpenGL shading lang: 1.50 NVIDIA via Cg compiler
Loading brick 3673 CONNECTOR PEG
Loading brick 32291 TECHNIC CROSS BLOCK 2X1
Loading brick 6590 BUSH FOR CROSS AXLE
Loading brick 2780 CONNECTOR PEG W. FRICTION
Loading brick 32073 CROSS AXLE 5M
Loading brick 3705 CROSS AXLE 4M
Loading brick 6632 TECHNIC LEVER 3M
Loading brick 32014 ANGLE ELEMENT, 90 DEGREES [6]
Loading brick 3706 CROSS AXLE 6M
Loading brick 4519 CROSS AXLE 3M
Loading brick 44294 CROSS AXLE 7M
Loading brick 62462 TUBE W/DOUBLE ?4.85
Loading brick 4019 GEAR WHEEL Z=16, M=1
Loading brick 32054 2M FRIC. SNAP W/CROSS HOLE
Loading brick 32192 ANGLE ELEMENT 135 DEG. [4]
Loading brick 6573 DIFFERENTIALE GEAR CASING
Loading brick 41677 TECHNIC LEVER 2M
Loading brick 87082 DOUBLE BUSH 3M ?4.9
Loading brick 6558 CONNECTOR PEG W. FRICTION 3M
Loading brick 32062 2M CROSS AXLE W. GROOVE
Loading brick 63869 CROSS BLOCK 3X2
Loading brick 32034 ANGLE ELEMENT, 180 DEGREES [2]
Loading brick 32278 TECHNIC 15M BEAM
Loading brick 43093 CONN.BUSH W.FRIC./CROSSALE
Loading brick 6536 CROSS BLOCK 90°
Loading brick 11214 CON. BUSH 2M FR. + CROSS AXLE
Loading brick 59443 CROSS AXLE, EXTENSION, 2M
Loading brick 32123 1/2 BUSH
Loading brick 6542 GEAR WHEEL Z16-?4.9
Loading brick 18651 Cross axle 2m w. snap w. fric.
Loading brick 32013 ANGLE ELEMENT, 0 DEGREES [1]
Loading brick 6539 DRIVING RING
Loading brick 32140 TECHNIC ANG. BEAM 4X2 90 DEG
Loading brick 32270 DOUBLE CONICAL WHEEL Z12 1M
Loading brick 32039 CATCH W. CROSS HOLE
Loading brick 6538 CROSS AXLE, EXTENSION M/3 RIBS
Loading brick 3648 GEAR WHEEL Z24
Loading brick 41678 TECHNIC CROSS BLOCK/FORK 2X2
Loading brick 10197 BEAM 1M W. 2 CROSS AXLES 90°
Loading brick 32017 TECHNIC 5M HALF BEAM
Loading brick 32056 TECHNIC LEVER 3X3M, 90°
Loading brick 6589 CONICAL WHEEL Z12
Loading brick 3647 GEAR WHEEL T=8, M=1
Loading brick 18948 GEAR SHIFTER CONNECTOR 3M
Loading brick 32524 TECHNIC 7M BEAM
Loading brick 32006 TECHNIC LEVER 4M
Loading brick 32065 TECHNIC 7M HALF BEAM
Loading brick 18947 GEAR SHIFTER RING 3M
Model parsed in 2861ms
Model loaded. 152 parts, 1 groups.
Total mem: 293601280
Total mem after new page: 293601280
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at javafx.fxml/javafx.fxml.FXMLLoader$MethodHandler.invoke(Unknown Source)
        at javafx.fxml/javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(Unknown Source)
        at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
        at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
        at javafx.base/javafx.event.Event.fireEvent(Unknown Source)
        at javafx.controls/javafx.scene.control.MenuItem.fire(Unknown Source)
        at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.doSelect(Unknown Source)
        at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.lambda$createChildren$12(Unknown Source)
        at javafx.base/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
        at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
        at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
        at javafx.base/javafx.event.Event.fireEvent(Unknown Source)
        at javafx.graphics/javafx.scene.Scene$MouseHandler.process(Unknown Source)
        at javafx.graphics/javafx.scene.Scene$MouseHandler.access$1300(Unknown Source)
        at javafx.graphics/javafx.scene.Scene.processMouseEvent(Unknown Source)
        at javafx.graphics/javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
        at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
        at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(Unknown Source)
        at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Unknown Source)
        at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
        at javafx.graphics/com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
        at javafx.graphics/com.sun.glass.ui.View.notifyMouse(Unknown Source)
        at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(Unknown Source)
        at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at com.sun.javafx.reflect.Trampoline.invoke(Unknown Source)
        at jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at javafx.base/com.sun.javafx.reflect.MethodUtil.invoke(Unknown Source)
        at javafx.fxml/com.sun.javafx.fxml.MethodHelper.invoke(Unknown Source)
        ... 44 more
Caused by: java.lang.NoSuchMethodError: com.sun.javafx.tk.FontLoader.computeStringWidth(Ljava/lang/String;Ljavafx/scene/text/Font;)F
        at blueprint.scene.TextBox.a(Unknown Source)
        at blueprint.scene.Item.b(Unknown Source)
        at blueprint.scene.Item.b(Unknown Source)
        at blueprint.c.a(Unknown Source)
        at blueprint.c.a(Unknown Source)
        at blueprint.c.c(Unknown Source)
        at blueprint.Blueprint.b(Unknown Source)
        at blueprint.Blueprint.a(Unknown Source)
        at blueprint.Blueprint.c(Unknown Source)
        at blueprint.Blueprint.onImportLXF(Unknown Source)
        ... 54 more
 

Share this post


Link to post
Share on other sites
7 hours ago, knigtonwheels said:

i'll try this out once i get it going again, but i don't have the option "open with" and when i change it to .txt it won't be possible

like i said, no idea about java

A .bat file is a Windows thing (actually, it dates back from DOS).  It has nothing to do with Java.  The .bat extension tells Windows it’s executable.  It contains instructions you could simply type in a terminal (command prompt or whatever they call it nowadays).

To edit it, you can first open Notepad and then open the file from Notepad (though I think right-click/“Open” would do too, I haven’t a Windows machine nearby).  If the new Notepad obnoxiously insists on not wanting to open it because of its extension, you can temporarily change it to .txt.  Extensions are just characters.  That Microsoft uses them to define what can be done with the file while hiding them is one of the great mysteries of our times.

 

As for the long error message you got, (that is Java :wink:), it’s due to your using Java 9 and not Java 8 (a function disapeared between the versions).

Share this post


Link to post
Share on other sites

Crash when using part 76302 OUTERCABLE 80MM

 

Well, in fact blueprint 0026 crashes quite frequently, but by some workarounds (e.g. pressing ctrl+i instead of clicking "Load model" in the menu...) I can at least get it to work decently on most models.

Except if there's this damn cable inside, which leads to

 

New version! Yuhu! (1x1564.2)
Caching brick aliases..
OpenGL version:      3.2.0 NVIDIA 340.104
OpenGL vendor:       NVIDIA Corporation
OpenGL renderer:     GeForce 605/PCIe/SSE2
OpenGL shading lang: 1.50 NVIDIA via Cg compiler
Loading brick 76302 OUTERCABLE 80MM
Flexing element 76302 OUTERCABLE 80MM
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1774)

[...many more error lines...]

Caused by: java.lang.RuntimeException: java.lang.NullPointerException
	at blueprint.b.b.a.a.b.b(Unknown Source)
	at blueprint.b.b.a.a.b.a(Unknown Source)
	at java.util.HashMap.computeIfAbsent(HashMap.java:1127)
	at blueprint.b.b.a.a.b.a(Unknown Source)
	at blueprint.b.b.a.a.a(Unknown Source)
	at blueprint.b.b.a.d(Unknown Source)
	at blueprint.b.b.a.b(Unknown Source)
	at blueprint.b.b.a.a(Unknown Source)
	... 48 more
Caused by: java.lang.NullPointerException
	... 56 more
Closing db.

That's really a pity, because to my taste, blueprint is the only tool which enables the efficient production of instructions that can really be used!

Share this post


Link to post
Share on other sites
8 hours ago, mfeldt said:

Crash when using part 76302 OUTERCABLE 80MM

 

Well, in fact blueprint 0026 crashes quite frequently, but by some workarounds (e.g. pressing ctrl+i instead of clicking "Load model" in the menu...) I can at least get it to work decently on most models.

Except if there's this damn cable inside, which leads to

 

That's really a pity, because to my taste, blueprint is the only tool which enables the efficient production of instructions that can really be used!

If you would like to verfiy it as a bug, you can PM me about the file and I will see if I can get it to work on my computer. I also do not have frequent crashes both on my PC or Mac.

Share this post


Link to post
Share on other sites

@supertruper1988 and @iceleftd - thanks for both of you for the great instructions and links and advices on groups. I guess, I need to re-think grouping, a more flat-like hierarchy would serve building instructions better. I felt like I just get lost of the depth of levels, when using BP. Probably the order of groups would also help me creating the instruction. I am not planning to print instruction, so I prefer a high resolution, that can be zoomed in.

There is one other thing. Probably this is not the proper topic. But it looks, like the official Lego Digital Designer Gallery is not available anymore. I am still struggling with finding and using new parts in LDD Extended mode. I usually went online to LDD Gallery and find someone's build, from which I copied and pasted the extra items. I am designing a Minecraft set, and it would be more then amazing, if the Minecraft chicken head would appear somewhere in an LDD set, and I would use it as well. Since LDD Gallery is not available, I cannot have new items. Or: until now only Steve was included in the database. Is it true, that Alex is also added? If so, how can I find her?

Share this post


Link to post
Share on other sites

I come across the following error while (re)generating the steps:

java.lang.ArithmeticException: / by zero

The file can be found here: https://drive.google.com/file/d/1u9IFU_WF5cm1N70ZosfwRJwMWWremnon/view?usp=sharing

Total mem after new page: 207749120
Rendering assembly x1
Total mem after new page: 207749120
Rendering assembly x3
Total mem after new page: 207749120
Rendering assembly x6
Rendering assembly x3
Total mem after new page: 207749120
Rendering assembly x3
Total mem after new page: 207749120
Rendering assembly x11
Rendering assembly x3
Rendering assembly x15
Rendering assembly x16
Rendering assembly x18
Rendering assembly x22
Total mem after new page: 207749120
Rendering assembly x22
Rendering assembly x23
Rendering assembly x25
Rendering assembly x27
Total mem after new page: 207749120
Rendering assembly x3
Rendering assembly x5
Rendering assembly x7
Rendering assembly x8
Rendering assembly x10
Rendering assembly x11
Rendering assembly x15
Total mem after new page: 207749120
Rendering assembly x42
Rendering assembly x15
Total mem after new page: 207749120
Rendering assembly x3
Rendering assembly x8
Rendering assembly x10
Total mem after new page: 207749120
Rendering assembly x52
Rendering assembly x10
Total mem after new page: 207749120
Rendering assembly x3
Total mem after new page: 207749120
Rendering assembly x59
Rendering assembly x3
Rendering assembly x61
Rendering assembly x63
Total mem after new page: 207749120
Rendering assembly x7
Total mem after new page: 207749120
Rendering assembly x74
Rendering assembly x7
Rendering assembly x76
Rendering assembly x80
Rendering assembly x82
Rendering assembly x86
Total mem after new page: 207749120
Rendering assembly x86
Rendering assembly x88
Rendering assembly x94
Rendering assembly x96
Rendering assembly x97
Total mem after new page: 207749120
Rendering assembly x97
Rendering assembly x99
Total mem after new page: 207749120
Rendering assembly x5
Rendering assembly x7
Rendering assembly x10
Total mem after new page: 207749120
Rendering assembly x109
Rendering assembly x10
Total mem after new page: 207749120
Rendering assembly x4
Rendering assembly x6
Total mem after new page: 207749120
Rendering assembly x115
Rendering assembly x6
java.lang.ArithmeticException: / by zero
        at blueprint.b.a.e.l(Unknown Source)
        at blueprint.scene.bi.StepBox.a(Unknown Source)
        at blueprint.a.d.a(Unknown Source)
        at blueprint.a.c.a(Unknown Source)
        at blueprint.a.c.b(Unknown Source)
        at blueprint.a.c.a(Unknown Source)
        at blueprint.Blueprint.a(Unknown Source)
        at blueprint.a.h(Unknown Source)
        at blueprint.a.a.t.a(Unknown Source)
        at blueprint.a.a.a(Unknown Source)
        at blueprint.Blueprint.doReflowButton(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at sun.reflect.misc.Trampoline.invoke(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
        at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1769)
        at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
        at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
        at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
        at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
        at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
        at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
        at javafx.event.Event.fireEvent(Event.java:198)
        at javafx.scene.Node.fireEvent(Node.java:8413)
        at javafx.scene.control.Button.fire(Button.java:185)
        at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
        at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
        at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
        at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
        at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
        at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
        at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
        at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
        at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
        at javafx.event.Event.fireEvent(Event.java:198)
        at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
        at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
        at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
        at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$353(GlassViewEventHandler.java:432)
        at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431)
        at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
        at com.sun.glass.ui.View.notifyMouse(View.java:937)
        at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
        at java.lang.Thread.run(Unknown Source)

 

 

 

Share this post


Link to post
Share on other sites

Hi there,

I was excited to find and download this program, since I too find LDD to be a great building tool with poor instructions formatting. However, I am experiencing some difficulty with your program. I believe I installed it properly and can open the program. When I open Blueprint, the only options available under "File" are "Import LXF" and "Open Design." When I attempt to import a design, both the "Step Design" and "Page Layout" tabs become highlighted indicated a file was read, but nothing shows up on either screen-I can't see the model. 

Under "File," I am then able to merge with another model, at which point both the file I originally tried to load AND the new merged file both appear under the "Step Design" tab. I have no difficulty rearranging parts in this section, but I am still not able to view anything under the "Page Layout" tab, and none of the page options change the blank screen.

Do you have any suggestions on what I should do to solve this? Any help is appreciated! And also, thanks for writing this program-I'm very excited to try it out!

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.