To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cad.devOpen lugnet.cad.dev in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / Development / 10683
     
   
Subject: 
Introducing Lic - Lego Instruction Creator (pre-alpha)
Newsgroups: 
lugnet.cad.dev
Date: 
Thu, 27 Sep 2007 04:32:17 GMT
Highlighted: 
!! (details)
Viewed: 
6827 times
  

Hi everyone,

I’ve been lurking here for a few years now, and have been using LDrawfor quite some time. I finally have something worth saying! In the past few months I’ve found time to work on a little LDraw application that I’ve been wanting to develop forever now. I call it Lic (Lego Instruction Creator).

I absolutely love LPub, but I tend to prefer WYSIWYG-based applications, and get frustrated pretty quickly with manually editing LDraw files - which is where Lic comes in.

Lic takes a regular LDraw model as input, and basically generates the same kind of final instruction images as LPub. But instead of meta commands, Lic provides a fully interactive preview GUI, which you use to control page layout. The GUI also gives you a hierarchical tree view of the overall instruction book, which makes navigating the book easy.

Right now, Lic is still in an early proof-of-concept stage. It’s just reached the point where I’m convinced it can work, and work well. There’s not a lot of features or functionality, and it can be a pain to get up and running, but I believe the underlying framework is solid and extensible, and worth building on. I’d like to pass it to you, the community, to see what you think.

I’ve put together a little website for Lic, with more info, screenshots, etc. Given its early state, I don’t want to put up a fully public download yet, but here’s a link where anyone interested can grab a copy. Feel free to pass the link (or zip file) to anyone else you think may be interested.

Before running Lic, be sure to check out the installation instructions. Lic itself needs no installation, but does require a handful of libraries (Python, PyOpengl, GTK, etc). I know installing a bunch of stuff just to run this one app is a lot to ask, but if people find Lic useful and worthwhile, I’ll know it’s worth spending time to streamline the installation. I would never release an app to the general public with such absurd requirements!

What do you think? Is an app like Lic useful, worth developing further? Or should I crawl back to my hole and mind my own business? ;)

Best regards,


Remi

   
         
     
Subject: 
Re: Introducing Lic - Lego Instruction Creator (pre-alpha)
Newsgroups: 
lugnet.cad.dev, lugnet.cad.dev.mac
Date: 
Thu, 27 Sep 2007 17:40:21 GMT
Viewed: 
9817 times
  

In lugnet.cad.dev, Remi Gagne wrote:

   What do you think? Is an app like Lic useful, worth developing further?

Yes, it is very cool. Especially so since it (almost) works on Mac OS X - and we don’t have LPub.

There were indeed a lot of prerequisites (and pre-prerequisites!), but I think I’ve managed to build them all, and Lic launches! Hurray for Python and portable code.

Lic Mac X11 Screenshot Lic Mac X11 Open Dialog Screenshot Lic Mac X11 Open Error Screenshot

Unfortunately, an error occurs when I try to open any models. It’s quite possible that I don’t have the right version of some prerequisite or that I didn’t install it properly, so I can certainly provide more details if it isn’t immediately clear what’s going on. Here’s the model from the example. It happens with pyramid.dat, too.

This announcement is a neat coincidence, since I had spent yesterday afternoon working out an ambitious way to render instruction-style images:

Instructions
Render - Mockup Cover

My procedure isn’t automated, though, so it’s tedious and error-prone! It’s more like a proof-of-concept than an actual workflow.

Anyway, I’d say Lic definitely looks like a worthwhile project. Keep us informed!

Jim

    
          
     
Subject: 
Re: Introducing Lic - Lego Instruction Creator (pre-alpha)
Newsgroups: 
lugnet.cad.dev, lugnet.cad.dev.mac
Date: 
Fri, 28 Sep 2007 04:09:08 GMT
Viewed: 
9854 times
  

In lugnet.cad.dev, Jim DeVona wrote:
   Unfortunately, an error occurs when I try to open any models. It’s quite possible that I don’t have the right version of some prerequisite or that I didn’t install it properly, so I can certainly provide more details if it isn’t immediately clear what’s going on.

Hi Jim,

Thanks for the feedback!

About the crash you see when loading a model, I think Python’s OpenGL wrapper isn’t quite as portable as the rest...

On my machine (win32), the function glDeleteFramebuffersEXT() expects a list as its last argument, but seems yours is expecting an integer. I’ve seen both versions in the literature. If you’re willing and curious, want to change the code? In GLHelpers.py, just change line 119 by removing the two square brackets around framebuffer, see if that helps.

If it doesn’t, no worries - this probably isn’t the best venue to debug. I’ll have access to an OS X test machine soon, and will maintain better cross-platform support.

