Oh my. Are you really suggesting that a model of program (and user) interaction developed for tty terminals be extended into the world of hardware-accelerated, feature-based, parametric and variational solid modeling? Are you also playing text-mode quake in you spare time? http://webpages.mr.net/bobz/ttyquake/ -----Original Message----- From: Eric Wilhelm [mailto:ewilhelm@xxxxxxxxxxxxx]=20 Sent: Sunday, September 07, 2003 9:38 AM To: cad-linux@xxxxxxxxxxxxx Subject: [cad-linux] Design methodology for an open geometric data management standard At some level, this is really just about a CAD file format. Hopefully, in the=20 end, a simple 2D drafting program can utilize the standard as a simply=20 accessible data set. However, to be robust and expandable to handle all of=20 the complexity of a large engineering project, the standard needs to be much=20 more than a way of describing shapes. I'd encourage every software developer to read this page: http://www.catb.org/~esr/writings/taoup/html/ch01s06.html I think that most of us are already thinking with "the Unix Philosophy" about=20 this, but I think the parallel has to break when it comes to the format of=20 the input/output streams (and the storage of the data.) Most of the command-line programs for Unix/Linux are text-based/ text=20 processing programs (cat, sed, grep, awk, head, tail, etc.) They all work=20 together really well for processing text streams. =20 The question that I wish to answer is this: How do we extend this toolbox=20 approach to geometric and engineering data? While handling the data as simple entities accessible with very little format=20 overhead allows for easy creation of simple programs, I think an abstraction=20 layer is needed to create robustness. As an example, consider the arc forming the bottom edge of the front-left=20 corner of the far-right sink (model 23, manufacturer X) in the men's bathroom=20 on the west end of the third floor in building five of project number 342. This is (as far as reading and displaying the data is concerned) simply an arc=20 with a radius of 3.5" parallel to the world-xy plane at some x,y,z location. =20 Accessing this data in read-only mode should be exactly that simple. But=20 notice how I have described it. It is obviously an entity in a=20 highly-parametric model and should remain linked in this way so that the parametric program which created it is not broken or confused by=20 modifications to this data. Now, how do we abstract all of this to a level that allows multiple=20 highly-parametric programs to utilize and modify this data in a cooperative=20 way? And how do we make it simple enough to access the data so that simple=20 programs can use it to perform simple tasks without having to get over all of=20 the complexity associated with maintaining (or even just parsing through) the=20 parametric relationship? I'm just trying to spark discussion with all of this, so please don't dismiss=20 it as trying to make a simple thing complicated. My wish for this open=20 standard is to make simple things simple and hard things possible. =20 --Eric