msx80

[Software] Blueprint, a building instruction generator for LDD

Recommended Posts

Yes there is a bug with the db location dialogs.. anyway, you can bypass the whole stuff by specifying it in the config file. Just open it (it should be .blueprint.ini in your home folder, or something like that :P) and add this line:

db.location=/home/msx80/ldd/db.lif

with your path.

That would solve the problem. I'm pretty sure it will hand somewhere else after it, in this case let me know!

Share this post


Link to post
Share on other sites

ahhh... I was looking for that kind of file. Didn't checked the hidden files, that's why I couldn't find it ;)

I didn't had this file on my mac. I created it and now I got this error:

6sID79v.png

MacBook-Air:Blueprint0015 malou$ java -Djava.library.path=./native/macosx/x64 -jar ./bin/blueprint.jar
Starting Blueprint.. Good luck!
Operating system detected: MacOS
java.lang.IllegalStateException: Please run the JVM with -XstartOnFirstThread.
at org.lwjgl.system.macosx.EventLoop.checkFirstThread(EventLoop.java:20)
at org.lwjgl.glfw.GLFW.glfwInit(GLFW.java:426)
at blueprint.e.a.<init>(Unknown Source)
at blueprint.e.e.<init>(Unknown Source)
at blueprint.e.c.<init>(Unknown Source)
at blueprint.b.b.a.<init>(Unknown Source)
at blueprint.Blueprint.b(Unknown Source)
at blueprint.Blueprint.initApp(Unknown Source)
at blueprint.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)
déc. 14, 2015 10:29:18 PM com.sun.javafx.css.StyleManager getCachedImage
WARNING: Error loading image: rsrc:dialog-error.png

Same with 0015 and 0016

EDIT:

Using

java -XstartOnFirstThread -Djava.library.path=./native/macosx/x64 -jar ./bin/blueprint.jar

