Forum: PC-Programmierung GenCAD API Programmierschnittstelle


von Alex (Gast)


Lesenswert?

Guten Tag,

Ich möchte in einem Programm entworfene Daten für Leiterplatten in 
GenCAD exportieren.
Leider konnte ich für keine Sprache eine Programmierschnittstelle für 
GenCAD finden.

Meine Fragen:
- Kennt jemand von euch eine API für den GenCAD Export ?
- Hat jemand von euch bereits versucht solch eine API zu entwerfen `?
- Wie Umfangreich ist das GenCAD Format, schätzt ihr den 
Entwicklungsaufwand sehr hoch ein ?

Liebe Grüße,
Alex

von Host (Gast)


Lesenswert?

Alex schrieb:
> Ich möchte in einem Programm entworfene Daten für Leiterplatten in
> GenCAD exportieren.

Was für ein Programm ist das? Selbst geschrieben?

> Leider konnte ich für keine Sprache eine Programmierschnittstelle für
> GenCAD finden.

Was ist mit Sprache gemeint? Programmiersprache, also C oder so?

von Alex (Gast)


Lesenswert?

Danke für die schnelle Antwort.

Das Programm ist selbst geschrieben.
Mit Sprache meine ich Programmiersprache.
Die Programmiersprache ist egal.
Ich brauche eine Programmierschnittstelle, die PCB spezifische Daten 
(Komponenten, Leiterbahnen usw) in das GenCAD Format überführt.

Die Schnittstelle sollte am besten kostenlos sein.

Liebe Grüße,
Alex

von Host (Gast)


Lesenswert?

Alex schrieb:
> - Wie Umfangreich ist das GenCAD Format, schätzt ihr den
> Entwicklungsaufwand sehr hoch ein ?

Du musst nur nach einem HEADER alle Informationen für BOARD, PADS, 
PADSTACKS, SHAPES, DEVICES, COMPONENTS, MECH, SIGNALS, LAYERS, TRACKS 
und ROUTES blockweise hintereinander in eine ASCII-Datei schreiben, 
wobei die Blöcke die Form

$BOARD
LINE ...
LINE ...
$ENDBOARD

haben.

Für jemanden, der sich in der Leiterplattenterminologie auskennt und dem 
alle Daten zur Verfügung stehen, eine Kleinigkeit. Einfach nur die Daten 
sammeln, in das richtige Ausgabeformat bringen und als Zeile in eine 
Textdatei schreiben.

Wenn Du mit Google nach "gencad format" suchst, sollte der erste Treffer 
ein PDF mit dem Format liefern.

von Alex (Gast)


Lesenswert?

Ich habe bereits einen Blick in die Spezifikation geworfen.
Ich dachte nur, dass es vlt bereits eine kleine API dafür gibt.
Herzlichen Dank :)

Lg Alex

von Host (Gast)


Lesenswert?

Alex schrieb:
> Ich dachte nur, dass es vlt bereits eine kleine API dafür gibt.

Wer braucht sowas und wer soll's erstellen? Die grossen 
CAD-Softwarehersteller haben alle ihre eigenen Programme und bauen sich 
ihre Schnittstellen selber. Ist ja auch kein Problem, das Format liegt 
offen. Ich glaube, es ist ausserhalb der CAD-Systeme einfach kein Markt 
vorhanden für solche Software. Welcher Hobbyist braucht schon eine 
GenCAD-Schnittstelle?
Meines Wissens hat nichtmal Eagle ein ULP für GenCAD-Output.
Ich nutze seit ca. 15 Jahren Software, mit der man etwa 35 CAD-Formate 
lesen kann. Ich kann damit auch GenCAD-Output schreiben, aber das ist 
eine EXE-Datei, die vom Hauptprogramm aufgerufen wird, keine Chance da 
mal ein bischen tiefer einzusteigen. Aber mir reicht es, wenn ich mit 
diesem Programm GenCAD-Dateien erzeugen kann, was ab und zu mal 
vorkommt, wenn in einem anderen CAD-Bearbeitungsprogramm für das 
originale CAD-System keine Importmöglichkeit existiert.
GenCAD war ja mal als Standard geplant, hat sich aber nie so richtig 
durchgesetzt. Es geht wohl mehr in Richtung ODB++.
Wie ich weiter oben schon schrieb, ist es überhaupt kein Problem einen 
GenCAD-Output zu erzeugen. Wenn Du Dein nicht näher spezifiziertes 
Programm gut kennst, hast Du doch alle Informationen. Das Format ist 
doch wirklich einfach gestrickt, da gibt es wesentlich kompliziertere. 
Es läuft doch alles auf einfache Konvertierungen und Stringverarbeitung 
hinaus. Letztendlich sind es doch in "C" z.B. nur ein paar Schleifen mit 
hauptsächlich printf-Kommandos. Viel einfacher wird es durch den Einsatz 
von Scriptsprachen wie Perl oder Python, weil diese viel mehr 
Möglichkeiten zur Stringbearbeitung bieten.
Also fang einfach an, das ist doch eine Aufgabe, bei der man kaum etwas 
verkehrt machen kann.
Von meinem Wissensstand, CAD-Dateien betreffend, ausgehend, würde ich 
vielleicht einen Tag für das Grundgerüst ansetzen und vielleicht noch 
einen, bis das Programm stabil läuft. Da der Ablauf sich ständig 
wiederholt, ist das Programm doch durch einen Haufen 
Copy&Paste-Operationen zu erstellen. Voraussetzung ist natürlich, dass 
Dein Programm alle Informationen bereitstellt.
Das soll jetzt kein Angebot sein, Dir ein solches Programm zu erstellen. 
Ich wollte Dir nur klarmachen, dass es überhaupt kein Problem ist, solch 
ein Programm selbst zu schreiben.

Alternativ kann ich Dir natürlich auch eine Vollversion des von mir 
benutzten CAD-Bearbeitungsprogramms anbieten, aber das Geld solltest Du 
lieber für den Kauf Deinens nächsten Mittelklassewagens ausgeben.

Also pack's an und mach es selbst.

von fb (Gast)


Lesenswert?

"This is a utility for converting FreePCB *.fpc files to GenCad format, 
..."
http://www.freepcb.com/downloads/freepcb2cad_2.01.24.zip
Da drin sind auch die Sourcen.

von Host (Gast)


Lesenswert?

fb schrieb:
> "This is a utility for converting FreePCB *.fpc files to GenCad format,
> ..."
> http://www.freepcb.com/downloads/freepcb2cad_2.01.24.zip
> Da drin sind auch die Sourcen.

Hab ich mir auch schon mal angesehen, die Datei gencad_IO.pas scheint ja 
alles zu machen. Das ist aber kein universales API, sondern auf FreePCB 
bezogen. Wie einfach die Anpassung auf das Programm des TO wäre, möge er 
selbst entscheiden.

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.