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.
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.
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.
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.
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)
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.
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.
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.
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
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
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.
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.
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
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