msx80

[Software] Blueprint, a building instruction generator for LDD

Recommended Posts

Would it be a lot of work to make an LDraw compatible version? :laugh: :grin:

Share this post


Link to post
Share on other sites
16 hours ago, kokkie20 said:

 

Windows 10 64 bit.
Already tried to reinstall java, run the cmd as admin (Then i get a complete other error)
Got any suggestion cause i want to try out the new stuff :( 

 

Are you sure you've unzipped the whole content to a folder?

 

16 hours ago, legolijntje said:

Would it be a lot of work to make an LDraw compatible version? :laugh: :grin:

enought to make me shiver only by reading your post :P

8 hours ago, Malou said:

awesome, thanks! i'll update the main post soon

Share this post


Link to post
Share on other sites

@msx80

Yes i unpacked the zip/rar file and putted in a new folder 

Structure of folder looks like this:

Blueprint (Main folder)
- bin
-- blueprint.jar
- native
-- A lot of dll, dylib, so files
blueprint.dat
lengths.txt
readme.txt

Share this post


Link to post
Share on other sites

@msx80,

Would it be possible for you to upgrade the BOM issue this weekend? No pressure but then I can release the instructions directly fully finished and don’t have to upgrade them later.

Or do you have a date estimated?

Also another side note. The text color of the length indicators in official lego instructions is light blue. In blueprint its black. Would it be easy for you to change it to that color? Or is there a code with color information we can put in the .ini file? Btw, really like the square black box you put around the numbers though. Great work!

Again no pressure;) And have a great weekend!

Cheers, Carl

Share this post


Link to post
Share on other sites

@kokkie20 Do you have the file glfw.dll in native? 

From error : Failed to load library: native\glfw.dll


 

Share this post


Link to post
Share on other sites
On 26/5/2017 at 4:16 PM, kokkie20 said:

@msx80

Yes i unpacked the zip/rar file and putted in a new folder 

Structure of folder looks like this:

Blueprint (Main folder)
- bin
-- blueprint.jar
- native
-- A lot of dll, dylib, so files
blueprint.dat
lengths.txt
readme.txt

Uhm looks right, i don't know what could be wrong..

On 27/5/2017 at 0:10 AM, Carl86 said:

@msx80,

Would it be possible for you to upgrade the BOM issue this weekend? No pressure but then I can release the instructions directly fully finished and don’t have to upgrade them later.

Or do you have a date estimated?

Also another side note. The text color of the length indicators in official lego instructions is light blue. In blueprint its black. Would it be easy for you to change it to that color? Or is there a code with color information we can put in the .ini file? Btw, really like the square black box you put around the numbers though. Great work!

Again no pressure;) And have a great weekend!

Cheers, Carl

You start to sound like my boss at work :P

I've repackaged version 0026 with Length indicator in Bom. Let me know if it works :) @Malou if you would kindly repackage Mac version too, thanks :)

Here's the link https://drive.google.com/file/d/0BzUUT2x-DvwQNlNNa3hTLWtyaVE/view?usp=sharing

Share this post


Link to post
Share on other sites
4 hours ago, msx80 said:

Uhm looks right, i don't know what could be wrong..

You start to sound like my boss at work :P

I've repackaged version 0026 with Length indicator in Bom. Let me know if it works :) @Malou if you would kindly repackage Mac version too, thanks :)

Here's the link https://drive.google.com/file/d/0BzUUT2x-DvwQNlNNa3hTLWtyaVE/view?usp=sharing

Haha @msx80,

lol, perhaps a little too enthusiastic excited. I'm a beginning programmer and really fascinated by your ingenious program.

Anyhow the new update works great! Thank you!

Cheers, Carl

Share this post


Link to post
Share on other sites

@msx80 Another idea came to me.  All the parts for a step are grouped in the parts box or callout box in the Page Layout tab.  When you want to move a part you usually want to move the count and length along with it, but that requires extra clicks or contorted box-drag selection.  This appears to be because all the elements are kept at the same level.  If you keep them in subgroups by part (that is, part, count, and length), which you might already be doing, then you could add a way to select all the elements for a part.  For example, if you were to recognize ALT as a modifier you could use that to promote the selection to the whole subgroup.

  • ALT+click on a part, count, or length, and all three are selected
  • CTL+ALT+click on a part, count, or length, and all three are added to (or removed from) the selection
  • When click-dragging to select, if an element is selected and ALT is pressed then add all three to the selection (might be harder to do the reverse - unselect all three when the last one is no longer bounded)

