Forum: Platinen Schematic / Layout mit offenem Format


von Sven (Gast)


Lesenswert?

Gibt es eigentlich Schaltplanprogramme mit Layoutfunktion, die zum 
Speichern ein offenes Dokumentformat benutzen? Wenn ich Eagle oder 
Protel verwende, bin ich ja immer auf diese Programme angewiesen, um 
meine Dateien lesen zu können.

SVG ist wohl auch keine Lösung, die Programme sollten schon Netzlisten 
verarbeiten können und die Möglichkeit, ein Board zu erstellen, 
enthalten. Also kein Malprogramm.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Sven wrote:

> Gibt es eigentlich Schaltplanprogramme mit Layoutfunktion, die zum
> Speichern ein offenes Dokumentformat benutzen?

Welches ,,offene'' Dokumentenformat schwebt dir denn so vor?  Könnte
ja bestenfalls ein XML-Derivat sein.

Bei BAE kann ich zumindest einen Dump eines Projekts machen, und der
hat eine lesbare Form:
1
SCM DUMP 'fddemul-62lv1600.ddb' {
2
        LENGTH UNITS      = 2 ; /* Millimeter [mm] */
3
        ANGLE UNITS       = 1 ; /* DEGREE */
4
        }
5
6
SHEET ( 'codec' ) {
7
        NX     =      18.0000 ;
8
        NY     =      18.0000 ;
9
        LX     =     -18.0000 ;
10
        UX     =     279.0000 ;
11
        LY     =     -18.0000 ;
12
        UY     =     192.0000 ;
13
        WIDTH  =     297.0000 ;
14
        HEIGHT =     210.0000 ;
15
        SYMBOL {
16
                MACRO    = "c" ;
17
                NAME     = "c1024" ;
18
                X        =     218.0000 ;
19
                Y        =      57.0000 ;
20
                ANGLE    =    90.000003 ;
21
                MIRROR   = 0 ;  /* MIRROR OFF */
22
                ATTRIBUTE "$ulname" = "s0603" ;
23
                ATTRIBUTE "$" = "c1024" ;
24
                ATTRIBUTE "$val" = "100n" ;
25
                ATTRIBUTE "$plname" = "s0603" ;
26
                }
27
...
28
        POLYGON {
29
                TYPE     = 5 ;  /* DOT LINE */
30
                POINTN   = 5 :
31
                POINT    = (      -4.0000 ,       4.0000 , 0 ) ;        /* STANDARD */
32
                POINT    = (      12.0000 ,       4.0000 , 0 ) ;        /* STANDARD */
33
                POINT    = (      12.0000 ,     -20.0000 , 0 ) ;        /* STANDARD */
34
                POINT    = (      -4.0000 ,     -20.0000 , 0 ) ;        /* STANDARD */
35
                POINT    = (      -4.0000 ,       4.0000 , 0 ) ;        /* STANDARD */
36
                }
37
        }

Ist natürlich alles andere als klein, aber man könnte das sicher
extern parsen und woanders weiter verwenden, man kann es aber auch
in den Editor komplett wieder einlesen.

von Norgan (Gast)


Lesenswert?

gEDA hat ein offenes Format. Allerdings verwendet nur gEDA das. Ne, 
halt, gEDA hat x offene Formate, da so ziemlich jedes Tool ein eigenes 
Süppchen kocht. Außer den jeweils beteiligten gEDA-Tools dürfte sich 
kaum ein Programm finden, dass mit den Formaten zurecht kommt, auch wenn 
sie offen sind.

von gast (Gast)


Lesenswert?

Offen? Naja, ASCII export ist manchmal drin. Aber wenn es um Austausch 
geht dürfte das Orcad-Format ganz gut sein. Dürfte leider deinen 
Ansprüchen nicht genügen.

von Gast (Gast)


Lesenswert?

Solche Formate haben aber den großen Vorteil, dass sie mit einem 
Diffviewer analysiert werden können - wenn mal irgendwo sich was 
eingeschlichen hat.

von Stefan Salewski (Gast)


Lesenswert?

Norgan schrieb:

>außer den jeweils beteiligten gEDA-Tools dürfte sich
>kaum ein Programm finden, dass mit den Formaten zurecht kommt,

Ich glaube von Dir habe ich schon Klügeres gelesen, aber ich mag mich 
täuschen oder es war ein anderer "Norgan".

