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.