doesn't work with 0015. The java app doesn't start at all (I don't see "Operating system detected: MacOS" in the terminal). With 0016, i see more in terminal, but window doesn't open.

Edited by Malou

Share this post


Link to post
Share on other sites

Yes there is a bug with the db location dialogs.. anyway, you can bypass the whole stuff by specifying it in the config file. Just open it (it should be .blueprint.ini in your home folder, or something like that :P) and add this line:

db.location=/home/msx80/ldd/db.lif

with your path.

That would solve the problem. I'm pretty sure it will hand somewhere else after it, in this case let me know!

This actually helped somewhat, I mean after making the config file with the correct path of the db, the window of the application shows up.

But it seems that every open dialog has the bug, the "Import lxf" and "Open design" both are causing a fatal error, and the application crashes.

Share this post


Link to post
Share on other sites

EDIT:

Using

java -XstartOnFirstThread -Djava.library.path=./native/macosx/x64 -jar ./bin/blueprint.jar

doesn't work with 0015. The java app doesn't start at all (I don't see "Operating system detected: MacOS" in the terminal). With 0016, i see more in terminal, but window doesn't open.

Can you show the output with the 0016 ? You can also try with the 0017 preview, the link is some posts before

This actually helped somewhat, I mean after making the config file with the correct path of the db, the window of the application shows up.

But it seems that every open dialog has the bug, the "Import lxf" and "Open design" both are causing a fatal error, and the application crashes.

Can you show the crash log? You're running linux right?

Share this post


Link to post
Share on other sites

Can you show the crash log? You're running linux right?

Yepp, Linux. More specifically Arch Linux, everything updated to the latest.

http://pastebin.com/13hz9qyj

It says that "Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again".

Do you need that too?

Share this post


Link to post
Share on other sites
Can you show the output with the 0016 ?

Here you go:

MacBook-Air:Blueprint0016 malou$ java -XstartOnFirstThread -Djava.library.path=native -jar ./bin/blueprint.jar
Operating system detected: MacOS
Starting Blueprint v0.0.1.6beta.. Good luck!
Current folder: /Users/malou/Downloads/Blueprint0016

And then no windows opens, no java icon in the dock.

You can also try with the 0017 preview, the link is some posts before

With 0017, I saw the changes in the .bat file, so I tried:

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

I get the same "Please run the JVM with -XstartOnFirstThread".

Operating system detected: MacOS
Starting Blueprint v0.0.1.7beta PREVIEW.. Good luck!
Current folder: /Users/malou/Downloads/Blueprint0017
Initializing database..
Cache is up to date.
java.lang.IllegalStateException: Please run the JVM with -XstartOnFirstThread.
at org.lwjgl.system.macosx.EventLoop.checkFirstThread(EventLoop.java:20)
at org.lwjgl.glfw.GLFW.glfwInit(GLFW.java:428)
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 c.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)

With:

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

I basically get nothing. Nothing is printed in the terminal. The java icon does appear in the dock, but it doesn't go further.

EDIT:

Like I said, Java is not the language I’m most familiar with, but I did some reading and it seems like the « XstartOnFirstThread » flag is required for LWJGL3 to launch on a mac. But I understand you’re using JavaFX for the UI which won’t launch if this flag is added because of some conflict between LWJGL3/SWT and JavaFX.

For some further reading I found could be useful:

http://forum.lwjgl.org/index.php?topic=5881.0

https://bugs.eclipse.org/bugs/show_bug.cgi?id=211625

Edited by Malou

Share this post


Link to post
Share on other sites

Hello MSX80

We (the EV3 MINDSTORMS Facebook community) just discovered your awesome program(s),

For my part I was successful in running BlueRender on my Mac OSx running ElCapitan following the instruction you provided (and link to java Brew) I was hoping to do the same for BluePrint!! I read in one of the comments that you sent similar command lines to one member via PM, Could you please share this with me too? my email bazmati at gmail.com thanks man and again-- nice work!!

Share this post


Link to post
Share on other sites

Hello MSX80

We (the EV3 MINDSTORMS Facebook community) just discovered your awesome program(s),

For my part I was successful in running BlueRender on my Mac OSx running ElCapitan following the instruction you provided (and link to java Brew) I was hoping to do the same for BluePrint!! I read in one of the comments that you sent similar command lines to one member via PM, Could you please share this with me too? my email bazmati at gmail.com thanks man and again-- nice work!!

See my posts above...

Share this post


Link to post
Share on other sites

I've released a new version of Blueprint! Changes includes:

- Rendering can now optionally render with shadows instead of "lego-like" flat color. Much better looking, on by default

- New option to zoom text elements on page (so if you setup a big page, step numbers and item counts no longer appear tiny)

- Very very crude first implementation of BOM (bill of materials) at the end of the instructions. Looks kinda terrible and is only useful for small models

- New Delete Page command to get rid of empty pages (after moving steps away) or terrible BOM :P

Download is available here

Let me know if anything is broken

Share this post


Link to post
Share on other sites

I've released a new version of Blueprint! Changes includes:

- Rendering can now optionally render with shadows instead of "lego-like" flat color. Much better looking, on by default

- New option to zoom text elements on page (so if you setup a big page, step numbers and item counts no longer appear tiny)

- Very very crude first implementation of BOM (bill of materials) at the end of the instructions. Looks kinda terrible and is only useful for small models

- New Delete Page command to get rid of empty pages (after moving steps away) or terrible BOM :P

Download is available here

Let me know if anything is broken

That is really great news as it happens that I need exactly something like this right now (gotta make some instructions so we can test our virtual MOC in real bricks)...gonna try it out today! :thumbup:

Share this post


Link to post
Share on other sites

i gave the 0018 version another try on my iMac with yosemite today..

same results as malou reported a few posts back.

inspired by his link to the lwjgl-forums, i tried to replace the lwjgl.jar and the native directory with more recent versions of lwjgl

this got rid of the "Please run the JVM with -XstartOnFirstThread" but gave me this:

iMac3:~ roli$ cd /Users/roli/Desktop/lego/Blueprint0018

iMac3:Blueprint0018 roli$ java -cp "bin/*" -Djava.library.path=native blueprint.Blueprint

Operating system detected: MacOS

Starting Blueprint v0.0.1.8beta.. Good luck!

Current folder: /Users/roli/Desktop/lego/Blueprint0018

Initializing database..

Cache is up to date.

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:497)

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:497)

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:745)