gEDA besteht aus unterschiedlichen Programmen, die aber alle 
dokumentierte, offene Formate verwenden, meist ASCII-Text. U.a. ist 
Extended Gerber und PostScript Export vorhanden. Gnetlist exportiert in 
eine Vielzahl von Formaten:

man gnetlist

gnetlist is very much so a work in progress.  Currently it supports the
following backends:
· Allegro netlist format (-g allegro)
· BOM / BOM2 - Bill of Materials (-g bom and -g bom2)
· Partslist 1,2,3 - More Bill of Materials (-g partslist[1-3])
· DRC - Start of a design rule checker (-g drc)
· DRC2 - A second design rule checker (-g drc2)
· gEDA - native format, mainly used for testing (-g geda)
· Gossip netlist format (-g gossip)
· PADS netlist format (-g pads)
· PCB / PCBboard (-g PCB and -g PCBboard)
· PCB actions file for forward annotating pin/pad names from  schematic
  to layout (-g pcbpins)
· gsch2pcb backend (-g gsch2pcb)
· ProtelII netlist format (-g protelII)
· Spice compatible netlist format (-g spice)
· Enhanced spice compatible netlist format (-g spice-sdb)
· Tango netlist format (-g tango)
· Verilog code (-g verilog)
· VHDL code (-g vhdl)
· VIPEC netlist format (-g vipec)
· Bartels Autoengineer netlist format (-g bae)
· GOSSIP system simulation system netlist format (-g gossip)
· MAXASCII netlist format (-g maxascii)
· VHDL-AMS netlist format (-g vams)
· Futurenet2 netlist format (-g futurenet2 )
· SWITCAP switched capacitor simulator netlist format (-g switcap )
· RF Cascade netlist format (-g cascade )
· RACAL-REDAC netlist format (-g redac )
· SystemC netlist backend (-g systemc)
· Calay format netlist backend (-g calay)
· Osmond format netlist backend (-g osmond)
· Eagle netlist format (-g eagle)
· Netlister  for symbolic circuit analysis using Mathematica (-g mathe‐
  matica)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Stefan Salewski wrote:

>>außer den jeweils beteiligten gEDA-Tools dürfte sich
>>kaum ein Programm finden, dass mit den Formaten zurecht kommt,

> gEDA besteht aus unterschiedlichen Programmen, die aber alle
> dokumentierte, offene Formate verwenden, meist ASCII-Text.

Beide Aussagen widersprechen sich nicht.  Die Speicherformate von
gschem oder PCB sind halt bezogen auf die jeweiligen Tools und
werden von sonst niemandem verstanden (*).  Ex- und Import sind ein
anderes paar Schuhe, dabei geht in aller Regel irgendwas an
Information verloren.  Von einer importierten Netzliste allein hast
du eben weder ein Schaltbild noch ein Layout, sondern nur die
reinen Verbindungsdaten.

(*) ...was sie natürlich weder besser noch schlechter denn alle
anderen EDA-Tools macht, denn die verstehen normalerweise auch nur
jeder ihren Kram.

von Stefan Salewski (Gast)


Lesenswert?

Jörg Wunsch schrieb:
>Die Speicherformate von gschem oder PCB sind halt bezogen auf die jeweiligen 
>Tools und werden von sonst niemandem verstanden.

Das ist schon richtig.
Aber immerhin sind die Formate offen gelegt, was bei den meisten 
kommerziellen Programmen nicht der Fall ist. Auf der gEDA-Mailingliste 
(user) gab es vor einigen Monaten eine Diskussion zum Thema, ich 
erinnere mich aber nicht an Einzelheiten. Jemand hatte berichtet, dass 
es wohl in der Industrie Bestrebungen gäbe, ein einheitliches, offenes 
EDA Format einzuführen. Solange das neue Format aber nicht von den 
großen Firmen unterstützt wird macht es für gEDA auch wenig Sinn. Eine 
andere Diskussion in Zusammenhang mit Auto-Routern gab es um das 
Specctra-Format. Dieses ist wohl nicht wirklich geheim, aber es ist 
fraglich, ob es wirklich offen dokumentiert ist und frei genutzt werden 
darf. Soweit ich es mitbekommen habe wird von den gEDA-Entwicklern ein 
offenes Format, das Dateiaustausch mit anderen (kommerziellen) 
Programmen erlaubt, prinzipiell unterstützt. Von den kommerziellen 
Herstellern wohl weniger.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Stefan Salewski wrote:

