![]() |
Info about the BriCad Home Page |
In a nutshell: To show off pictures and instructions from my LEGO® creations, and to introduce my BriCad project, which will hopefully yield a useful LEGO® model instruction editor running under the Linux operating system. Obviously, both topics are closely related to each other, e.g., all instructions shown on this page have been created with a first prototype of the BriCad program.
Before going any further, please let me remind you that everything shown here results from a fan project, done entirely in my free time, and with no commercial gain intended (you read the disclaimer at the beginning of the top-level page, didn't you ;-)
Jump back to the beginning of this page / top level page
BriCad is the name of a freeware program I'm currently working on. The overall goal of BriCad is to provide a tool for editing and publishing step-by-step instructions for models built from smaller, three-dimensional "bricks", including, but not limited to models built from LEGO® bricks. The core of BriCad consists of an isometric 3D graphics engine and a graphical user interface, which will let the user pick predefined three-dimensional objects from a menu system, and place them on the screen to assemble a model of nearly arbitrary complexity. BriCad's user interface has been designed to be as "WYSIWYG" as possible, meaning that the evolving model is always shown in its full graphical detail (in the same isometric-3D representation which is used throughout the instruction sheets at this site), and that the model can be updated and edited (nearly) in real-time.
Or, speaking in LEGO® terms, just think of an instruction builder tool which lets you pick LEGO® bricks from a menu, and then assemble them on-screen using your mouse ;-)
BriCad gets developed for the Linux operating system providing an X11-based graphical user interface; Sparc machines running Solaris 2.4 are also supported. The BriCad distribution comes with a special library containing definitions for LEGO® bricks1), which concentrates on models built from basic/freestyle bricks and the specialized sub themes. Space and Castle will probably be severely overrepresented, since these are my favourites ;-), but after all, pieces are interchangeable between the sub themes, so a coverage of most other themes is very likely as time goes by. Themes with non-basic brick sizes like Duplo®, Toolo, Belville, and (mono-)rail pieces will not be supported. Also, Technic models can not be represented with the current approach implemented in BriCad.
1) Currently, most efforts in BriCad are spent on working out the LEGO® brick domain, since building with LEGO® bricks is one of the BriCad author's favourite hobbies. However, it should be noted that BriCad is, in general, independent from the LEGO® domain, and brick libraries for other applications might be added in the future.
Just in case you're thinking of BriCad as an attempt of replacing
conventional (e.g., LEGO®) building bricks with virtual,
simulated ones, let me state: No way!
The idea behind BriCad is to create step-by-step instructions for
models which have already been built with physical bricks, in order
to archive building ideas, or to communicate them with other people.
For example, think of creating instructions for one of your favourite
creations before dismantling it for a new project. Or consider making
step-by-step instructions for a personal model gallery on your homepage,
so that your internet friends can see your creations, too.
Either way, the design process for creating an instruction set would be like this:
Please note that the process of building the physical model is still the most creative part here; steps 2-4 are mainly reproductive in order to transform the design into an electronically exchangeable format. And that's exactly the aim of the BriCad project: to provide support for building with the real bricks, adding more fun to the game, but it is not trying to replace the "real" bricks. Therefore, I'd like to ask you to refer to BriCad as a building instruction editor, to emphasize that BriCad is concentrating on publishing building instructions, and not on designing (or playing with) the "real" model.
In contrast to that, naming a tool as "Virtual Building Bricks" or
"Computer Building Bricks"
would indicate that the program is striving to eliminate steps 1) and 4)
(in my personal interpretation, of course. Feel free to differ :-)
For example, such a tool would try to simulate building
with LEGO® bricks, so that step 1) would already take place on the
computer. Furthermore, the recipients of the created instructions in step 4)
would continue working with the model inside the software, and not necessarily
rebuild the physical model to derive their own variations.
I am aware, though, that there are no sharp borders between the "building instruction editor" approach and the "Virtual building bricks" view point, at least, when seen from the software side. Of course, the BriCad tool could be used to build a virtual model on-screen, and likewise, a virtual building brick program could most probably be used to reproduce an already built model. Therefore, the decision between the two paradigms is more a matter of personal view (or even a religious thing ;-), and less a question of software design.
Since I believe that BriCad users should follow the "building instruction editor" approach, let me elaborate this a bit more, and give you some food for thought:
My main arguement here is that software solutions for a given real-world
problem are only appropriate,
if they are an improvement over existing (possibly non-software)
tools for the given application domain, or if they are at least equally
capable of solving such a task.
For example, a modern word processor is definitely more convenient
than an old-style mechanical type writer, and the software version
even lets the user do things he couldn't do with the mechanical
type writer before.
But there are also applications which are not very suitable
for computerization. If an artist were forced to trade in his paint brush
and canvas for a drawing program, his creativity would probably
be limited, since the software (at least with the current technology)
would be less capable than his "mechanical" tools. And the same thing would
happen, in my view, when trying to replace physical building bricks
with computer software.
The uniqueness of (LEGO®) building bricks lies in the fact that they represent
a physical modeling tool (in contrast to, say, a programming language or
a CAD program), and I think that computer simulations
won't be able to beat 'real life' modeling in this particular case.
While developing the BriCad tool, I tried building models
directly in BriCad (without creating a physical model first) several times,
and made the following obeservations:
A CAD program doesn't give tactile feedback, and especially no information on the model's mechanical stability. When I attempted to build my virtual models later, I always had the effect of some parts collapsing under the pressure of adding new bricks. In one case, the model was reasonably structured, but it fell over because the center of gravity was lying outside the model.
Holding a model in one hand and putting bricks into it with the other hand is one thing. Trying to duplicate this with a CRT and a mouse is another. E.g., flipping a partially completed space ship in my hand to add some bricks at the bottom is a matter of less than a second in the real world, and just needs two physical hand movements. To achieve the same effect through a graphical user interface (GUI), significantly more time and mouse movements are required. Users might shy away from building more complicated models because of restrictions or inconveniences in the GUI, and therefore won't accomplish the same creativity as with real bricks.
Screen resolution is a very limiting factor. A 1600x1200 screen can roughly handle a 40x40x60 sized model in BriCad (all coordinates in multiples of 1x1 plates), if individual 1x1 plates should still be discernable. Scrolling can help to get the model a bit larger, but once the model starts to outgrow the screen by a factor of two, the user can hardly keep track of what is going where. Anyways, large building projects will be very hard to be visualized on the screen as a whole. The real world doesn't have this problem.
Building with real LEGO® seems to be more creative. One reason for this is that I might just browse through my brick boxes and bins, find an interesting piece and say to myself, "hey, that'd look cool if placed right here in my model". Since I can not see the entire brick collection on my screen (again, screen resolution prevents me from putting a selection of 50 or more bricks into a graphical menu), my virtual models came out with a more restricted brick selection than possible, just because I overlooked the possibility of using certain brick types for them.
I can only view one model on the screen at once, but I can build a room-filling scenario out of real LEGO®. And I can use my computer for some other tasks while looking at my ABS LEGO® models ;-)
Related to the previous topic, it is also not clear to me how to adequately play with a virtual model. Even if one could simulate the functionality of every possible brick, like opening cockpits, turning antennae, and provide some means of driving the model through a virtual world, there would always be endlessly more ways of playing with the model in the real world. And the computer simulation would still concentrate on one primary model, not a whole scenario of models, unless we're talking high-end graphics work stations ranging way beyond the actual consumer market.
I encourage you to download BriCad and build a "virtual" model on your own, and especially try to built it with real bricks later. It's pretty instructive ;-)
Of course, one could always argue that the current
software is just not powerful enough, or simply
misdesigned (which might even be true), but I fear
that we'll never arrive at the point where all aspects
of building with real LEGO® bricks can be
simulated by CAD/VR software.
Consequently, BriCad leaves the building aspect to the real bricks,
and focuses on publishing the building results.
Because software should add to the user's creativity,
not limit it2).
Jump back to the beginning of this page / top level page
Yes or no, depending on how you see it.
Fortunately, the decision between Linux and Windows (either 3.1.x or 95) isn't an exclusive one, since both operating systems will peacefully coexist on the same hard drive. The most usual way of adding Linux to a DOS/Windows-based system is to add another partition for Linux on your hard drive (preferred, but you could even install Linux into a subtree of your C:\ drive, if repartitioning of your HD is not an option). In both ways, your system's behaviour won't change at all, until you explicitly decide to boot into Linux, which is normally done by calling a special DOS command like "loadlin.exe". When your work with Linux is finished, you can just use the well-known Control-Alt-Del combo to quit Linux and reboot into your normal Windows mode. The bottom line is that you won't lose anything by adding Linux to your system, except for about 50MB-100MB of HD space, depending on how much Linux stuff you choose to install.
It should also be noted that Linux is freeware, with complete CD distributions commonly ranging between $20 and $50. You don't even have to buy a Linux CD if you know somebody who already has one since copying Linux is perfectly legal.
There are lots of documents on getting/installing/operating Linux available on the Internet.
A good point to start gathering information about Linux
on the Net would be the very well written papers from the
Linux Documentation Project
.
Since this site is normally heavy loaded, you should first
visit their list of mirror sites to find a more suitable
site for you. When you've done that,
please don't get scared away by the
huge mass of documents available on this site; they're
really covering almost every topic on Linux there.
For a start, I recommend to go to the HOWTO section (about one page down), and get the following documents:
Jump back to the beginning of this page / top level page
A first alpha version of BriCad has just been released. For technical reasons, the BriCad Download zone is organized as a separate site; you can either follow the link given above or use the icon from the top level page to get there. The Download Zone contains entry points to several sections of the BriCad on-line documentation; section 2 (Installation) has the links to the downloadable BriCad binaries. BriCad is currently available as a binary-only release, with precompiled versions for x86-Linux-ELF (Kernel 1.2.13 and up), and Sparc-Solaris-2.4. If people complain enough about a missing Linux-a.out binary, I'll throw that in, too ;-)
A specific date for a source code release hasn't been set yet, but somewhere towards the end of September seems to be reasonable for me. The main reason for the source code delay is that some parts of the source tree need rearrangement, and I'd like to work in possible bug fixes and improvements based upon the experiences from the first binary release.
Like most Linux programs, BriCad is freely distributable,
and you can download it without any registration fees or whatever.
When things have stabilized a bit (likely along with the first
source code release), I'll also try to upload it at least one of
the mainstream Linux ftp archives, probably at sunsite.
The BriCad copying policy
is in BSD-style.
Jump back to the beginning of this page / top level page
All Images, models and other material contained in the BriCad Home Page and its sub pages are copyrighted by Carsten Gnörlich, unless noted otherwise (in fact, they would even be copyrighted without this notice; see "Brad Templeton on Copyright myths -- 10 Big Myths about copyright explained" for a nicely written summary on copyright law).
You are allowed to set up links to the BriCad home page and/or to copy material from it provided that you comply to the following rules:
Linking:
You are allowed to set up links from your home page(s) to
the .htm/.html documents at this site, but not to individual .gif images or
targets within the .htm/.html pages.
Storing and copying:
It is okay to download, store and copy the .htm/.html and .gif components
of this site on your local machine for private use,
as long as you do not attempt to resell or republish them.
Building instructions:
The models depicted in my
building instructions are copyrighted, but freely redistributable. You may build
and change them as you like, and you are not restricted on publishing scans,
building instructions, or making other uses of your own creations which may have
been derived from the models shown in my instructions, except that you are
required to give me some attribution if:
For example, it is common to cite an author on printed media and software compilations, so you should give me some attribution if you are publishing an idea book or a CD-ROM featuring building ideas from my models. On the other hand, the LEGO® company seems never to disclose the designer's names on their sets, so I don't want an extra treatment if there should ever arise the situation of an overlap between my designs and theirs.
If you wish to set up links to this site or copy material from this site in a way which doesn't meet the conditions outlined above, please ask me for permission before doing so. Arrangements can probably be worked out.
Jump back to the beginning of this page / top level page
This site is not sponsored, authorized or endorsed by the LEGO group of companies. | |
Copyright 1996 Carsten Gnörlich. | Last change: 07.08.96 |