[freearchitecture] Blender-Developments

Terry Hancock hancock at anansispaceworks.com
Mon May 8 17:17:36 BST 2006


This is an incomplete reply, but ...
Steve Hall wrote:

>I honestly don't think there is any proprietary system that delivers
>this yet either. There is considerable promise, but to date I've only
>witnessed smoke and mirrors. In reality 2D and 3D are distinct, and
>specifications, schedules, and cost estimates the stuff of word
>processors and spreadsheets.
>
I don't think there is any longer a reason to wait for a proprietary
app to come along to solve a problem, before coming up with
a free one.  Applications like Mediawiki and gForge have convinced
me that when it comes to collaborative work, free solutions will
be both faster to market and better designed than proprietary
ones.

I think what makes CAD a hard target is that anything 3D is
automatically a big project before you even get started on it.

The attractiveness of building on an existing 3D application like
Blender (there are others to consider, but IMHO Blender is a clear
leader), is that it has to a large degree already solved the 3D
interface design problem.  If you can imagine turning Blender
into a "browser" with an enhanced "controller" either derived
from Blender or bolted on as a Python extension, then the problem
of the CAD internals becomes one of data base and server
applications (very much like a web application -- hence very much
like GForge or Mediawiki).

It *isn't* really a web app, because it's not necessarily HTTP
servers or browsers we're talking about, but the concepts are pretty
similar, and the problem can be decomposed in the same way.

I also think that when you look at it that way, it isn't nearly as
terrifying a project. ;-)

For example, I don't think that the free software analog to AutoCAD
is one program, but would instead be a collection of independent
programs operating through well-specified interfaces, e.g.:

* 2D CAD system (we have QCAD and PythonCAD -- both incomplete,
   but improving)

-  2D CAD interoperable file format (probably NOT DXF, maybe the
   XML format used in PythonCAD (though it would need to be separated
   from PythonCAD), or maybe the 2D parts of STEP).

* 3D CAD "browser" (view), which probably evolves into an "editor"
   (view + controller).  Blender could go this way, especially if it already
   has some X3D CAD support as previously mentioned.

- 3D CAD interoperable file format (we've mentioned X3D CAD and STEP).

* Server providing version control and workflow.  I suspect that Subversion
   would be an ideal backend, and there would probably be a desire to 
provide
   some "out-of-band" information, such as changes, discussion, etc.  To me,
   the possibility of Zope/ZEO with a Subversion-based "storage" for CAD
   data and MySQL or ZODB based out-of-band content (perhaps serialized into
   the Subversion server for later reference?).  Or maybe that's too 
complicated,
   maybe it should just use Subversion directly?

*  Server-side tools to construct bill of materials, and other 
information into
    formats like ODT or ODS for use with...

*  Existing spreadsheet and word processing tools.  Why not just integrate
    Open Office or Your Favorite tools into the chain.

In fact, there's no reason why there has to be just one of each of these 
pieces --
I see no reason why user A can't stick with Emacs and user B with KWord, so
long as interchange formats are specified.

It's long been the case that while the proprietary world gravitates to
enormous monolithic "does everything" packages, that the free software
world prefers collections of smaller tools.  So, there's no reason to 
suppose
that there must be a single "AutoCAD" or "Microstation" like application
to replace them. Users will be happier with interchangeable components,
just like they are with a choice of web browsers.

And that's why I think that standard formats, and supporting libraries,
are the key to moving forward.

Cheers,
Terry

-- 
Terry Hancock (hancock at AnansiSpaceworks.com)
Anansi Spaceworks http://www.AnansiSpaceworks.com




More information about the freearchitecture mailing list