[cad-linux] [OT] Open-source Parametric software for Architects

  • From: "Vishal" <bvishal@xxxxxxx>
  • To: "cad-linux" <cad-linux@xxxxxxxxxxxxx>
  • Date: Sat, 14 Sep 2002 15:55:05 +0530

The question isn't who is going to let me;
it's who is going to stop me.

~ Ayn Rand.
__________________________________________________

Below is an attempt to give some structure to this particular thread on
*Open Source Parametric Software [for Architects]*

I have collected responses to each issue which could be grouped together.
Some which explicity or implicitly demand a response, are the stimuli,
whereas those which (I think) gave some answer/insight to the query, are the
Responses. Apologies in advance for any possible misquotes.

v i s h a l .
__________________________________________________


Stimulus : What is an AEC package ?

Response : Architecture - Engineering (typically HVAC) - Construction. It's
a Suite of tools specifically made for people in the construction industry,
rather than a general-use drawing / modeling program. It's a step beyond 2D
CAD to parametric, 3D CAD, databases, and whatnot. In the construction
industry this area is still in it's infancy, really, other than ArchiCAD all
of them are rather young. In other industries, such as manufacturing and
mechanical engineering, have had such packages for years now. -Jeff.

__________________________________________________

Stimulus : lot of frustration with AutoCad ---> primarily a drafting tool.
AutoCAD too restrictive for any design process, too linear, that's exactly
what design is not. excited about Revit, but acquisition, cost cooled our
excitement. Catia - cool product, but procedurally very foreign to the way
architects work.

Response : Very true when read in the context of architectural design. (I
believe also true in design for any domain). If this list is just CAD -
Computer Aided Drafting, then such statements are out of place. but how
about CADD- Computer Aided Design & Drafting or CAADD-Computer Aided
Architectural Design & Drafting ?  :-)
__________________________________________________

Stimulus : It's Revit. 'Bi-Directional Parametric' - objects in the building
model can be given rules for behavior; change anything, anywhere, at any
time, those changes echo throughout the building model. f.e. change the door
size on a door schedule, automatically changes the door size in the plans
and elevations, for it's the same door- just different 'representations' of
that same door object; 'doors only live in walls, move when the wall moves,
and cut a hole in the wall for themselves'. Then, by manipulating one
object, you can effect the other objects it's been related to; so when you
move the wall the door moves too. It's database-driven abstract top-down
'rules-based' modeling.

Response : The Parametric / Rule-based concept is like CLP (Constraint Logic
Programming) in disguise. A rule is a constraint. A logic programming
approach seems much more natural to such work. Entities/objects are linked
to other collaborating entities. Lot of work is being done in this
direction, read my earlier post for inputs.
However such a model can become immensely complex in design & programming.
As I mentioned in an earlier post, choosing a suitable representation model
eases things a lot. geometric constraint solving, agent-based modeling
applied to CAAD.
__________________________________________________

Stimulus : This is an over-simplified and confusing response, truly.

Response : Can we list more directly just how a CAAD program would support
the architectural design process? Your statement above is a great start, but
there must be *more*.  It must be more than changing the width in the door
schedule and having the door change (although I admit that is very cool). We
need to talk details too, not just broad overviews. Would require numerous
detailed inputs from domain experts.
__________________________________________________

Stimulus : 'vision' is for something like Revit; a easy-to-use,
building-model, database based AEC software package capability for a
separate database module, customization with (or completely written in)
Python or some other computer language that Architects can actually
understand and developed there own tools with, GPL-based able to be extended
to other disciples than just Architectural, and more. Our / my main
goal ---> create a AEC package that can be altered, added to, and refined by
Architects.

Response : ProLog seems much more natural for architects to understand. A
procedural approach is not well suited to design, planning. Apart, one could
always implement a pared down version of a declarative language.

You cannot talk about core extensibility of the functionality of any
software if the intial representation is a rigid & monolithic. (f.e. you
cannot easily build a module to perform thermal performace analysis on an
architectural design representation done in AutoCad. It simply does not have
any core facilities for representing any other data apart from geometry...
of course Acad enthusiasts can tell me to use database extensions associated
with Acad objects... or use some standard layer coding via which I can
extract data...)

