www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/08/24/23:05:13

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20120113;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to
:content-type;
bh=XP3CK7NFVm+iPIMtFok8ctcVFpUJTU/BdyksnuD0UWc=;
b=d1hGxu82J+DzXBug5eexrTcAk+UkIqULPnFN4A6qCg4cvXXc12SQuqwetyfMmnbyUa
p7drFY8igYcVvwQb3wS5TZxXnREOHrG9VW/NrRnVnX2MX2UgqwIz79bQiuwwr0Rsvmkd
2pdyguWQRli2pr+4ksyYS3sDKS3ihlJ72Xi74X6Eyt5M4j25Nr5XbWswo/PY+7C++ccj
dP96RzPf7pO9W15X33p9m/6seYMAvczq+xM2BiFImxDqBjYVHWBedIx+2Ph679LlXP5Z
//AB0CeFj/CLDpsP1WCyC3X9/i8w5f3UiXPUhWKSCxjQ9n4a+QbnNIzJsfC/VP2XXj/5
NQdA==
MIME-Version: 1.0
X-Received: by 10.112.54.132 with SMTP id j4mr23363319lbp.84.1440471880984;
Mon, 24 Aug 2015 20:04:40 -0700 (PDT)
In-Reply-To: <20150824223846.0ba61ba7@jive.levalinux.org>
References: <20150824223846 DOT 0ba61ba7 AT jive DOT levalinux DOT org>
Date: Tue, 25 Aug 2015 03:04:40 +0000
Message-ID: <CAM2RGhTHd-ZLc5m7gWkPoGczUbkFEtikdwgin0=HJnV0AcGEmg@mail.gmail.com>
Subject: Re: [geda-user] pcb file format
From: "Evan Foss (evanfoss AT gmail DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
To: geda-user AT delorie DOT com
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Mon, Aug 24, 2015 at 8:38 PM, Lev (leventelist AT gmail DOT com) [via
geda-user AT delorie DOT com] <geda-user AT delorie DOT com> wrote:
> I started to write a script that generates an sqlite database from pcb
> footprint objects to be able to easily generate pick and place data, and
> other useful information.
>
> So I started to write the scheme of the database, then I found myself in
> defining a complete database structure for PCB data.
>
> Here I propose the file format of the next generation of PCB. The file is an
> sqlite database. This is not uncommon in EDA; Zucken's CR5000 product has its
> file format as a database.

People including me have long resisted databases but PCB is so broken
I will embrace anything that causes people to unify file handling.
Thank you very much for doing this.

> Take a look at tree.txt. You can define primitive object, that is oval,
> rectangle, etc, and you can define pcb, and component objects. There is
> one table that lets you attach (many to many relation) objects to each
> other. There are relations, that doesn't make any sense, i.e. attaching
> a pcb object to a primitive object.

I think (DJ is the authority here) our current file architecture does
not do ovals and etc because it was based exclusively on things that
are directly from the gerber specification. The one exception I is
polygons. We need higher level objects like this just keep what I said
in mind, it might make the PCB interface easier to map.

While you are doing this there are some things that would be nice to
add before you have users. It would be nice to have copper areas that
are exposed but not automatically given solder paste, we also have no
mechanism right now for keep always.

The current format also includes netlist. Really it should have 3. The
one you are feeding in. The one you are feeding back (for back
annotation) and the one you have now.

> However, you can attach pcb to a pcb. Footprint in this sense is a
> sub-pcb. There is a 'component' object, but this can be omitted, or
> just simply a placeholder for refdes, and other data.

Ok but everything should have it's own file type and version number.

> Coordinates are relative to parent object's 0 point.
>
> With this data format, one can define arbitrary footprints. No restrictions
> like "no silkscreen polygons".

To be fair to DJ and the other authors those are not arbitrary. Folks
just kind of coded themselves into a corner.

> Lot of things are missing, like texts. This is just a sketch.
>
> Okay. I'm not a database architect, and you can now start throwing eggs,
> potatoes, tomatoes. Please be gentle. I know, it is hard to diff (but you
> can make a nice difftool for this). I know that sqlite is yet another
> dependency, but makes it very easy to work with PCB data.

Can we keep your concepts and dump the idea of sql? I will really miss
having human readable PCB files.

> Attached is scheme.sql and the tree.txt.
>
>
> Lev
>
> --
> 73 de HA5OGL
> Op.: Levente



-- 
Home
http://evanfoss.googlepages.com/
Work
http://forge.abcd.harvard.edu/gf/project/epl_engineering/wiki/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019