> For example I plan on releasing a GtkCAD-viewer for clients=20 > and PHB's,=20 > marketing, etc. This would allow read access to the data, without=20 > giving them opportunity to change the model. If it also allowed them to make changes to simple parameters within the data, like the name of a room in a building, then that alone would be more significant than you might know. This is a huge deal for many a PHB, and having a GPL system that would allow for not only building creation, but later data management, would have *huge* implications for my industry; for them I'm not just the designer, but also the 'Shepard' of information for my client's buildings after they are built. This would also be a huge benefit for post-occupancy analysis. See, most Architects don't even *ask* the people that occupy the building they designed if things are really working out. If I could set up something that allowed for the every-person to 'vote' on what parts of the building really work and which ones don't, I could vastly shorten the feedback loop in my design process (or even create one where there isn't one at all now). Ah heck, it would just be huge! > I was thinking of this also. I suppose someone could create a simple=20 > scripting language to create macros. > If I had time to do it, I would use a compiler compiler such as flex=20 > and bison to create a grammer and a interperter. What might be better is to look to existing systems, like Squeak, and maybe add a squeak module that would link to the CAD system, so that widgets in Squeak could control the CAD system, while running within the CAD system completely. This I think could work for two reasons; one, in that Squeak has a very easily ported VM (that is also written in squeak) that could be integrated into a plug-in written in C; and two, that Squeak allows for OO programming without hard coding. Within Squeak, you simply click on any object, and can call up it's code, interactions, placement, colors, ect. ect. ect. It's all live, and real-time too, so it could be possible for non-coders to make sub-plugins that automate content creation/ interaction. Kinda like Photoshop, in that there are 'actions' and 'plug-ins'. Plug-ins are written in C, and hard to make, but can do a lot and add tools to the core software. 'Actions' can be made by anyone, however they can't add to the core software. But I can't stress enough that a scripting/macro add-on is not enough. Part of the mess that is AutoCAD is due to it's implementation of Lisp as a scripting/add-on. Having to learn a application-specific language to simply set up something like a batch plot tool or automated layer manager only alienates people. The simpler you can make it to add to the system, and the simpler you can make it to parse the system's input/output, the more people will be able to make tools and content for the system and the stronger the system can become. > I'll have to talk to my advisor and see if can release some code out=20 > into the wild. It is still pretty rough, so not recommended for the=20 > faint of heart who can't program C and write SQL scripts. Looks like I've got some learning ahead of me. :) Please let me know how it turns out. Thanks, Jeffrey