So at the least take into consideration (cannot implement currently) all or
the major aspects of spatial design, function-space-time allocation,
ergonomics, thermal performance / climatic analysis, energy-use simulation,
materials selection, fixtures & fittings, cost estimation, quantity
calculation, structural analysis, HVAC, internal transportation systems to
mention a few... whew. *before* deciding on the representation mechanism.
The fields to encapsulate this data have to be present, though no module may
be in existence early on to act upon that data, and users of the software
can leave such fields blank. However, once more people can develop
algorithms for sub-domains, the software would have the fields of special
data available to those modules.

The Class/Object concept is useful in the sense that many things in
architecture can be described in terms of instances of specific classes.
Architectural Taxonomy. But such a task would require much more work on what
information is to be retained for representation & how it is to be
represented.
__________________________________________________

Stimulus :
1.Open-source Linux version ---> lot of Architects will start to migrate to
Linux; for most of us are poor.
2. While free is enticing - I think the main attraction for me is that I
could influence it's direction.  In fact - I could add features myself if I
really want them. ---> imply *modularity*, i.e one should be able to
*easily* extend the functionality of software. Such extensibility in my
opinion also increases the likelihood of vast acceptance of software.
3. venders.  a few years ago a couple of venders played with Linux releases.
for the most part they were kill by the half hearted approach that the
venders took. In the end they were pulled with more fanfare than their
release.
5. If it were GPL we could share any changes we made with others and benefit
from any advances they made. just because other projects have failed or not
become popular is NOT a reason to stop trying. Some of the fastest
developing projects are those with commercial support like Openoffice, and
it's helped sun fight against a difficult rival. Autodesk isn't without some
serious rivals so wouldn't it be cool if Autodesk had some open source
projects? :-)- Guy Edwards
4. Thanks for the tip about BMRT. I'll have to look into it. as an Architect
interested in Radiance calculates global luminosity, developed for day
lighting studies... will report number of lumens on a surface... it's
currently owned by Berkeley Livermore Labs, but will be released under the
GPL at the end of the year.
5. state of the art program that was free (add opensource too) ---> reduce
costs & be more competitive.
6. search the usenet/newsgroups and see how many times you see the statement
"Autocad (or replace with Solidworks, Pro/E, or other) is the only thing
keeping me on Windows).  the demand is there. the question is whether the
void will be filled by opensource projects or from commercial venders.  a
few years ago a couple of venders played with Linux releases. for the most
part they were kill by the half hearted approach that the venders took.
finding information on them was like pulling teeth. In the end they were
pulled with more fanfare than their release.
7. If it was open source, I could have a voice in it's future and direction.
8. If it was open source, then money wouldn't stand in the way of certain
features being implemented, nor would money stand in the way of it being
ported to another platform. If it was open source, then file formats
wouldn't change from year to year for marketing reasons, threatening my past
work and liability.
9. What I would like to see if more of a Red Hat, or Mandrake, or Ximian
model for software; I *pay for service, not product; just like my profession
and my clients.*
10. an open-source file format (like IFC) and an open source AEC package
would help the AEC industry as a whole, and that many people would be
willing to use it.
11. disturbing trend in OSS to try and ape the successful closed source
projects. in order for normal people to consider switching, they need to
feel comfortable, but hard to make progress that way.

Response : Isn't it more than clear to steer away from hidden-source? Even
if developing a new OpenSource software, it makes sense to keep away from
banking on any hidden-source even if it is free as in free beer. phrostie,
in that sense Radiance makes more sense because it would be GPL soon, cannot
say the same about Bluemoon. Opensource definitely increases the
survivability of any idea. There is always someone in this vast world who is
altruistic & smart enough to develop on open ideas mooted by some past
dreamer. Imagine what would be our plight if electromagnetism, quantum
physics, matrix methods were patented & maden 'hidden-source' by Maxwell,
Dirac, et other giants of science & math?

Indeed, it is not too good to simply get 'inspired' by some hidden-source
software & develop an Open Source clone/variant. GNU-Linux is a good
platform to experiment anew.
__________________________________________________

Stimulus : all of you non-architects out there would get bored of such a
thing? we're not talking about and existing CAD package would be a little
off topic? invite many many people into this discussion. I'll see what I can
do to get a separate list up and running for this project.