Caused by: java.lang.NoSuchMethodError: org.lwjgl.glfw.Callbacks.errorCallbackThrow()Lorg/lwjgl/glfw/GLFWErrorCallback;

at blueprint.opengl.a.c(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 c.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)

Exception running application blueprint.Blueprint

iMac3:Blueprint0018 roli$

in the aforementioned thread, spasi writes (about the issue of initialising lwjgl without -XstartOnFirstThread) :

I have made an attempt to fix this, please try build 3.0.0b #13 when it's up. I moved the first thread check from glfwInit to glfwShowWindow and glfwPoll/WaitEvents. This means you can initialize GLFW and create an offscreen window/context, without the -XstartOnFirstThread argument. Do not call the methods mentioned (obviously you cannot use any callback either) and it should work.

Important: AWT/JavaFX must be initialized before GLFW and GLFW must be terminated before AWT/JavaFX for this to work without issues. This should be easy to handle.

could this lead to the issue?

Edited by thrasykles

Share this post


Link to post
Share on other sites

PROBLEMS:

  • unable delete steps that are generated automatically upon LXF import: if I add my own those can be deleted but we have to be able edit the default ones too as, for example, I am using GROUPS differently from Blueprint intended usage (I am using GROUPS for grouping parts of a model into logical blocks that can be manipulated later on as a whole object instead of making some steps for building instructions) UPDATE: i just noticed that if I add my own submodel and move there any brick from some other submodel that DELETE option becomes grayed for my added submodel too so there is something strange going on here + I had no such behavior like an hour before when I was playing with it a lot, it looked overall very good to me BUT then suddenly it stops working properly and is not working still (tho I did all the cleaning stuff) SOLVED: gee, my fault once again - I simply did not realize that the submodel that is being deleted NEED TO BE COMPLETELY EMPTY FIRST (I just thought it would move all its content to the next submodel automatically which was wrong, of course) :sadnew::laugh:
  • sometimes moving submodels of other than latest one in hierarchy do not work (like the 2nd and 3rd subs from main model)

As I first thought that something could happen with the BP itself, I deleted it and clean all my OS cache files, but those problems are still being there...and there is no error in CMD window.

Edited by bublible

Share this post


Link to post
Share on other sites

Same as thrasykles here. I tried updating lwjgl before, but I think I didn't replace the jar, only the native folder... News are getting goods!

Share this post


Link to post
Share on other sites

SUGGESTION:

As I am playing with it last 2 days (working on one bigger project) I noticed that it would be nice if we could simply FOLD SPECIFIC SUBMODEL: quite often I need to check steps I made in some of my previous steps (as model I am working on consist of two basically same parts with some differences but I want logical building steps for the same section would look exactly the same...see, I cannot simply copying them as they are mirrored so I basically need to do it from scratch so I need paragon = steps I made previously earlier in the process) that are way too far away (gotta scrolling like mad) so I guess it would ease things a lot if we could simply fold all sections we do not need to see right now and let opened only those we need (you know: in such case only the upper-most submodel picture would be visible of those folded ones), something like this maybe?

20160209_blueprint_foldsubmodel.jpg

Edited by bublible

Share this post


Link to post
Share on other sites

SUGGESTION:

BluePrint -> Page layout -> RMB -> Add Text

  • sometimes it would be very useful having ability to add some additional text like when you need to say some part that consist of let's say 30+ bricks needs to be done 3X more, so you do not need to make it 4x in "Step design" part of the SW GUI (yes, you can do it fine just without that additional text BUT than builder would not know it needs to be done 4x)