Alternatively, you could make the selection of entire part groups as the default and use ALT to "open up" the part and work with individual elements.  That might be the preferred way to go!

And yes, we have come to expect magic from you - but we love you for it!  If you ever want to open your development up to other programmers we will be happy to pitch in.

Share this post


Link to post
Share on other sites

@msx80 thanks for the blueprint and blue-render. Finally something sensible to make instructions from LDD models.

If we can add shortcut keys for step/model rotation it will be further speed up the instruction making process.

Share this post


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

@msx80 Done! Same link as before. To make it easier for the front post, I also setup this link which will point to the latest version : 

http://dl.bbqsoftwares.com/LDD/BlueprintLatest.dmg

Great idea, thanks :)

2 hours ago, IstakaCiti said:

@msx80 thanks for the blueprint and blue-render. Finally something sensible to make instructions from LDD models.

If we can add shortcut keys for step/model rotation it will be further speed up the instruction making process.

You can already do that, at least for step rotation :) use ASDW keys

6 hours ago, iceleftd said:

@msx80 Another idea came to me.  All the parts for a step are grouped in the parts box or callout box in the Page Layout tab.  When you want to move a part you usually want to move the count and length along with it, but that requires extra clicks or contorted box-drag selection.  This appears to be because all the elements are kept at the same level.  If you keep them in subgroups by part (that is, part, count, and length), which you might already be doing, then you could add a way to select all the elements for a part.  For example, if you were to recognize ALT as a modifier you could use that to promote the selection to the whole subgroup.

  • ALT+click on a part, count, or length, and all three are selected
  • CTL+ALT+click on a part, count, or length, and all three are added to (or removed from) the selection
  • When click-dragging to select, if an element is selected and ALT is pressed then add all three to the selection (might be harder to do the reverse - unselect all three when the last one is no longer bounded)

Alternatively, you could make the selection of entire part groups as the default and use ALT to "open up" the part and work with individual elements.  That might be the preferred way to go!

And yes, we have come to expect magic from you - but we love you for it!  If you ever want to open your development up to other programmers we will be happy to pitch in.

I can look into it. I don't remember exacly how i handle grouping as i went throu different approaches (and the layout code is a mess btw), but i think it could be done.

 

I was wondering something: do you guys prefer to produce "single step per page" instructions or "multiple steps per page" (the default)? I used to like cramped, multi step per page layouts but lately i turned to prefer single steps (after Lego Remake required us to do so). Sure you produce much more pages but in the end nobody's printing them and it's cleaner when looking on a screen. I was considering getting rid of the "multiple step per page" layout that's much harder to produce and stick to single step per page.

Share this post


Link to post
Share on other sites
4 hours ago, msx80 said:

I was wondering something: do you guys prefer to produce "single step per page" instructions or "multiple steps per page" (the default)? I used to like cramped, multi step per page layouts but lately i turned to prefer single steps (after Lego Remake required us to do so). Sure you produce much more pages but in the end nobody's printing them and it's cleaner when looking on a screen. I was considering getting rid of the "multiple step per page" layout that's much harder to produce and stick to single step per page.

I always use multiple steps per page which I think is much better. Some models are really really big (4000 parts) and it will make the pdf file really huge if it was just a single step. Makes it also hard to transfer to others (larger file size). And I think it's a waste of space if you have a full page empty with just a small assembly showing on it. Also sometimes I print the instructions when I know it's the final version. No idea how hard it is in the code side but for me it would be a no go to remove this option and I really like it. Please don't.

Edited by Carl86

Share this post


Link to post
Share on other sites

Hi,

Till now I used  the Multi step, but you're right it's always suffer with space. So when you say goodbye to this option, I can agree with it.

 

Share this post


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

You can already do that, at least for step rotation :) use ASDW keys

Cool that is good, model rotate is not that frequent so this would do.

Regarding single step/multi step:

I use lot of sub-models so I to prefer single step/page because sub-model always starts on new page leave lot of empty specs on the previous page.

Edited by IstakaCiti

Share this post


Link to post
Share on other sites

I do print my instructions sometime :D

For smaller model (or submodels), multi step per page is fine. But single step per page can also be assembled into multipage using photoshop or something similar, so I wouldn't mind.

Share this post


Link to post
Share on other sites

I am waiting for the function of adding design-id to BOM.

I added the design-id with photoshop. It was nightmare, too much work.

Share this post


