msx80

[Software] Blueprint, a building instruction generator for LDD

Recommended Posts

Hello everyone, i'm new here and i just found out about this software. i installed it and was able to click on the import LXF, but now the cmd window tells me 54 more.

is the an issue with my LXF file or is it maybe to big, it's a fairly large building, and the LXF file has 504KB.

please help, i really want to get instructions done on it, so i can build it and eventually post the instructions

any help is appreciated 

thank you

this is a copy of the log:

Operating system detected: Windows
Starting Blueprint v0026.. Good luck!
Current folder: C:\Users\Markus\Desktop\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/Desktop/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 87079 FLAT TILE 2X4
Loading brick 2357 BRICK CORNER 1X2X2
Loading brick 4477 PLATE 1X10
Loading brick 3068 FLAT TILE 2X2
Loading brick 3622 BRICK 1X3
Loading brick 10172 MINI TROPHY W. 3.2 SHAFT
Loading brick 3070 FLAT TILE 1X1
Loading brick 3010 BRICK 1X4
Loading brick 3009 BRICK 1X6
Loading brick 3004 BRICK 1X2
Loading brick 87580 PLATE 2X2 W 1 KNOB
Loading brick 3003 BRICK 2X2
Loading brick 3005 BRICK 1X1
Loading brick 2431 FLAT TILE 1X4
Loading brick 4536 DRAWER
Loading brick 60596 FRAME 1X4X6
Loading brick 3008 BRICK 1X8
Loading brick 4532 CUPBOARD 2X3X2
Loading brick 6141 PLATE 1X1 ROUND
Loading brick 3069 FLAT TILE 1X2
Loading brick 3666 PLATE 1X6
Loading brick 15470 1X1 DECORATION TOP NO. 1
Loading brick 11211 BRICK 1X2 W. 2 KNOBS
Loading brick 3024 PLATE 1X1
Loading brick 2420 CORNER PLATE 1X2X2
Loading brick 3028 PLATE 6X12
Loading brick 99780 ANGULAR PLATE 1.5 BOT. 1X2 1/2
Loading brick 57895 GLAS FOR FRAME 1X4X6
Loading brick 3710 PLATE 1X4
Loading brick 4274 CONNECTOR PEG W. KNOB
Loading brick 33054 MUG
Loading brick 4162 FLAT TILE 1X8
Loading brick 3022 PLATE 2X2
Loading brick 87087 BRICK 1X1 W. 1 KNOB
Loading brick 3623 PLATE 1X3
Loading brick 2465 BRICK 1X16
Loading brick 6112 BRICK 1X12
Loading brick 2780 CONNECTOR PEG W. FRICTION
Loading brick 3001 BRICK 2X4
Loading brick 3023 PLATE 1X2
Loading brick 3030 PLATE 4X10
Loading brick 50746 ROOF TILE 1X1X2/3, PC
Loading brick 30044 WINDOW FRAME 1X2X2 2/3
Loading brick 6562 CONNECTOR PEG/CROSS AXLE
Loading brick 3794 PLATE 1X2 W. 1 KNOB
Loading brick 60592 FRAME 1X2X2
Loading brick 60479 PLATE 1X12
Loading brick 59443 CROSS AXLE, EXTENSION, 2M
Loading brick 30179 FRAME 1X4X6 FOR DOOR
Loading brick 32018 TECHNIC BRICK 1X14, ?4,9
Loading brick 32062 2M CROSS AXLE W. GROOVE
Loading brick 60601 GLASS FOR FRAME 1X2X2
Loading brick 57894 FRAME 1X4X6 TRIPARTITE
Loading brick 32013 ANGLE ELEMENT, 0 DEGREES [1]
Loading brick 3460 PLATE 1X8
Loading brick 4079 SEAT 2X2X2
Loading brick 92589 LATTICE FOR FRAME 4X6
Loading brick 6636 FLAT TILE 1X6
Loading brick 3048 END RIDGED TILE 1X2/45°
Loading brick 4032 PLATE 2X2 ROUND
Loading brick 3040 ROOF TILE 1X2/45°
Loading brick 3830 HINGE 1X2 UPPER PART
Loading brick 63864 FLAT TILE 1X3
Loading brick 64644 STICK ?3.2 2MM W/KNOB AND TUBE
Loading brick 44237 BRICK 2X6
Loading brick 4740 SATELLITE DISH ?16
Loading brick 6190 TELEPHONE RECIVER
Loading brick 3665 ROOF TILE 1X2 INV.
Loading brick 3659 BRICK W. BOW 1X4
Loading brick 32028 PLATE 1X2 WITH SLIDE
Loading brick 6111 BRICK 1X10
Loading brick 3820 MINI HAND
Loading brick 3007 BRICK 2X8
Loading brick 3814 MINI UPPER PART
Loading brick 3818 MINI ARM, RIGHT
Loading brick 3819 MINI ARM, LEFT
Loading brick 4070 ANGULAR BRICK 1X1
Loading brick 3817 MINI LEG LEFT
Loading brick 3660 ROOF TILE 2X2/45 INV.
Loading brick 15573 PLATE 1X2, W/ 1 KNOB
Loading brick 3033 PLATE 6X10
Loading brick 14719 FLAT TILE CORNER 1X2X2
Loading brick 3816 MINI LEG RIGHT
Loading brick 4510 PLATE 1X8 WITH RAIL
Loading brick 3815 MINI HIP
Loading brick 3035 PLATE 4X8
Loading brick 2555 PLATE 1X1 W. UP RIGHT HOLDER
Loading brick 85984 ROOF TILE 1 X 2 X 2/3, ABS
Loading brick 3034 PLATE 2X8
Loading brick 3626 MINI HEAD
Loading brick 91405 PLATE 16X16
Loading brick 3624 MINI CAP
Loading brick 4282 PLATE 2X16
Loading brick 60621 LATTICE DOOR FOR FRAME 1X4X6
Loading brick 3795 PLATE 2X6
Loading brick 60594 FRAME 1X4X3
Loading brick 2445 PLATE 2X12
Loading brick 76041 DOOR FOR FRAME 1X4X6
Loading brick 60623 D. W. PANES F. FRAME 1X4X6
Loading brick 4770 GLOBE
Loading brick 3020 PLATE 2X4
Loading brick 11259 MINI POLICE HAT
Loading brick 4286 ROOF TILE 1X3/25°
Loading brick 11062 LAMPPOST 2x2x7
Loading brick 3703 TECHNIC BRICK 1X16, ?4,9
Loading brick 4447 FRAME SKYLIGHT 4X4X3/45°
Loading brick 3702 TECHNIC BRICK 1X8
Loading brick 90398 MINI FIGURE TROPHY
Loading brick 3041 RIDGED TILE 2X4/45°
Loading brick 4445 ROOF TILE 2X8/45°
Loading brick 4533 CUPBOARD, DOOR 3X2
Loading brick 10202 FLAT TILE 6X6
Loading brick 3940 UNDERCARRIAGE 2X2X2
Loading brick 3036 PLATE 6X8
Loading brick 4599 TAP ?4.9/6.4
Loading brick 6195 SINK 4X4
Loading brick 4592 ANTENNA, BASE
Loading brick 4593 ANTENNA, MAST
Loading brick 3039 ROOF TILE 2X2/45°
Loading brick 3021 PLATE 2X3
Loading brick 3811 BASE PLATE 32X32
Loading brick 3002 BRICK 2X3
Loading brick 3032 PLATE 4X6
Loading brick 30414 BRICK 1X4 W. 4 KNOBS
Loading brick 3676 ROOF TILE CORN. INVERT.2X2/45°
Loading brick 3958 PLATE 6X6
Loading brick 2339 BRICK W. BOW 1X5X4
Loading brick 3029 PLATE 4X12
Loading brick 93095 FOOT, PLATE
Loading brick 6231 WALL CORNER 1X1X1
Loading brick 3700 TECHNIC BRICK 1X2, ?4.9
Loading brick 91988 PLATE 2X14
Loading brick 4865 WALL ELEMENT 1X2X1
Loading brick 91501 CORNER WALL ELEMENT 2X2
Loading brick 15332 FENCE 1X4X2 W. 4 KNOBS
Loading brick 92438 PLATE 8X16
Loading brick 3895 TECHNIC BRICK 1X12, ?4,9
Loading brick 3062 ROUND BRICK 1X1
Loading brick 4588 ROCKET STEP SMALL 1X1
Loading brick 3831 HINGE 1X2 LOWER PART
Loading brick 4448 GLASS F. SKYLIGHT 4X4X3/45°
Loading brick 98282 BRICK 2X4X1 W. SCREEN NO. 2
Loading brick 2748 BASE PLATE 16X32
Loading brick 3006 BRICK 2X10
Loading brick 92946 ROOF TILE 1X2 45° W 1/3 PLATE
Loading brick 3832 PLATE 2X10
Loading brick 30132 REVOLVER
Loading brick 87552 WALLELEMENT 1X2X2
Loading brick 60603 GLASS FOR FRAME 1X4X3
Loading brick 30134 STAIRCASE 7X4X6
Loading brick 88930 PLATE W. BOW 2x4x2/3
Loading brick 14716 BRICK 1X1X3
Loading brick 3962 WALKIE-TALKIE
Loading brick 6157 BEARING ELEMENT 2X2 2/3
Loading brick 60616 GLASS DOOR FOR FRAME 1X4X6
Loading brick 85973 TOMMY GUN
Loading brick 14769 FLAT TILE 2X2, ROUND
Loading brick 14520 BRICK 1X4X1 2/3 W. V. KNOBS
Loading brick 57899 Blaster, Rifle
Loading brick 3900 SIGN - STOP
Loading brick 62810 WIG BOY
Loading brick 30340 LIFEBUOY WITH KNOB
Loading brick 2412 RADIATOR GRILLE 1X2
Loading brick 93273 PLATE W. BOW 1X4X2/3
Loading brick 87697 TYRE NORMAL WIDE ?21 X 12
Loading brick 3828 STEERING WHEEL ?11
Loading brick 3829 WHEEL CONSOLE
Loading brick 6014 RIM WIDE W. HOLE ?11
Loading brick 57783 WINDSCREEN  4X3X1 1/3
Loading brick 98281 ROOF 4X6X2/3
Loading brick 52036 PLATE 4x12 W. BOTTOM 2X4X2/3
Loading brick 2432 CLAMP 1X2
Loading brick 30413 WALL ELEMENT 1X4X1 PC
Loading brick 52501 INVERTED ROOF TILE 6X1X1
Loading brick 11291 FRONT 4X3X2/3 W. BOW
Loading brick 63868 PLATE 2X1 W/HOLDER,VERTICAL
Loading brick 15068 PLATE W. BOW  2X2X2/3
Loading brick 44301 PLATE 1X2 W/STUB VERTICAL/END
Loading brick 85861 PL.ROUND 1X1 W. THROUGHG. HOLE
Model parsed in 0:00:14.1
Model loaded. 8536 parts, 15 groups.
Total mem: 1028653056
Total mem after new page: 1028653056
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
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

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.