> Soweit ich es mitbekommen habe wird von den gEDA-Entwicklern ein
> offenes Format, das Dateiaustausch mit anderen (kommerziellen)
> Programmen erlaubt, prinzipiell unterstützt. Von den kommerziellen
> Herstellern wohl weniger.

Siehe oben, BAE beherrscht zumindest einen ASCII-Dump, den es auch
komplett wieder einlesen kann, d. h. es existiert keine weitere
Information außerhalb.  Ich habe jetzt aber nur BAE Schematics
getestet, ob das Layout-Programm das genauso gut kann, weiß ich
nicht.

von Testman (Gast)


Lesenswert?

Hallo

> Gibt es eigentlich Schaltplanprogramme mit Layoutfunktion, die zum
> Speichern ein offenes Dokumentformat benutzen?

Wenn Du Schaltplanprogramme aus der Open Source Schublade nimmst (mir 
sind nur KiCAD und gEDA bekannt), so haben diese natürlich zwangsweise 
ein offenes Dokumentformat in dem Sinne, das es offen bekannt ist und 
verwendet werden darf. Das von KiCAD ist, mit gewissen Abstrichen, 
durchaus auch "lesbar".

Das heist aber nicht zwangsweise, daß es sofort andere Programme gibt, 
die diese Dokumentenformate auch verstehen (wollen).

Auf der anderen Seite haben Formate zum Austausch der Netzliste (z.B. 
Spice Netzliste) eine gewisse Verbreitung, die fast alle Programme (u.a. 
die Open Source Projekte) exportieren und importieren können. Allerdings 
ist eine Netzliste eine reine Netzliste, d.h. OHNE Platinendaten.

Für die Platinendaten hat sich Gerber (wobei es unterschiedliche 
Gerberdialekte gibt) etabliert. ALLE mir bekannten Programme können 
Gerberdaten exportieren. Das open source KiCAD kann, mit 
Einschränkungen, Gerber auch importieren. Sonst ist die 
Importmöglichkeit für Gerber ein eher seltenes Feature. Es gibt aber 
Spezialsoftware, z.B. von GraphiCode ( http://www.graphicode.com/ ), die 
in der Lage ist, solche Formate zu konvertieren. Darüber könnte eine 
Kompatibilität hergestellt werden.

> Wenn ich Eagle oder
> Protel verwende, bin ich ja immer auf diese Programme angewiesen, um
> meine Dateien lesen zu können.

Klar. damit verdienen die ihr Geld.

> SVG ist wohl auch keine Lösung, die Programme sollten schon Netzlisten
> verarbeiten können und die Möglichkeit, ein Board zu erstellen,
> enthalten. Also kein Malprogramm.

Letztlich ist auch Gerber ein "Malformat", weil es einem Fotoplotter 
sagt, wie er malen soll......Ein Platinenlayoutformat ist in den mir 
bekannten Fällen eine Kombination aus der Netzliste eines Schaltplans 
mit einer Datei eines speziellen Malprogrammes. Die Verbindung zwischen 
beiden erfolgt im allgemeinen durch gleiche "Netz-" oder "Knotennamen". 
Der Praktikabilität halber verteilt man die Info auf zwei Dateien. Mann 
könnte sich auch ein Format ausdenken, wo beides vereint ist....aber so 
richtig nötig und sinnvoll ist das nicht.


Die Spicedateien enthalten natürlich auch nur die "nackten" Daten eines 
Netztes, so wie Spice und vergleichbare Simulatoren sie als Input 
brauchen.
Die zusätzliche Info, die jeder Schaltplan enthält, wird beim Export in 
eine Netzliste abgestreift. Naturgemäß sind diese Daten nicht abrufbar, 
wenn jemand anderes diese Netzliste wider einliest.

Schaltplan und Platinenlayoutprogramme haben ANDERE Funktionalitäten als 
reine künstlerische Malprogramme. Darum kann man troz der Ähnlichkeit 
nicht  Platinenlayoutprogramme mit Malprogrammen vergleichen. Eier und 
Äpfel sind auch unterschiedliche Dinge, obwohl beide rund und 
empfindlich sind. :-)

Trozdem denke ich, das man auf dieser Basis vermutlich sogar aus SVG 
etwas brauchbares für Schaltpläne und Layouts stricken könnte.
Ein Schaltplan- und ein Boardlayoutplugin für Inkscape oder Gimp wäre 
doch mal was feines. ;-)


73

von Reinhard Kern (Gast)


Lesenswert?