Link to post
Share on other sites

@msx80 Hello! What a wonderful program you've put together, thank you! I am having a problem running Blueprint version 26 on my Mac laptop. It will open the LDD file, then it shows all the part names, but no images appear. Is there a fix for this? Thanks in advance for your time.

Share this post


Link to post
Share on other sites

About this kind of error:

Operating system detected: Linux                                                             
Starting Blueprint v0026.. Good luck!                                                        
Current folder: /home/sylvain/travail/ExtSrc/Blueprint/Blueprint0026                         
Initializing database..                                                                      
Database is located in: /home/sylvain/.Blueprint/database/brickcache.db
Cache is up to date (1x2248.1)
[LWJGL] Failed to load a library. Possible solutions:
        a) Set -Djava.library.path or -Dorg.lwjgl.librarypath to the directory that contains the shared libraries.
        b) Add the JAR(s) containing the shared libraries to the classpath.
[LWJGL] Enable debug mode with -Dorg.lwjgl.util.Debug=true for better diagnostics.
[LWJGL] Enable the SharedLibraryLoader debug mode with -Dorg.lwjgl.util.DebugLoader=true for better diagnostics.
Exception in Application start method
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
        at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
        at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.UnsatisfiedLinkError: Failed to locate library: libglfw.so
        at org.lwjgl.system.Library.loadNative(Unknown Source)
        at org.lwjgl.glfw.GLFW.<clinit>(Unknown Source)
        at blueprint.opengl.a.<init>(Unknown Source)
        at blueprint.opengl.d.<init>(Unknown Source)
        at blueprint.opengl.b.<init>(Unknown Source)
        at blueprint.b.b.a.a(Unknown Source)
        at blueprint.Blueprint.b(Unknown Source)
        at blueprint.Blueprint.initApp(Unknown Source)
        at a.a.start(Unknown Source)
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
        at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
        at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
        at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
        at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
        at com.sun.glass.ui.gtk.GtkApplication.lambda$null$49(GtkApplication.java:139)
        ... 1 more
Exception running application blueprint.Blueprint

I just had this error under Linux. The problem comes from the fact that libglfw.so is searched in the usual directories where libraries can be found (/lib, /usr/lib, etc.), but not the “native” one. I think it’s because it’s a dependency and isn’t directly loaded with JNI (System.loadLibrary).

That means it’s also searched in LD_LIBRARY_PATH directories, so you just have to add “native” (complete path is better) to that environment variable to solve the error.

Hope that will help some of you (sorry, I don’t know how that works under Windows but I hope that’ll help you find something that works for you).

Share this post


Link to post
Share on other sites

@SylvainLS if it's the same as MacOS, you should be able to tell Java in an argument about the native location: 

java -cp "bin/blueprint.jar" -Djava.library.path=native blueprint.Blueprint

Maybe check Java doc, I'm not sure the exact syntax, been a while I played with it from the command line ;)

Share this post


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

@SylvainLS if it's the same as MacOS, you should be able to tell Java in an argument about the native location: 


java -cp "bin/blueprint.jar" -Djava.library.path=native blueprint.Blueprint

Maybe check Java doc, I'm not sure the exact syntax, been a while I played with it from the command line ;)

Here’s what I tried to explain: setting java.library.path only works for libraries that are loaded via JNI’s System.loadLibrary, not dependency libraries (loaded via ld.so). lwjgl (for instance) is correctly loaded with java.library.path, glfw isn’t.

To be precise, I used strace to track where the files were looked for: lwjgl is correctly searched and found in native first as per java.library.path, glfw is first searched in the JRE lib dirs, then ld.so.cache, then /lib/…, /usr/lib/…. So adding native to LD_LIBRARY_PATH solves the problem (quickly because LD_LIBRARY_PATH dirs are on top of the list).

Share this post


Link to post
Share on other sites
On 13/6/2017 at 7:56 PM, Quentin Collins said:

@msx80 Hello! What a wonderful program you've put together, thank you! I am having a problem running Blueprint version 26 on my Mac laptop. It will open the LDD file, then it shows all the part names, but no images appear. Is there a fix for this? Thanks in advance for your time.

Hi there! I'm not sure what could it be. Previous versions used to work? It looks like it could be something OpenGL related. You could try to check if your drivers are up to date.

@Malou could it be something Mac related?

Share this post


Link to post
Share on other sites

Hum... Depends. Did you use the app package, or the raw java ? What version of MacOS ?

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.