BluePrint -> Page layout -> RMB -> Edit Selected Text

  • sometimes it would be very useful having ability to edit selected text

BluePrint -> Page layout -> RMB -> Delete Selected Text

  • sometimes there are generated texts that do not need to be there at all (like for example now I am working on a model that has generated some text that should not be there but I am not able delete it so it will be exported with it)

BluePrint -> Page layout -> RMB -> Scale Selected Object

  • sometimes it is highly needed pure simple scaling down of some generated pictures in Page layout cos they are too big and they simply do not fit into page setup we are using (even more if there are some additional call-outs of submodels on that page then the space may become extremely cluttered) - widen the page would not be the best option as it would make other subpages that are designed/placed OK look more or less empty (having a lot of empty space on a page)

BluePrint -> Step design -> RMB (on actual step picture) -> Set submodel bg color

  • it would be nice having this option: color that would be set for a submodel would be applied to all submodels in given hierarchy, that is, for example: if we are setting bg color for a submodel of 3rd order then all 3rd order submodels nevermind in what model's "group" would have this color

PROBLEM:

  • when I hit EXPORt (pdf) there is additional last page added with intended summary of all bricks used in a model: very good idea BUT it happens that only the 1st page of that list is generated, and all the other bricks that did not fit into that one single page are just smashed right after the right page side/margin (if one widens page width temporarily they can be seen there) in one huge mess one over another. Now I know you said it is just the first initial version of this list, I just giving it to your attention for possible next release bug fixes...maybe?

Edited by bublible

Share this post


Link to post
Share on other sites

Hi there! actually i implemented "hiding" of steps and submodels in some of the first releases but i was dissatisfied with the results as it was kind of unreadable and confusing, so i removed it.. Also Javafx does its best to mess with sizes and alignements and is a real pain.

About your suggestion for page layout, they're all good suggestion. I could go around implementing them the next time i pick up the code, but the real problem is that all the layouter logic (the thing that decide where to place what, margins etc) is stupid and needs to be rewritten. That's also the reason why the BOM is limited to a page and overflows badly.

Share this post


Link to post
Share on other sites

Hi there! actually i implemented "hiding" of steps and submodels in some of the first releases but i was dissatisfied with the results as it was kind of unreadable and confusing, so i removed it.. Also Javafx does its best to mess with sizes and alignements and is a real pain.

About your suggestion for page layout, they're all good suggestion. I could go around implementing them the next time i pick up the code, but the real problem is that all the layouter logic (the thing that decide where to place what, margins etc) is stupid and needs to be rewritten. That's also the reason why the BOM is limited to a page and overflows badly.

OK, understood - I wish you all goes fine as you intend to (fingers crossed as there are always possibilities that something goes wrong) :wink::thumbup:

Share this post


Link to post
Share on other sites

Hey msx80, I just wanted to say that you doing great job with that super useful software and I hope you not abandon it.

I keep finger crossed for the next release.

Cheers!

Share this post


Link to post
Share on other sites

I'm using this great software and I'm very happy with it.

I have just a minor problem: is it possible to have less steps on screen? Or decide how many steps to have at the same time? When you have rather big moc, like modular building, you just can't see properly added parts.

Share this post


Link to post
Share on other sites

I'm using this great software and I'm very happy with it.

I have just a minor problem: is it possible to have less steps on screen? Or decide how many steps to have at the same time? When you have rather big moc, like modular building, you just can't see properly added parts.

Right click on submodel you want to remove (but first move all parts into some other submodel cos else delete option would be greyed out) and click DELETE

Share this post


Link to post
Share on other sites

Ah, so you suggest to go on with submodels to have more focused steps...

It's an Idea.

Ehm, sorry to ask but do I feel sarcasm in your reply or is it I just did not understand how you mean it (your reply)? :look:

You said you want LESS STEPS: actually I thought your problem was too many submodels = "steps" (by deleting them there would be less of them = less "steps") - is that correct? :wink:

Edited by bublible

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.