1. I am currently working on a highly modulized Naval Architecture design
system.  Should be general enough (via plugins) to use with any engineering
displine. it the GtkCAD project at sourceforge... - Parker
2. I'm a complete idiot when it comes to writing code but I'd be happy to
help any way I can. I did write a brief description of what it took to
become a developer for a machine tool control project. You can read it at
the link below. www.linuxcnc.org/handbook/part3/developer.html - Ray
3. We learnt a whole lot of things from your field, you know?  As far as I
know, one of the most useful concepts in programming today, the Design
Patterns, come from the concepts devised by an architect, Cristopher
Alexander. See a few messages from the past weeks about NetCAD or download
http://practicaltux.sourceforge.net/cad-0.0.2.tar.gz (it's just 10k). -
Massimiliano
4. Many on this list do Arch'CAD. Myself i do Mech' (currently Aircraft).
others do Mapping and still others do Civil. yes, most (but not all) of the
Current opensource projects are not useable. at the same time, most CAD
drivers are not programmers. yet progress is being made. we are learning to
work together and pool our skills. as for the "junkyard" you pointed out,
this is a strong point of opensource.  those junkyard parts that are left
for dead can be picked up and reused if needed.

Jeff, I wouldn't think of a new list until phrostie wanted to kick us out of
here. There are a LOT of things which are better handled & understood by
engineers. First, I expect more engineers to be familiar with actual
programming than the number of architects. Engineers would also be more
comfortable with more technical terms & ideas. There are many parallels in a
way between CADD for architects & engineers, so makes sense to use the
common ground to mutual advantage.
Apart, my impression till now is that even the engineers here are friendly
;-)) & willing to contribute to all good ideas. Of course, if phrostie
explicitly asks us out, move. But we can shamelessly hang on till that
point. :-)) If indeed this thread develops to a greater activity, we can
have a coding system for all posts, phrostie, could you devise one if
necessary? All posts specific to architecture, may be prefixed with [Arch]
or something to that efffect.
__________________________________________________

Stimulus : I didn't use to work for a massive firm, it was a just a small 6
man team and software costs were a big issue. Unimportant compared to big
firms maybe but there were quite a few small firms like us in the area.

Response : not necessarily true.  I know of several large companies that
have considered CatiaV5 on NT.  Initially they were sold on the NT is so
cheap sales pitch. they were told "Oh it will run on your Windows PCs!".
then it changed to, "Oh I'm sorry, you'll have to upgrade to NT$.0 of
better.  and by the way that hardware is just too old to do".  the cost just
kept adding up to more and more.  "Oh you want 3D solids too?, well that's
extra"

small or BIG doesnt matter. Opensource surely makes everyone more
competitive & that is its greatest value. It's a great equalizer.
__________________________________________________

Stimulus : times are tight, everyone is trying to save money.

Response : Save each penny. but not penny wise, pound foolish.
__________________________________________________

Stimulus : I can't find one for a AEC parametric software package. I know
that it may be too much of a project, but I'm still researching it for I
think there is a real need for it.

Response :
1. the first thought that comes to mind for me is not to start from scratch.
sourceforge is filled with projects that tried to do just that and stalled
out. i've always thought that OpenInventor/Coin3D looked really good for a
place to start - phrostie
2. I am convinced that to start an Open Source CAD for Linux the best thing
to do is to start from OpenCascade and stick QT on it, like Mr. Routelous is
doing with ExoTKad http://exotk.sourceforge.net/ - Maurizio
3. Also check : http://www.sra.co.jp/people/ryo/JGCL/ : Java Geometry Class
Library Java Geometry Class Library(JGCL) is the class library for Java that
perform various form processings to a geometric form element(analytical and
free-form). JGCL offers only the function as calculation engine and it does
not have the function which displays a result. Jun for Java is used for
visualization of the operation result currently displayed above.  "JGCL" is
exhibited as open source software and offered gratuitously. Operation and
Functions to offer :

    Generation
    Characteristic value calculation
    Intersection
    Offset
    Fillet

http://www.sra.co.jp/people/nisinaka/Jun4Java/index-e.html : Jun for Java, A
3D Graphic Multi-Media Library with Topology and Geometry.

