On Sun 07-Sep-2003 at 07:47:37PM +0200, Janek Kozicki wrote: > > As a general reply to your post. I'd like to allow myself to post > what Bruno said about data management standard. I think it's > important and should be said here. Ok, though obviously these ideas changed in the course of doing an implementation. > Bruno said: > > > Here are my requirements for a properly open and RCS-able CAD > > file format: > > > 1. Text only, <cr><lf> delimited, human readable. The <cr><lf> delimitation part is unnecessary, this was an attempt at Windows compatibility; but in practice protocols like email, cvs and even zipping pretty much solve these line ending issues. > > o Packaging via zip. Actually packaging via zip is an acknowledgement that proper network means of transmission have failed. One of the annoyances I have with the way OpenOffice zips data is that it just makes it harder to script. They realised that a collection of files for each document is the right way to go, but chickened-out and stuffed everything into a zip file - hoping that nobody would notice. > > o One line per data item. > > > > The entire contents of a file might look something like this: > > > > Centre-X: 345.678 > > Centre-Y: 9876.543 > > Centre-Z: 0.0 > > Radius: 246.8 > > Transform: 1, 0, 0, 0, 1, 0, 0, 0, 1 > > Units: millimetres Maybe I'm just lazy, but I found it easier to parse by using ordering instead of specifically labelling dimensions: 0: 345.678 0: 9876.543 0: 0.0 Radius: 246.8 Transform: 1, 0, 0, 0, 1, 0, 0, 0, 1 Units: millimetres (This has the added advantage that it is extensible to hyperdimensional spaces with more than 3 dimensions :-) > > o Polymorphism via diff/patch files. Ignore this idea, I found a much more elegant way of implementing polymorpism that uses multiple inheritance and a fine-grained ignore-list method for overriding specific elements. > > o RCS-able data, revisions are managed by CVS or Subversion. I did some performance tests, and at the moment, Subversion really doesn't have the necessary speed. > > With Subversion, each drawing would have a public permanent URL > > accessible via the web. This would be cool though. With Subversion, every tagged release version can have a unique URL. > I just copied this from freearchitecture mailing list (which > unfortunately seems now quite dead). Hopefully it isn't dead forever, the main motivation for looking at basic file formats is to promote the same practices in architecture that we already use with open-source software. -- Bruno