Testman schrieb:
> .... Das open source KiCAD kann, mit
> Einschränkungen, Gerber auch importieren. Sonst ist die
> Importmöglichkeit für Gerber ein eher seltenes Feature. ...

Und ein gänzlich sinnloses. Gerber ist wie Postscript ein grafisches 
Ausgabeformat zum Steuern von Plottern, die Daten des Layouts gehen 
dabei zu 90% verloren. Eine Gerberdatensatz enthält noch nicht einmal 
eine Netzliste.

Gruss Reinhard

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Hallo,

abgesehen von den unterschiedliche Dateiformaten der verschiedenen 
freien und kommerziellen System besteht das wesentlich größeres 
Kompatibilitätsproblem darin, dass die Programmphilosophien 
grundverschieden sind, insbesondere in Hinblick auf die Schaltplan- und 
Bauteilebibliotheken. Bei dem einen Programm sind diese integriert, bei 
dem nächsten in getrennten Bibliotheken, aber fest miteinander 
assoziiert, bei einem anderen über Suchpfade und Suchbegriffe verbunden 
und beim letzten in relationalen Datenbanken abgelegt.

Bei einem Programm können Änderungen am Footprint nur in der Bibliothek 
durchgeführt werden und beim anderen auch direkt im Layout für ein 
einzelnes Bauteil.

Das eine Programm arbeitet regelbasiert, das andere hat feste Parameter 
für Maskenaufweitung, usw..

Dies alles wird man niemals unter einen Hut bekommen, ohne dass die 
davon
betroffenen Programme ihre Konzepte ändern müssten.

Mittlerweile gibt es ja Anbieter von unabhängigen Bauteilebibliotheken,
die für ihre Bibliotheken Generatoren für die spezifischen Datenformate
der unterschied- lichen EDA-System anbieten bzw. verwenden.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Reinhard Kern schrieb:
> Eine Gerberdatensatz enthält noch nicht einmal
> eine Netzliste.

Leiterplattenhersteller generieren sich für den Leiterplattentest aber
wiederum eigene Netzlisten aus den Gerberdaten. Diese enthalten
jedoch wieder deutlich weniger Informationen als die direkt aus dem
Schaltplan oder Layout generierten, da keine Unterscheidung zwischen
einer Leiterbahn und einer Print-Induktivität oder -Kapazität möglich
ist. Für den LP-Test ist dies ja auch nicht weiter relevant.

von Testman (Gast)


Lesenswert?

Hallo Reinhard.

>> .... Das open source KiCAD kann, mit
>> Einschränkungen, Gerber auch importieren. Sonst ist die
>> Importmöglichkeit für Gerber ein eher seltenes Feature. ...
> Und ein gänzlich sinnloses. Gerber ist wie Postscript ein grafisches
> Ausgabeformat zum Steuern von Plottern, die Daten des Layouts gehen
> dabei zu 90% verloren. Eine Gerberdatensatz enthält noch nicht einmal
> eine Netzliste.

Sooo sinnlos ist das garnichtmal. Es lässt immerhin zu, das ich mal hin 
und wieder ein paar Bauteile und Befestigungslöcher verschieben kann, um 
mich an andere Geräte anzupassen. Oder einen Transistor mit TO220 
Gehäuse gegen einen mit TO247 austausche. Oder ein LM317 mit TO92 gegen 
SOT223. Und das lediglich mit den Gerberdaten. Die Original Boarddatei 
und die Programme brauche ich dazu nicht.

Dieses Vorgehen ist eine Krücke. Aber wer hinken muss, weiss eine Krücke 
zu schätzen. :-)

73

von Reinhard Kern (Gast)


Lesenswert?

Andreas Schweigstill schrieb:
> Leiterplattenhersteller generieren sich für den Leiterplattentest aber
> wiederum eigene Netzlisten aus den Gerberdaten...

Es bleibt ihnen ja nichts anderes übrig, aber diese Netzliste enthält 
dann auch alle Fehler des Layouters: wenn der einen Kurzschluss 
fabriziert hat, enthält ihn die erzeugte Netzliste als korrekte 
Verbindung. Die Daten werden also nicht gegen die ursprüngliche 
Netzliste geprüft, sondern gegen sich selbst. Trotzdem braucht man diese 
Liste, z.B. um sich z.B. Leiterbahnen auf dem Bildschirm anzeigen zu 
lassen, wenn der elektrische Test Fehler anzeigt.

Gruss Reinhard

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.