Regarding your instructions rendering; it’s absolutely fantastic! It’s got to be one of the cleanest, most easily read images I’ve ever seen. Any hints on tools / methods you used to pulled it off?

Thanks again,


Remi

    
          
     
Subject: 
Re: Introducing Lic - Lego Instruction Creator (pre-alpha)
Newsgroups: 
lugnet.cad.dev, lugnet.cad.dev.mac
Date: 
Fri, 28 Sep 2007 14:23:17 GMT
Viewed: 
9951 times
  

In lugnet.cad.dev, Remi Gagne wrote:

   On my machine (win32), the function glDeleteFramebuffersEXT() expects a list as its last argument, but seems yours is expecting an integer. I’ve seen both versions in the literature. If you’re willing and curious, want to change the code? In GLHelpers.py, just change line 119 by removing the two square brackets around framebuffer, see if that helps.

Sure. It fails in the same place, but with a different error:
glDeleteFramebuffersEXT(1, framebuffer)
ctypes.ArgumentError: argument 2: <type 'exceptions.NameError'>: global name 'typeCode' is not defined
Wish I knew more about Python so I could help debug a little better.

   If it doesn’t, no worries - this probably isn’t the best venue to debug. I’ll have access to an OS X test machine soon, and will maintain better cross-platform support.

No problem. I kept notes on everything I installed, more or less, if it’s of interest. Here’s which OpenGL packages I’ve got - maybe you can advise different versions to match yours:
  • PyOpenGL-3.0.0a6
  • gtkglext-1.2.0
  • pygtkglext-1.1.0
I did notice that pygobject-2.14.0 reported “libffi support: no”, although it and everything else built fine. If I understand correctly (never a certainty), libffi provides some sort of mechanism for different languages to call each others’ functions. Could this be related to the mismatched argument types that cause the error?

Based on that notion I did try to find a way to install “libffi”, but I haven’t managed.

   Regarding your instructions rendering; it’s absolutely fantastic! It’s got to be one of the cleanest, most easily read images I’ve ever seen. Any hints on tools / methods you used to pulled it off?

Thanks. This thread and some additional advice from Allen Smith deserve most of the credit. I’m using L3P and Travis Cobbs’ command line build of MegaPOV 0.7 (with edge tracing and alpha channel output). The plan is to automate the remaining manual changes and share whatever tools or techniques that effort yields.

Jim

   
         
   
Subject: 
Re: Introducing Lic - Lego Instruction Creator (pre-alpha)
Newsgroups: 
lugnet.cad.dev
Date: 
Tue, 2 Oct 2007 21:45:49 GMT
Viewed: 
9452 times
  

In lugnet.cad.dev, Remi Gagne wrote:
   Hi everyone,

I’ve been lurking here for a few years now, and have been using LDrawfor quite some time. I finally have something worth saying! In the past few months I’ve found time to work on a little LDraw application that I’ve been wanting to develop forever now. I call it Lic (Lego Instruction Creator).

I absolutely love LPub, but I tend to prefer WYSIWYG-based applications, and get frustrated pretty quickly with manually editing LDraw files - which is where Lic comes in.

Lic takes a regular LDraw model as input, and basically generates the same kind of final instruction images as LPub. But instead of meta commands, Lic provides a fully interactive preview GUI, which you use to control page layout. The GUI also gives you a hierarchical tree view of the overall instruction book, which makes navigating the book easy.

Right now, Lic is still in an early proof-of-concept stage. It’s just reached the point where I’m convinced it can work, and work well. There’s not a lot of features or functionality, and it can be a pain to get up and running, but I believe the underlying framework is solid and extensible, and worth building on. I’d like to pass it to you, the community, to see what you think.

I’ve put together a little website for Lic, with more info, screenshots, etc. Given its early state, I don’t want to put up a fully public download yet, but here’s a link where anyone interested can grab a copy. Feel free to pass the link (or zip file) to anyone else you think may be interested.

Before running Lic, be sure to check out the installation instructions. Lic itself needs no installation, but does require a handful of libraries (Python, PyOpengl, GTK, etc). I know installing a bunch of stuff just to run this one app is a lot to ask, but if people find Lic useful and worthwhile, I’ll know it’s worth spending time to streamline the installation. I would never release an app to the general public with such absurd requirements!

What do you think? Is an app like Lic useful, worth developing further? Or should I crawl back to my hole and mind my own business? ;)

Best regards,


Remi

Hi Remi,

Maybe you didn’t know but I am working on a WYSIWYG version of LPub, where there is no manual editing of the LDraw file. So far, almost everything has GUI point and click kind of interface with support for multiple steps per page, and callouts.

It is C++ based and written using the Qt programming tool set, so building targets for the PC, Mac and Linux should be a matter of what platform you build on.

Never one to tell people what to do, I welcome your effort in LIC.

If you’d like to help with LPub 4 instead of LIC, drop me a note. If not, have a great time creating your own application!

Kevin

   
         
   
Subject: 
Re: Introducing Lic - Lego Instruction Creator (pre-alpha)
Newsgroups: 
lugnet.cad.dev
Date: 
Thu, 4 Oct 2007 00:06:09 GMT
Viewed: 
6083 times
  

In lugnet.cad.dev, Kevin L. Clague wrote:
   Hi Remi,

Maybe you didn’t know but I am working on a WYSIWYG version of LPub, where there is no manual editing of the LDraw file. So far, almost everything has GUI point and click kind of interface with support for multiple steps per page, and callouts.

It is C++ based and written using the Qt programming tool set, so building targets for the PC, Mac and Linux should be a matter of what platform you build on.

Never one to tell people what to do, I welcome your effort in LIC.

If you’d like to help with LPub 4 instead of LIC, drop me a note. If not, have a great time creating your own application!

Kevin

Hi Kevin,

I was hoping to hear from you! Yep, I knew you were working on a WYSIWYG LPub - you’ve mentioned the idea here in the past. I just had no idea how far along you were, or if you had even started. I tried contacting you a handful of times through June/July, asking about the status of a WYSIWYG LPub and offering any assistance I could. But for whatever reason I didn’t hear back, so I started up on my own with Lic.

I don’t think it makes much sense to have two big applications that do basically the same thing in a community the size of LDraw’s. I’d be honoured and delighted to help with the new LPub in any way I can, if you’ll have it. It doesn’t matter to me where the app comes from, I’m just *very* keen on seeing a full-blown instruciton editor. ;)

Check your email!

Regards,


Remi

   
         
   
Subject: 
Re: Introducing Lic - Lego Instruction Creator (pre-alpha)
Newsgroups: 
lugnet.cad.dev
Date: 
Thu, 4 Oct 2007 02:18:17 GMT
Viewed: 
6654 times
  

In lugnet.cad.dev, Remi Gagne wrote:
  
Hi Kevin,

I was hoping to hear from you! Yep, I knew you were working on a WYSIWYG LPub - you’ve mentioned the idea here in the past. I just had no idea how far along you were, or if you had even started. I tried contacting you a handful of times through June/July, asking about the status of a WYSIWYG LPub and offering any assistance I could. But for whatever reason I didn’t hear back, so I started up on my own with Lic.

I don’t think it makes much sense to have two big applications that do basically the same thing in a community the size of LDraw’s. I’d be honoured and delighted to help with the new LPub in any way I can, if you’ll have it. It doesn’t matter to me where the app comes from, I’m just *very* keen on seeing a full-blown instruciton editor. ;)

Check your email!

Regards,


Remi

Hi Remi,

I got your email today. I don’t know why I didn’t notice or respond to the previous emails.

WYSIWIG LPub (4.0) is moderatly far along. I started on it shortly after returning from Brickfest PDX in Portland. You use the GUI to get the affect you want, and LPub adds/modifies/deletes meta commands inside the LDraw file.

If you want to have multiple steps per page, you simply pull down the pop up menu item “Add Step”. You can use it as many times as you want (as much room as your page has. If you want to add a divider, you place your cursor over a step assembly image, and use the “Add Divider” menu, and poof, you get a divider after the you worked with. Divider color, thickness are editable.

You can pick up callouts and slide them around the page. You can click on pointers (the arrow like things from callouts to step images), and move the tip around by dragging the mouse. You can grasp the base of the pointer (at the callout end) and move the base from side, to corner to side, all the way around the callout if you’d like. You cannot add/delete steps in a callout, but you can shape and form things using dividers. You can switch multi-step and callouts from horizontal to vertical and back using menus. You can grab and slide multi-step conglomerations.

You can be looking at the page(s) of a sub-model and use the “Convert to Callout” menu, and poof, a callout is created on the page where that sub-model is used.

You can bring in arbitrary images and place them on the page. Page numbers toggle from side to side (and you get to decide where the page number is on the first page). All the font sizes/color/types are editable. Backgrounds are editable. Borders are editable..... It is really quite far along.

I’ve struggled a bit in getting a pointer added via GUI, and then my laptop power connector broke (HP’s have a tendency to do that).

I also don’t have a great way to work with cover sheets, or BOM’s but between the two of us, I’m sure we can come up with some handy things for that.

Minimally getting pointer addition working, and then testing/fixing would be sufficient progress for me to want to give people a first look.

I have a few sort of “boring” things, like putting together an install package, and getting things built for multiple targets. I really want it available on all targets (Solaris?), especially the Mac, and then Linux.

Sound like fun? I was trying to fly under the radar with the project, until I got things working, but “real life” has gotten in the way of LEGO. You Lic announcement motivated me to get out of stealth mode.

Kevin

 

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR