kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #02477
Re: kicad save file format
-
To:
kicad-devel@xxxxxxxxxxxxxxx
-
From:
al davis <ad10@...>
-
Date:
Wed, 6 May 2009 00:51:44 -0400
-
In-reply-to:
<4A005447.1080407@...>
-
User-agent:
KMail/1.11.2 (Linux/2.6.26-1-amd64; KDE/4.2.2; x86_64; ; )
On Tuesday 05 May 2009, Damien RANNOU wrote:
> I have a question about file save format : wouldn't it be
> interesting to use XML file format instead of actual kicad
> file format ? Xml parser are integrated in wxWidget (for
> example
>
> :http://wiki.wxwidgets.org/Object_serialization_using_XTI_and
> :_XML).
>
> Using XML file format would be interesting for
> interoperability, cleaner save code in object (because
> wxwidget make a lot) and cleaner backup code (why do not use
> the same structure between classical objects and Text (and
> other things) ?)
not really ..
XML is just a syntax. The syntax doesn't really matter. You
could just as well choose C-like, Ada-like, Lisp-like, or
whatever.
What matters is how the data is represented and organized.
Regarding interoperability, you want a format that is defined by
some kind of standard, and is in common use. If you can't find
one that is an exact match, look at the neighbors, and what you
might want to interoperate with.
Kicad is very limited because of the lack of import and export
facilities. There is a serious need for a general translator
system.
I suggest something based on extending a netlist format, such as
the structural subset of Verilog. It might be easier to think
of the Spice format for this, but it is too restrictive and
irregular.
I make a write-up to get started for gEDA, here:
http://geda.seul.org/wiki/geda:format_translation
It should be easy to extend it to represent layout too.
Ideally, this system would support gEDA and Kicad equally, and
provide a path between them, both ways. It could also provide
import and export capability, and links to simulators and other
tools.
You could use this format directly, but to get started, the best
way is to use it as a neutral intermediate format so there is no
pressure to change the tool formats.
I have a start for this with Gnucap language plugins. The work
needed is to make a driver program for a stand-alone translator,
and language plugins for the schematic and layout programs.
My plate is too full to do it, but I can guide someone else. Is
anyone here interested in making the translator?
Follow ups
References