| | | | |
| |
|
Hi everyone,
Ive 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 Ive
found time to work on a little LDraw application that Ive 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. Its just reached
the point where Im convinced it can work, and work well. Theres 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.
Id like to pass it to you, the community, to see what you think.
Ive put together a little website for Lic,
with more info, screenshots, etc. Given its early state, I dont want to put up
a fully public download yet, but heres 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, Ill know
its 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
| | | | | | | | | | | | | 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
dont have LPub.
There were indeed a lot of prerequisites (and pre-prerequisites!), but I think
Ive managed to build them all, and Lic launches! Hurray for Python and portable
code.
Unfortunately, an
error occurs when I try to open any models. Its quite possible that I dont
have the right version of some prerequisite or that I didnt install it
properly, so I can certainly provide more details if it isnt immediately clear
whats going on. Heres 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:
My procedure isnt automated, though, so its tedious and error-prone! Its more
like a proof-of-concept than an actual workflow.
Anyway, Id say Lic definitely looks like a worthwhile project. Keep us
informed!
Jim
| | | | | | | | | | | | | | | | | | In lugnet.cad.dev, Jim DeVona wrote:
|
Unfortunately, an
error occurs when I try to open any models. Its quite possible that I dont
have the right version of some prerequisite or that I didnt install it
properly, so I can certainly provide more details if it isnt immediately
clear whats going on.
|
Hi Jim,
Thanks for the feedback!
About the crash you see when loading a model, I think Pythons OpenGL wrapper
isnt 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. Ive seen both
versions in the literature. If youre 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 doesnt, no worries - this probably isnt the best venue to debug. Ill
have access to an OS X test machine soon, and will maintain better
cross-platform support.
Regarding your instructions rendering; its absolutely fantastic! Its got to
be one of the cleanest, most easily read images Ive ever seen. Any hints on
tools / methods you used to pulled it off?
Thanks again,
Remi
| | | | | | | | | | | | | | | | | | | | 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. Ive seen
both versions in the literature. If youre 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 doesnt, no worries - this probably isnt the best venue to debug.
Ill 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 its of
interest. Heres which OpenGL packages Ive 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 havent
managed.
|
Regarding your instructions rendering; its absolutely fantastic! Its got
to be one of the cleanest, most easily read images Ive 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. Im 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
| | | | | | | | | | | | | | | | In lugnet.cad.dev, Remi Gagne wrote:
|
Hi everyone,
Ive 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 Ive found time to work on a little LDraw application that Ive 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. Its just
reached the point where Im convinced it can work, and work well. Theres
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. Id like to pass it to you, the community, to see what you
think.
Ive put together a little website for
Lic, with more info, screenshots, etc. Given its early state, I dont want
to put up a fully public download yet, but heres 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,
Ill know its 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 didnt 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 youd like to help with LPub 4 instead of LIC, drop me a note. If not,
have a great time creating your own application!
Kevin
| | | | | | | | | | | | | | | | | In lugnet.cad.dev, Kevin L. Clague wrote:
|
Hi Remi,
Maybe you didnt 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 youd 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 -
youve 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 didnt hear back, so I started up
on my own with Lic.
I dont think it makes much sense to have two big applications that do basically
the same thing in a community the size of LDraws. Id be honoured and
delighted to help with the new LPub in any way I can, if youll have it. It
doesnt matter to me where the app comes from, Im just *very* keen on seeing a
full-blown instruciton editor. ;)
Check your email!
Regards,
Remi
| | | | | | | | | | | | | | | | | 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 - youve 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 didnt hear
back, so I started up on my own with Lic.
I dont think it makes much sense to have two big applications that do
basically the same thing in a community the size of LDraws. Id be honoured
and delighted to help with the new LPub in any way I can, if youll have it.
It doesnt matter to me where the app comes from, Im just *very* keen on
seeing a full-blown instruciton editor. ;)
Check your email!
Regards,
Remi
|
Hi Remi,
I got your email today. I dont know why I didnt 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 youd 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.
Ive struggled a bit in getting a pointer added via GUI, and then my laptop
power connector broke (HPs have a tendency to do that).
I also dont have a great way to work with cover sheets, or BOMs but between
the two of us, Im 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
| | | | | | |