Jun is a framework for developing 3D graphics applications provided as an
Open Source Software at NO COST. It uses OpenGL as a rendering engine and
provides the following functions :

    Geometric elements (point, line, NURBS curve, plane, surface, etc.) and
operations (rotation, translation, resize, etc.)
    Topological elements (vertex, edge, loop, body) and operations (Eulerian
operations, geometry operations, global operations, set operations)
    Display objects and display model
    Texture mapping
    3D Grapher
    3D Charts
    3D Plotter
    Simple animation
    Solid modeler by rotation of 2D plot
    Parameterically determined solid modeling
    VRML1.0/2.0 (97) reader/writer
    Multimedia support including movies and sounds

Jun was originally developed on VisualWorks (Smalltalk) and ported to Java
as a project for the Information-technology Promotion Agency, Japan (IPA).
As with Jun for Smalltalk, you can now develop various 3D graphic Java
applications using Jun for Java.
Jun for Smalltalk is provided as a class library for VisualWorks
(Smalltalk).
__________________________________________________

Stimulus :
2D production CAD = profitability
No production CAD on linux = bondage to M$
IntelliCAD on wine = not ready for prime time
VariCAD, QCAD, LinuxCAD, Cycas, etc. = nice try, no cigar (for architecture)
Bentley halting Microstation on Linux = organized crime

Response : In complete agreement with you Robert Davis.
__________________________________________________

Stimulus : IMO (today), spatial visualization is best accomplished with
SketchUp or a sign pen on trace. I do not want to be an electronic
contractor who builds entire structures with electrons. Conceptual and
schematic design are just what the terms imply. the last thing I want to do
is run a "report" on the parametric data base to generate a floor plan or
section. if you really want to help our profession and your bottom line,
let's get IntelliCAD running on linux and convince @Last Software (SketchUp)
to port from mac OS-X to linux.

Response : Conceptual or schematic design are just starting points for such
software Robert. The scope is far more that this. Of course, I agree with
you that getting a workable 2D CAD system is of immediate concern, but even
if we start a project to do just that, it still helps if we do good homework
on all aspects of the architectural process from integrated design,
drafting, construction & project management and yet further maintainance of
architectural creations.

An *extensible* representation system which can capture more enriched data
sets at a later point in time should be a good step. i.e. even if for now
one is concerned only with geometric data for drafting, we could use a
representation mechanism which further in time could adequately represent
attributes like material properties, spatial adjacency relationships... &
all conceivable relevant parameters.

To give a possible scenario, consider development over time of possbile
modules for the given domains, sub-domains of AEC, starting with plain
geometric drafting.

Drafting package ---> Spatial-functional analysis ---> Interface to energy
simulation software like Energy plus (writing an opensource energy
simulation software ... lol enormous task) ---> Integrated Support for
Rendering softwares f.e Radiance ---> Cost estimation, quantity calc.
modules ---> PMC modules at a later date ---> Spatial inventory modules for
use throughout the buildings lifespan for maintainance.

If only the representation of information be kept flexible, extensible, most
goals should be achievable with efforts pouring from domain experts of all
fields related. f.e if our representation mechanism represents material
properties alongwith geometry, it becomes possible to use that data in an
integrated manner with a thermal performance or structural analysis module.
The material database would incorporate stress handling capacities, thermal
conductance, reflection/refraction properties, cost... and each geometric
entity instanced in the design file, can instance an associated material
object, which in turn is dependent on the geometric entity for its
existence, we never have just wallpaper hanging in space, it needs a wall to
attach to.
__________________________________________________

Stimulus : Like I said, I'm just trying to get the ball rolling, and seeing
if it's a feasible path for me to go.

Response : It is feasible... with lots of work. Research, analysis, design,
implementation,... think of the entire architectural process and then map it
to software. All of it is required. You just rolled the ball, and now a team
of strong men (& women) is needed kick it to the goal post. Apart, in the
opensource spirit, do not refer only in first person. I think the *We/Our*
spirit is the essence of Open Source.
Evaluate your abilities in software design & development. Other competent
people would surely to join. Hopefully you will not move away from the list,
which I believe has many people who know what they do. Good luck.



Other related posts: