Forum: Projekte & Code Horizon EDA [War: Neues, halbfertiges Elektronik-CAD-Programm]


von Michael H. (overthere)


Lesenswert?

Unter Ubuntu scheint es ein paar mal ein paar Funktionen nicht zu 
kennen. Hab mal Issue #25 erstellt. Höre jetzt auf mit dem Versuch es zu 
compilieren.

von Lukas K. (carrotindustries)


Lesenswert?

Michael H. schrieb:
> Unter Ubuntu scheint es ein paar mal ein paar Funktionen nicht zu
> kennen. Hab mal Issue #25 erstellt. Höre jetzt auf mit dem Versuch es zu
> compilieren.

Wie schon auf github geschrieben: Da ist dein ubuntu wohl zu alt. Warte 
entweder auf das neue LTS oder upgrade auf 17.04.

von Michael H. (overthere)


Lesenswert?

Ich habe das Programm am Laufen. Danke an Lukas für den Support.

Ich freue mich, zu sehen, wie dieses Projekt weiterentwickelt wird... 
Vielen Dank an Lukas für die Arbeit schomal. Mach weiter so!

von Lukas K. (carrotindustries)


Lesenswert?

Gute Neuigkeiten für alle, die den Pool als zip runtergeladen haben und 
keine sinnvolle Möglichkeit hatten, den Pool aktuell zu halten: Seit 
soeben kann der Pool-Manager das: Auf der Startseite mit "Download..." 
den Pool herunterladen, dann gibt's den neuen Tab "Remote" mit dem Knopf 
"Upgrade Pool", mit dem seinen lokalen Pool unter Beibehaltung eigener 
neuer Parts und Änderungen auf den aktuellen Stand bringen kann.

Bald kann der Pool Manager dann auch mithilfe der Github-API für einen 
Pull Requests aufmachen, damit man auch ohne weitere Git-Kenntnisse neue 
Bauteile in den Pool einpflegen kann.

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Hallo Lukas,
ich habe Probleme beim build für Windows.

$ ./make_bindist.sh

Obiges läuft normal durch.

Wenn ich dann in Windows auf horizon-pool-mgr.exe klicke erhalte ich 
eine Fehlermeldung wegen fehlender libcurl-4.dll.

Gruß
Helmut

: Bearbeitet durch User
von Lukas K. (carrotindustries)


Lesenswert?

Helmut S. schrieb:
> eine Fehlermeldung wegen fehlender libcurl-4.dll.

Ist repariert. Ein wenig unschön ist allerdings, dass ich auf Windows 
für curl und libgit selber die root-Zertifikate für TLS ausliefern 
muss...

von chris (Gast)


Lesenswert?

Hier gibt es ein Tool zum exportieren von Eagle-Designs:
https://hackaday.com/2017/12/21/exporting-eagle-libraries-to-foss-tools/
Vielleicht nützt das auch was für dieses Projekt.

von eagle user (Gast)


Lesenswert?

chris schrieb:
> Hier gibt es ein Tool zum exportieren von Eagle-Designs:

Das Tool müsste ja in den horizon pool einspeisen, ist das überhaupt 
machbar? Nicht nur wegen der unterschiedlichen Datenstrukturen, sondern 
auch, weil im horizon Wiki steht:

> Although you can create your own pool, you are strongly encouraged to
> use the pool over at https://github.com/carrotIndustries/horizon-pool/.
> To add new parts to it, simply submit a merge request.

Wie ist denn das zu verstehen? Ob man wirklich meine Spezialteile im 
Pool haben will, sei mal dahin gestellt. Aber heißt das, wenn ich ein 
neues Bauteile brauche, muss ich warten, bis das im Pool eingepflegt 
ist? Wie ist das gedacht?

Und wo wir gerade dabei sind, das README schreibt:
> Features for developers
> (...)
> Everything is referenced by UUIDs

Die UUIDs müssten doch zentral erzeugt werden? Und trotzdem wären sie 
u.U. nicht eindeutig; wie werden Kollisionen behandelt?

von Lukas K. (carrotindustries)


Lesenswert?

eagle user schrieb:
> Die UUIDs müssten doch zentral erzeugt werden? Und trotzdem wären sie
> u.U. nicht eindeutig; wie werden Kollisionen behandelt?

Der Sinn von UUIDs ist, dass man eben ohne zentrale Instanz eindeutige 
IDs erzeugen kann. Da es ca. 3.4×10³⁸ verschiedene UUIDs gibt, klappt 
das auch gut genug. Die Wahrscheinlichkeit, dass Dinge aufgrund eines 
Bugs in meinem Code kaputt gehen, ist deutlich größer, als die, dass man 
über eine doppelte UUID stolpert.

eagle user schrieb:
> Aber heißt das, wenn ich ein
> neues Bauteile brauche, muss ich warten, bis das im Pool eingepflegt
> ist? Wie ist das gedacht?

Nein, selber einpflegen. Derzeit heißt das Forken, Branch machen, 
Bauteil anlegen, Commiten, merge request aufmachen und hoffen dass der 
akzeptiert wird. Dann haben alle was davon. Gerade bin ich dabei, 
GitHub-Integration einzubauen, damit diese Schritte in vereinfachter 
Form direkt im Pool Manager ohne weitere git-Kenntnisse erledigt werden 
können.

eagle user schrieb:
> Das Tool müsste ja in den horizon pool einspeisen, ist das überhaupt
> machbar? Nicht nur wegen der unterschiedlichen Datenstrukturen,

Bei Packages sehe ich einen Importer noch am einfachsten umsetzbar. Bei 
Symbolen muss sich der Importer eben Units und Entities dazu ausdenken. 
Alles in allem kein Hexenwerk, Freiweillige vor :)

Uwe B. schrieb:
> Lukas,
>
> wirst Du auf der FOSDEM im EDA Devroom vortragen?

Ja: https://fosdem.org/2018/schedule/event/cad_horizon/

Auf dem 34C3 bin ich auch anzutreffen, einfach PN schreiben.

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


Lesenswert?

Lukas K. schrieb:
> Auf dem 34C3 bin ich auch anzutreffen

Hälst du einen Vortrag?

Das Programm ist so riesig, dass ich zumindest auf Anhieb nichts
sehen konnte.  Wenn du einen Vortrag hälst und es zeitlich passt,
würde ich mir den Livestream reinziehen.

von Lukas K. (carrotindustries)


Lesenswert?

Jörg W. schrieb:
> Hälst du einen Vortrag?

Ne, dafür ist das Projekt m.E. noch nicht weit genug. Nächstes Jahr dann 
vielleicht.

von Michael H. (overthere)


Lesenswert?

Meine perschönliche Sichtweise auf das CAD-Programm ist, dass es auf dem 
richtigen Weg ist und das was werden könnte. Jedoch denke ich, dass noch 
einiges an Usability-Improvements von Nöten ist - wie Du selbst sagst 
ist das Programm in den Kinderschuhen. So hat KiCad auch mal angefangen.
Was mich an KiCAD stört, ist das die keine Clearance-Matrix haben und 
das auch nicht implementieren wollen. Desshlab möchte ich mal dein 
Program ausprobieren.
Ich habe heute ca. 2h gebraucht, um mir grob mal einen Überblick zu 
verschaffen. Ich erstelle Dir für alles was mir auffällt ein Issue. Das 
kann etwas bombadierend wirken - ist aber so nicht gemeint.
Mit dem Fosdem würde mich auch der Vortrag interessieren - den würde ich 
mir auch gerne dann als Video reinziehen.
Mein Plan ist es eine Testplatine damit zu machen, und mal 5 Euro in 
eine ChinaPCB zu investieren und den Prozess dann in einem separten 
Threat zu dokumentieren. Mal sehen, ob ich das hinbekomme.

EDIT:
Eine Problematik, die ich bei den Pools sehe, was ich aber auch falsch 
sehen könnte, ist falls jemand mist commited, andere darunter leiden. 
Desshalb hatte ich separate Pools vorgeschlagen.
Jedoch sollte falls man nur einen Pool haben sollte, einen Button haben, 
der den Pool automatisch updated. Also, dass man nicht erst 
"umständlich" git clone, etc. machen muss. Praktiker würde das 
abschrecken...

: Bearbeitet durch User
von Lukas K. (carrotindustries)


Lesenswert?

Michael H. schrieb:
> Jedoch sollte falls man nur einen Pool haben sollte, einen Button haben,
> der den Pool automatisch updated.

Genau das gibt es doch seit kurzem: Wenn du den Pool mit "Download..." 
heruntergeladen hast, gibt es im Tab "Remote" den Knopf "Upgrade" um den 
lokalen Pool auf den Stand von dem auf Github zu bringen.

Michael H. schrieb:
> ist falls jemand mist commited, andere darunter leiden.

Darum schau ich's mir (und in Zukunft hoffentlich noch andere) an. Das 
entbindet einen als Anwender dennoch nicht davon, das Part selber zu 
verifizieren.

EDIT: Wenn du Bugfixes schnell haben willst, ist es empfehlenswert 
selber zu bauen: 
https://github.com/carrotIndustries/horizon/wiki/Building-horizon-on-Windows

: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Lukas K. schrieb:
> Darum schau ich's mir (und in Zukunft hoffentlich noch andere) an.

Wird aber irgendwann ein Fulltime-Job werden.  Man sollte vorher eine
Strategie haben, wie jeder dann auf seinem privaten Fork des
„offiziellen“ Pools arbeiten kann, von diesem ggf. Updates importiert,
aber ansonsten seine eigenen Bauteile privat hält.

Ein EDA-Programm, welches alle Bauteile in der Bibliothek hat, wird
es ohnehin nicht geben können.  Dazu sind erstens die Hersteller zu
einfallsreich :) und zweitens die Anforderungen der Anwender zu
verschieden.

ps: Viel Spaß auf dem 34C3!

: Bearbeitet durch Moderator
von eagle user (Gast)


Lesenswert?

Michael H. schrieb:
> Eine Problematik, die ich bei den Pools sehe, was ich aber auch falsch
> sehen könnte, ist falls jemand mist commited, andere darunter leiden.

Ich fürchte, das siehst du richtig. Deswegen sollte man das...

chris schrieb:
> Hier gibt es ein Tool zum exportieren von Eagle-Designs:

...wahrscheinlich vermeiden. Die bei Eagle mitgelieferten Bauteile haben 
mich schon nicht überzeugt, aber was ich bisher aus anderen Quellen 
gefunden habe war den Download nicht wert. Cadsoft hatte ja ein paar 
(wenige) Regeln festgelegt, aber nicht einmal die werden eingehalten.

Die Idee, im Pool nur die originale Herstellernummer zu verwenden, finde 
ich ausgezeichnet (ich hoffe, ich hab' das richtig verstanden). Das ist 
schon mal sehr viel besser als die Praxis bei Eagle.

von Michael H. (overthere)


Lesenswert?

Bauteile genau anzulegen, und zu pflegen ist ein heiden Aufwand. 
Desshalb gibt es ja SnapEDA, Librarian und wie die alle heißen.
Eventuell könnte man sich mit denen zusammentun?

Für den Anfang kann ich gerne helfen, über die Bauteile drüber zu 
schauen, die reinkommen. Falls Hilfe gewünscht ist.

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo Eagle user und Michael
.

eagle user schrieb:

>> Hier gibt es ein Tool zum exportieren von Eagle-Designs:
>
> ...wahrscheinlich vermeiden. Die bei Eagle mitgelieferten Bauteile haben
> mich schon nicht überzeugt, aber was ich bisher aus anderen Quellen
> gefunden habe war den Download nicht wert.

Das wird wohl so für jede x-beliebige Quelle gelten, weil halt auch 
jeder andere Vorstellungen von einer guten Bibliothek hat.

Darum wird niemand, der sich ernsthaft mit Schaltplänen und 
Platinenlayout beschäftigt, darumherum kommen, sich seine eigene 
Bibliothek zusammenzustellen, die er irgendwann halt auch gut kennt, und 
von deren Bestandteilen er weiss, dass sie auch im Zusammenhang mit 
seinen anderen "Systemen" gut funktioniert.

Offizielle Bibliotheken sind eigentlich nur ein erster Vorschlag, den 
man oft so aktzeptieren kann, aber auch genauso oft anpassen muss, und 
der auch immer auf Fehler überprüft werden muss.

Darum kann ein breiter Zugriff auch auf fremde Bibliotheken sehr 
sinnvoll sein.

Snapeda bietet eine breite Palette von Programmen, in deren Format 
exportiert werden kann, aber nur Eagle und KiCad haben davon offene bzw. 
sogar freie Formate.
 Snapeda: https://www.snapeda.com/

Viele Distributoren bieten den Download von Bibliotheken zu denen von 
ihnen vertriebenen Bauteilen an wie zum Beispiel Farnell oder Digikey. 
Das sind dann auch meistens Eagle oder KiCad Bibliotheken.

Digikey: 
https://www.digikey.de/de/news/press-releases/2017/aug/digi-key-adds-kicad-pcb-model-download

Es ist also eher angeraten, eine Import und Exportfunktion für 
gängige
Bibliotheksformate zu schreiben.
Gängig und offen oder sogar frei sind aber nur drei: Eagle, KiCad und 
gEDA.


Michael H. schrieb:
> Bauteile genau anzulegen, und zu pflegen ist ein heiden Aufwand.
> Desshalb gibt es ja SnapEDA, Librarian und wie die alle heißen.

Das haut in die gleiche Kerbe.

> Eventuell könnte man sich mit denen zusammentun?

Warum soll man in den Format Zoo ein weiteres Format einbringen, solange 
es offene und freie gibt?
Lieber auf ein freies vorhandenes gehen, was auch schon unterstützt 
wird. Ein neues Format müsste schon eine erhebliche Verbreitung 
bekommen, bevor es bei diesen Anbietern aufgenommen würde.

KiCad wäre ein guter Kandidat als Austauschformat , weil dort Symbol, 
Footprint und 3D-Modell zusammengefasst werden können ,
 aber nicht zusammengefasst werden müssen . Es ist also in dieser 
Hinsicht sehr flexibel.

eagle user schrieb:

> Cadsoft hatte ja ein paar
> (wenige) Regeln festgelegt, aber nicht einmal die werden eingehalten.

Es ist erstens auch immer die Frage, was an Regel sinnvoll ist, und 
zweitens selbst wenn irgendwann einmal alle Bibliotheken konform mit den 
Regeln sind, und die Regeln werden überarbeitet, ist es ein großer 
Arbeitsaufwand bzw. Zeitaufwand, die vorhandenen Bibliotheken 
anzupassen.
Die Bibliotheken hinken den Regeln also immer hinterher.

Das habe ich bei Eagle so bemerkt, und bei KiCad eben auch. Bei KiCad 
existiert für das Bibliotheksprojekt (was vom eigentlichen KiCad Projekt 
sogar getrennt ist) ein Regelwerk: 
https://github.com/KiCad/kicad-library/wiki/Kicad-Library-Convention

Wer zu der Bibliothek beitragen will, kann das nur, wenn irgend jemand 
anderes die Bibliothek auf Konsens mit dem aktuellen Regelwerk überprüft 
hat.

> Die Idee, im Pool nur die originale Herstellernummer zu verwenden, finde
> ich ausgezeichnet (ich hoffe, ich hab' das richtig verstanden). Das ist
> schon mal sehr viel besser als die Praxis bei Eagle.

Das ist ein guter Ansatz. Aber natürlich sind auch alternative Symbole 
und Footprints für das gleiche Bauteil sinnvoll.

Im Schaltplan möchtest Du einmal z.B. eine monolitische Darstellung für 
z.B. ein Relais, wo Spule und Kontaktsätze zusammengefasst sind, aber 
auch eins in aufgelöster Darstellung wo Spule und Kontaktsätze getrennt 
sind, um sie bei größeren Schaltplänen verteilen zu können.
Je nach den Umständen ist das eine oder andere Sinnvoll.

Bei Footprints gibt es bei THT Bauteilen oft die Möglichkeit, sie 
liegend oder stehend zu montieren, oder allgemein kleine Pads wo Dichte 
oder Isolationsabstand wichtig sind, oder aber große Pads, wo Platz ist, 
aus Robustheitsgründen.

Viele Bauteile existieren mit einem mehr oder weniger Festgelegten 
Gehäuse. Für diese sind generische Footprints gut, die man bei Bedarf 
auch ändern kann.

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de

: Bearbeitet durch User
von Lukas K. (carrotindustries)


Lesenswert?

Bernd W. schrieb:
> Das ist ein guter Ansatz. Aber natürlich sind auch alternative Symbole
> und Footprints für das gleiche Bauteil sinnvoll.

Das funktioniert bereits.

Die GitHub-Integration zum Erstellen von Pull Requests gibt's nun auch: 
https://github.com/carrotIndustries/horizon/wiki/Working-with-the-Pool-Manager-and-Part-Wizard#using-the-github-integration

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Hallo Lukas,
das kompilieren in mysys2 bringt eine "Fehler"-Meldung - scheint aber 
trotzdem richtig kompiliert zu haben. Idee?
Helmut

von Michael W. (Gast)


Lesenswert?

Bernd W. schrieb:
> KiCad wäre ein guter Kandidat als Austauschformat , weil dort Symbol,
> Footprint und 3D-Modell zusammengefasst werden können ,
>  aber nicht zusammengefasst werden müssen . Es ist also in dieser
> Hinsicht sehr flexibel.

FÜhrt aber nicht gerade zur Standardisierung eines Übergabeformats, weil 
dann wieder jeder macht, was er möchte.

Andererseits: Wer baucht bei der Übergabe von Produktionsdaten Symbole? 
Genau das möchte Ich z.B. nicht. Der Produzent soll die Platine machen 
und mehr nicht, weil Prototyp.

Bei einer Serie ist es was anderes.

von Lukas K. (carrotindustries)


Lesenswert?

Helmut S. schrieb:
> Hallo Lukas,
> das kompilieren in mysys2 bringt eine "Fehler"-Meldung - scheint aber
> trotzdem richtig kompiliert zu haben. Idee?
> Helmut

Richtig gebaut haben kann es damit nicht, ist repariert.

von chris (Gast)


Lesenswert?

Bernd Wiebus (berndwiebus) Benutzerseite
>Das wird wohl so für jede x-beliebige Quelle gelten, weil halt auch
>jeder andere Vorstellungen von einer guten Bibliothek hat.

>Darum wird niemand, der sich ernsthaft mit Schaltplänen und
>Platinenlayout beschäftigt, darumherum kommen, sich seine eigene
>Bibliothek zusammenzustellen, die er irgendwann halt auch gut kennt, und
>von deren Bestandteilen er weiss, dass sie auch im Zusammenhang mit
>seinen anderen "Systemen" gut funktioniert.

Das genau bringt mich jedes Mal auf die Palme, wenn ich darüber 
nachdenke.
Ich habe schon in Firmen gearbeitet, bei denen ein Mann mit nichts 
anderem beschäftigt ist, als Bauteile anzulegen. Wenn man dann ein Neues 
braucht, muss man jedes Mal warten, bis der Zeit hat.
Jeder Hersteller eines Bauteils wird sein Bauteil wohl mit einem 
CAD-System konstruiert haben. Gäbe es eine einheitliches Format wie z.B. 
DIN, wäre die ganze Blindleistung dass jede Firma wieder ihr eigenes 
Bauteil anlegen muss, unnötig.

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


Lesenswert?

chris schrieb:
> Gäbe es eine einheitliches Format wie z.B. DIN, wäre die ganze
> Blindleistung dass jede Firma wieder ihr eigenes Bauteil anlegen muss,
> unnötig.

Du hast noch nicht verstanden, dass es absolut nicht am fehlenden
Format liegt, sondern dass einfach jede Firma ihre eigenen Ideen hat,
was beim Anlegen eines Bauteils wichtig ist, wie sich das Ding in
die firmeneigene Infrastruktur integriert etc. pp.  Die paar Striche
zu zeichnen, ist dabei fast der geringste Anteil an Arbeit.  Die
MechCAD-Daten bekommt man mittlerweile teilweise sogar von den
Herstellern (genauso wie die 3D-CAD-Daten).

Gehört aber nicht hierher, hier geht es um Horizon.

: Bearbeitet durch Moderator
von Klaus R. (klausro)


Angehängte Dateien:

Lesenswert?

Ich konnte heute (nach einem Update "git pull; make") den interaktiven 
Router nicht mehr starten. Ich hatte ein paar Leiterbahnen gelöscht und 
wollte diese neue verlegen. Fehlermeldung siehe Bildschirmfoto.

von Helmut S. (helmuts)


Lesenswert?

Klaus R. schrieb:
> Ich konnte heute (nach einem Update "git pull; make") den interaktiven
> Router nicht mehr starten. Ich hatte ein paar Leiterbahnen gelöscht und
> wollte diese neue verlegen. Fehlermeldung siehe Bildschirmfoto.

Hallo Klaus,

ich konnte den von dir beschriebenen Fehler in WIN10 nicht 
nachvollziehen.

Falls du einen WIndows-Rechner hast, dann könntest du es mal mit der von 
Lukas generierten WIN-Version vom 01.01.2018 testen.

http://0x83.eu/horizon-zip/

Gruß
Helmut

: Bearbeitet durch User
von Lukas K. (carrotindustries)


Lesenswert?

Klaus R. schrieb:
> den interaktiven
> Router nicht mehr starten.

Endlich kommt das Logging mal Sinnvoll zum Einsatz. Davor wäre das ganze 
Programm abgestürzt :)

Der Fehler kam, daher, dass in deinem eigenen Padstack beim SSOP-28 aus 
noch unbekannter Ursache Polygone ohne Vertices waren. Jetzt werden 
diese nicht mehr geladen.

: Bearbeitet durch User
von Klaus R. (klausro)


Lesenswert?

Lukas K. schrieb:
> Der Fehler kam, daher, dass in deinem eigenen Padstack beim SSOP-28 aus
> noch unbekannter Ursache Polygone ohne Vertices waren. Jetzt werden
> diese nicht mehr geladen.

Ja, danke! Jetzt geht es. Die "eigenen Padstacks" haben leider mir schon 
etwas Kummer bereitet. Hätte ich nur am Anfang kapiert, dass die schon 
vorhandenen Padstacks parametrisierbar sind... wüsste jetzt nicht, wo 
man dann noch eigene bräuchte.

von Peter B. (peter_b188)


Lesenswert?

Hi Lukas!

Ich habe gestern ganz zufällig dein Projekt gefunden und ich muss dir 
wirklich sagen: Hut ab!
Ich hatte das gleiche schon (einfaches Tool, globale Library (hier 
Pool), usw.) vor ein paar Jahren vor zu implementieren, jedoch fehlte 
mir einfach die Zeit dafür.
Ich bin dir auf jeden Fall sehr dankbar für deine Mühe :)

Auf Github hast du sicherlich schon mitbekommen, dass ich hier auch mit 
arbeiten möchte bzw. auch schon mache (Github-user: peterus).
Unter anderem habe ich bereits ein Script erstellt um die SMD 
Widerstände der Größen 0402, 0603, 0805 und 1206 in der E12-Reihe 
automatisch zu generieren (von 0 bis 100MOhm).
Das hab ich eigentlich einmal nur gemacht, um mich mit den Pool-Daten 
näher zu beschäftigen.

Wenn du nichts dagegen hast, würde ich gerne das makefile "austauschen" 
auf cmake. Ich benütze cmake schon seit ein paar Jahren und man hat 
damit einige mehr Vorteile (auflösen von externen Bibliotheken ist 
einfacher, es gibt mehrere config files, logging von dem was man sehen 
möchte, logging ist auch schöner, usw.).
Zusätzlich würde ich auch gleich ein bisschen aufräumen und ein bisschen 
eine bessere Struktur rein bringen wo die Daten gespeichert sind.

Anfangen würde ich damit, dass ich mal alle cpp's und hpp's durch gehe 
und einen Header mit Lizenz rein schreiben lasse mit einem Script.

edit: habs mir anders überlegt: Lizenz solltest du übernehmen :)

: Bearbeitet durch User
von Lukas K. (carrotindustries)


Lesenswert?

Peter B. schrieb:
> Ich bin dir auf jeden Fall sehr dankbar für deine Mühe :)
Schön zu hören :)

> Auf Github hast du sicherlich schon mitbekommen, dass ich hier auch mit
> arbeiten möchte bzw. auch schon mache (Github-user: peterus).
> Unter anderem habe ich bereits ein Script erstellt um die SMD
> Widerstände der Größen 0402, 0603, 0805 und 1206 in der E12-Reihe
> automatisch zu generieren (von 0 bis 100MOhm).
> Das hab ich eigentlich einmal nur gemacht, um mich mit den Pool-Daten
> näher zu beschäftigen.

Okay, aber eigentlich will ich im Pool nur Bauteile mit MPN und 
Hersteller haben, bzw. die CPL-Teilenummern, die man mit den 
Octopart-Bomtool zu echten Bauteilen zuordnen kann. Mir schwebt vor, 
dass man zukünftig die exportierte BOM direkt bei Octopart oder Digikey 
einwerfen und dann einfach bestellen kann.

Allerdings hat nicht jedes Projekt diesen Anspruch und so generische 
Widerstände können dafür durchaus praktisch sein, mal drüber nachdenken.

> Wenn du nichts dagegen hast, würde ich gerne das makefile "austauschen"
> auf cmake. Ich benütze cmake schon seit ein paar Jahren und man hat
> damit einige mehr Vorteile (auflösen von externen Bibliotheken ist
> einfacher, es gibt mehrere config files, logging von dem was man sehen
> möchte, logging ist auch schöner, usw.).

Bis jetzt fehlt mir an make eigentlich nichts wirklich, was die 
zusätzliche Komplexität rechtfertigen würde. Externe Bibliotheken zu 
finden klappt mit pkg-config auf meinen Zielplattformen auch hinreichend 
gut.

> Zusätzlich würde ich auch gleich ein bisschen aufräumen und ein bisschen
> eine bessere Struktur rein bringen wo die Daten gespeichert sind.
Wie meinst du das genau? Jetzt bezogen auf pool oder source code?

> Anfangen würde ich damit, dass ich mal alle cpp's und hpp's durch gehe
> und einen Header mit Lizenz rein schreiben lasse mit einem Script.
>
> edit: habs mir anders überlegt: Lizenz solltest du übernehmen :)
Auch wenn es mir persönlich missfällt, muss das wohl so sein...

von Peter B. (peter_b188)


Lesenswert?

> Okay, aber eigentlich will ich im Pool nur Bauteile mit MPN und
> Hersteller haben, bzw. die CPL-Teilenummern, die man mit den
> Octopart-Bomtool zu echten Bauteilen zuordnen kann. Mir schwebt vor,
> dass man zukünftig die exportierte BOM direkt bei Octopart oder Digikey
> einwerfen und dann einfach bestellen kann.

Kann ich voll und ganz verstehen, jedoch gibt es hier gerade ein mal ein 
paar Widerstände in der CPL-Bibliothek. Ich hab mich ein bisschen 
eingelesen in das CPL und heraus gefunden, dass diese nur die meist 
benutzten Sachen rein stellen. Das heißt, dass dort nie ein Widerstand 
sein wird mit 5.6k (in 1206) weil dieser nicht unter den meist benützten 
ist.
Angenommen ich möchte nun ein Projekt bauen wo dieser Widerstand 
benötigt wird. Ich kann ihn auch kaufen, nur gibt es den nicht im Pool - 
wäre ziemlich blöd...

> Bis jetzt fehlt mir an make eigentlich nichts wirklich, was die
> zusätzliche Komplexität rechtfertigen würde. Externe Bibliotheken zu
> finden klappt mit pkg-config auf meinen Zielplattformen auch hinreichend
> gut.

Sobald das Projekt größer wird, wird es viel einfacher zum managen ;) 
Spreche da aus guter Erfahrung aus der Arbeit usw.

> Wie meinst du das genau? Jetzt bezogen auf pool oder source code?

Der Pool ist schon gut strukturiert!
Beim Source Code habe ich sehr lange gebraucht bis ich verstanden habe 
wie wo was liegt. Bzw. was außerdem auch ein externer Code ist.

von Lukas K. (carrotindustries)


Lesenswert?

Peter B. schrieb:
> Angenommen ich möchte nun ein Projekt bauen wo dieser Widerstand
> benötigt wird. Ich kann ihn auch kaufen, nur gibt es den nicht im Pool -
> wäre ziemlich blöd...

Meine (vielleicht utopische) Idee war, dass der Anwender sich dann auf 
digikey den gewünschten Widerstand aussucht und mit einem Skript wie 
deinem gleich die ganze Serie des Herstellers in den Pool einpflegt.

Wenn man sich beim Design der Schaltung nicht von sowas aufhalten lassen 
will, kann man auch einfach im Schaltplan den Widerstand auch ohne Part, 
nur als Entity, platzieren und den Wert einfach eintippen. Später kann 
man dann das Anlegen von den Bauteilen nachholen und mit dem "Assign 
Part"-Tool den Widerständen das richtige Part zuweisen.

Peter B. schrieb:
> Beim Source Code habe ich sehr lange gebraucht bis ich verstanden habe
> wie wo was liegt. Bzw. was außerdem auch ein externer Code ist.

Okay, man könnte alles externe (clipper, etc) in einen 
"3rd_party"-Ordner stecken, damit das besser getrennt ist. Was hat dich 
sonst so konkret gestört?

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Lukas K. schrieb:
> Meine (vielleicht utopische) Idee war, dass der Anwender sich dann auf
> digikey den gewünschten Widerstand aussucht und mit einem Skript wie
> deinem gleich die ganze Serie des Herstellers in den Pool einpflegt.

Man sollte daran denken, dass mittlerweile 3d-Fähigkeit ein Must-Feature 
ist.

KiCad kann es ja schon und ich würde mit keinem (neuen) Programm mehr 
arbeiten wollen, das keine 3d-Fähigkeiten hat.

von A. N. (nero)


Lesenswert?

Vielleicht könnte man wieder die 3D Ansicht von KiCad in horizon 
integrieren!

von Lukas K. (carrotindustries)


Lesenswert?

Mampf F. schrieb:
> Man sollte daran denken, dass mittlerweile 3d-Fähigkeit ein Must-Feature
> ist.

Das trifft sich gut, da bin ich gerade dran :) Laden von STEP-Modellen 
mit opencascade klappt schon, an der richtigen Stelle in der 3D-Vorschau 
sind sie auch schon. Fehlt nur noch ein bisschen drumherum. Der Code zum 
STEP-Importieren mit opencascade ist weitestgehend von 
https://github.com/KiCad/kicad-source-mirror/blob/master/plugins/3d/oce/loadmodel.cpp 
abgekupfert.

STEP-Export steht auch der Roadmap, das wird dann darauf hinauslaufen 
kicad2step zu portieren.

A. N. schrieb:
> Vielleicht könnte man wieder die 3D Ansicht von KiCad in horizon
> integrieren!

Ne, die haben aus mir unbekannten Gründen gleich ein ganzes 
Scenegraph-Framework implementiert und verwenden legacy-OpenGL.
Ich werfe die Vertices und Indizes für die Dreiecke aller Bauteile auf 
dem Board in VBOs auf die GPU und kann diese dann durch instancing 
mehrfach an den vorgesehenen Positionen rendern.

: Bearbeitet durch User
von Helmut S. (helmuts)


Lesenswert?

Welche Funktion hat das Icon "Herz" im Part Browser?
Ich kann keine Funktion beim anklicken erkennen.

von Lukas K. (carrotindustries)


Lesenswert?

Helmut S. schrieb:
> Welche Funktion hat das Icon "Herz" im Part Browser?
> Ich kann keine Funktion beim anklicken erkennen.

Das fügt das ausgewählte Part den Favoriten (links im Fenster) hinzu, 
bzw. entfernt es daraus.

von Helmut S. (helmuts)


Lesenswert?

Lukas K. schrieb:
> Helmut S. schrieb:
>> Welche Funktion hat das Icon "Herz" im Part Browser?
>> Ich kann keine Funktion beim anklicken erkennen.
>
> Das fügt das ausgewählte Part den Favoriten (links im Fenster) hinzu,
> bzw. entfernt es daraus.

Danke. Da hätte ich auch selber draufkommen müssen. :-)

von Uwe S. (steinm)


Lesenswert?

Lukas K. schrieb:
> Mampf F. schrieb:
>> Man sollte daran denken, dass mittlerweile 3d-Fähigkeit ein Must-Feature
>> ist.
>
> Das trifft sich gut, da bin ich gerade dran :) Laden von STEP-Modellen
> mit opencascade klappt schon, an der richtigen Stelle in der 3D-Vorschau
> sind sie auch schon. Fehlt nur noch ein bisschen drumherum. Der Code zum
Unglaublich! Habe es direkt mal ausprobiert, stecke aber beim Laden der 
Step-Datei fest. Im 3D-View des Packages klicke ich auf den 
Browse-Button für die Step-Datei, wählt diese aus und schließe dann den 
Datei-Dialog. Passieren tut allerdings nichts. Der Dateiname erscheint 
auch nicht im Textfeld vor dem Browse-Button. Das hätte ich erwartet. 
Ist das der richtige Weg? Wo liegen die Step-Dateien, wenn man sie denn 
mal hochgeladen bekommt?

  Uwe

von Lukas K. (carrotindustries)


Lesenswert?

Sodele, STEP-Modelle funktionieren nun grundlegend einige Worte dazu 
noch: Integration in die Download/Upgrade-Infrastruktur fehlt noch, 
kommt aber bald.

Angedacht war das dann so: Im Pool wird es dann neben  packages, 
entities, etc. noch den Ordner "3d_models" geben, in dem dann alle 
STEP-Dateien an Zentraler stelle liegen, also teil des Pools werden.

Da die Lizenzbedingungen einiger Hersteller es nicht erlauben, deren 
Modelle weiterzuverteilen, wird es noch einen Ordner geben, in den man 
dann selber die Modelle mit dem richtigen Dateinamen ablegen kann.

Geduldet euch am besten noch ein Paar Tage, dann wird aus dem Futur im 
Absatz oben auch Präsens ;)

Uwe S. schrieb:
> Das hätte ich erwartet.
> Ist das der richtige Weg? Wo liegen die Step-Dateien, wenn man sie denn
> mal hochgeladen bekommt?

Da hat noch eine Fehlermeldung gefehlt (ist jetzt drin), die einem sagt, 
dass sich die Datei nicht im Pool befindet. Damit man keine absoluten 
Pfade hat, werden die Dateinamen relativ zum Pool gespeichert. Wenn du 
deine Modelle in einen Unterordner des Pools kopiert, sollte es klappen.

von tester (Gast)


Lesenswert?

Welches dev package braucht man denn dafür?

util/step_importer.cpp:2:10: fatal error: TDocStd_Document.hxx: Datei 
oder Verzeichnis nicht gefunden
 #include <TDocStd_Document.hxx>
          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

von Uwe S. (steinm)


Lesenswert?

tester schrieb:
> Welches dev package braucht man denn dafür?
>
> util/step_importer.cpp:2:10: fatal error: TDocStd_Document.hxx: Datei
> oder Verzeichnis nicht gefunden
>  #include <TDocStd_Document.hxx>
>           ^~~~~~~~~~~~~~~~~~~~~~
> compilation terminated.

Unter Debian versuchs mal mit liboce-ocaf-dev

  Uwe

von tester (Gast)


Lesenswert?

Uwe S. schrieb:
> Unter Debian versuchs mal mit liboce-ocaf-dev

Ja, danke, das wars. Noch ein Job für Lukas, Wahrscheinlich wieder mein 
vermurkstes Padstack. Wenn ich im Board auf die 3D Ansicht gehe, crashed 
horizon.

klaus@Yoga:~/horizon/horizon$ ./horizon-prj-mgr
SELECT parts.uuid, parts.MPN, parts.manufacturer, packages.name, 
GROUP_CONCAT(tags.tag, ' '), parts.filename, parts.description FROM 
parts LEFT JOIN tags ON tags.uuid = parts.uuid LEFT JOIN packages ON 
packages.uuid = parts.package WHERE parts.MPN LIKE ? AND 
parts.manufacturer LIKE ? AND (parts.entity=? or ?) GROUP BY parts.uuid 
ORDER BY parts.MPN COLLATE naturalCompare ASC
col 2
create proc
spawn /home/klaus/horizon/horizon/horizon-imp -b 
/home/klaus/horizon/proj/rpi-codec/board.json 
/home/klaus/horizon/proj/rpi-codec/top_block.json 
/home/klaus/horizon/proj/rpi-codec/vias
imp rx null

(horizon-imp:4658): glibmm-ERROR **:
unhandled exception (type std::exception) in signal handler:
what: [Unsupported] Opposing point on constrained edge

von Lukas K. (carrotindustries)


Lesenswert?

tester schrieb:
> unhandled exception (type std::exception) in signal handler:
> what: [Unsupported] Opposing point on constrained edge

Oh, den kennen wir doch:

Klaus R. schrieb:
> [...]
> terminate called after throwing an instance of 'std::runtime_error'
>   what():  [Unsupported] Opposing point on constrained edge
> end proc 4244
> exit stat 134

Da es jetzt Logging gibt, hab ich das die exception abgefangen und ein 
Log-Eintrag draus gemacht: 
https://github.com/carrotIndustries/horizon/commit/b3bd85d831cbecd4bb0b334cd87188cf0e0aa681 
Dann fehlt immerhin nur die Füllung beim Silkscreen an der Stelle, an 
der's hinfällt.

von tester (Gast)


Lesenswert?

Danke. Die Exception wird jetzt abgefangen.

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Hallo Lukas,

"make" in mysy64 (WIN 10) funktioniert seit heute nicht mehr. Es bricht 
einfach nach kurzer Zeit ab.

Gruß
Helmut

von Lukas K. (carrotindustries)


Lesenswert?

Helmut S. schrieb:
> Hallo Lukas,
>
> "make" in mysy64 (WIN 10) funktioniert seit heute nicht mehr. Es bricht
> einfach nach kurzer Zeit ab.
>
> Gruß
> Helmut

Seit heute ist opencascade zum Laden von den STEP-Modellen eine 
Abhängigkeit: 
https://github.com/carrotIndustries/horizon/wiki/Building-horizon-on-Windows#install-dependencies

Zum Installieren:
1
pacman -Sy mingw-w64-x86_64-oce

von Peter B. (peter_b188)


Lesenswert?

Hi Lukas!

Ich arbeite schon seit ein paar Tagen an einer Restrukturierung so dass 
du normal weiter entwickeln kannst und ich mich eben um ein paar andere 
Punkte kümmere (Liste weiter unten).
Nachdem das schon langsam ein bisschen größer geworden ist, wollte ich 
mich einmal mit dir absprechen welche Änderungen du übernehmen würdest 
und welche nicht (nicht das ich hier einige Tage arbeite und du die 
Änderungen e nicht rein-mergen möchtest).

Hier ist die Liste mit einer Erklärung zu jedem Punkt wieso ich denke 
das diese Änderung besser ist:
1
1) externer Code wurde in den Ordner "extern" verschoben (umbenennen in "3part"?) -> Trennung zwischen Projekt-Code und externen/3part-Code
2
2) Projekt-Code wurde in src/* verschoben -> Übersichtlicher Platz für den Code
3
3) Umstellung von Makefile auf CMake -> siehe weiter unten
4
4) Include-Dirs verringert (die Einzelnen Module müssen jetzt angegeben werden beim Include) -> damit Abhängigkeiten einfacher ersichtlich sind
5
5) gresources von CMake erstellen lassen -> Vereinfachung von einem Build Schritt für CMake
6
6) board/board_layers.hpp Konstanten in einem enum verwandelt -> kann mit einer Shared-Lib (cmake) nicht mehr verwendet werden (Linker Error mit CMake), Umwandlung in einem enum war ohne weiteres einfach möglich.

Natürlich gibt es hier leider ein paar Abhängigkeiten:
Wenn 3) gemacht werden soll, muss auch 5) und 6) durchgeführt werden. 
Auch anders herum 5) ist Abhängig von 3) und das wiederum von 6)!

Wieso nun CMake:
* Du kannst unabhängig vom Buildsystem arbeiten -> Projekt kann mit 
Makefile, Visual Studio, <Buildsystem deiner Wahl> usw. geöffnet werden.
* Wenn eine neue externe Library hinzugefügt wird (so wie jetzt gerade 
der Fall ist), meckert schon CMake von vornherein das die Library fehlt 
und es wird noch gar nicht gebaut. Außerdem bekommt man eine genaue 
Fehlerbeschreibung wieso und was fehlt.
* Nettere Ausgabe (ok, ist Ansichtssache. Aber ich finde es cool das ich 
den Buildvorschritt mit %e sehen kann)

So... das hab ich mal in den letzten 3 bis 4 Tagen fast alles erledigt! 
Nachdem es aber dein Projekt ist und du das sagen darüber hast, möchte 
ich dir da nicht auf die Füße treten und gleich einen riesigen "pull 
request" los schicken :)
Ich bin gerne offen meine Änderungen auf deine neusten Änderungen 
aufzusetzen, würde aber gerne wissen mit was du einverstanden wärst und 
was ich dir alles schicken darf. Dann würde ich das Schritt für Schritt 
auf mehrere Pull Requests aufteilen, so dass du und ich nicht zu viel 
zum ändern haben ;)

------------------------------------------------------------------------

Bezüglich der Änderungen vom Pool die von mir noch offen sind:
Mit dem Original Namen von der CPL Lib, kann ich aber auch nicht direkt 
in der SnapEDA's Library suchen.
Möchte ich zb. einen 100Ohm Widerstand in 1206 haben finde ich in der 
CPL diesen Eintrag: CPL-RES-1206-100-0.25W
Gehe ich nun auf die SnapEDA's Seite und gebe diesen Begriff bei der 
Suche ein, bekomme ich kein Ergebnis! Oder gibt es hier eine andere 
"Suche" wenn ich schon diesen Begriff habe?

von Lukas K. (carrotindustries)


Lesenswert?

Cool, dass mal jemand anders den Sourcecode anfasst :)

Peter B. schrieb:
> 1) externer Code wurde in den Ordner "extern" verschoben (umbenennen in
> "3part"?) -> Trennung zwischen Projekt-Code und externen/3part-Code
Sehr schön :)

> 2) Projekt-Code wurde in src/* verschoben -> Übersichtlicher Platz für
> den Code
Geschmackssache, ist aber wohl so üblich, also ja.

> 3) Umstellung von Makefile auf CMake -> siehe weiter unten
Hast mich überzeugt. Insb. kann dann opencascade eine optionale 
Abhängigkeit werden und man kann auf 
https://github.com/FreeCAD/FreeCAD/blob/master/cMake/FindOpenCasCade.cmake 
aufbauen.

> 4) Include-Dirs verringert (die Einzelnen Module müssen jetzt angegeben
> werden beim Include) -> damit Abhängigkeiten einfacher ersichtlich sind
Das hatte ich schon längers vor, aber war immer zu faul dazu. Danke! 
Ganz früher war alles in einem Ordner drin, als ich dann Zeug in Ordner 
einsortiert hatte, war ich zu faul zum Includes anpassen. -I war da am 
einfachsten...

> 5) gresources von CMake erstellen lassen -> Vereinfachung von einem
> Build Schritt für CMake
D.h. man gibt Cmake die liste von ressourcen?

> 6) board/board_layers.hpp Konstanten in einem enum verwandelt -> kann
> mit einer Shared-Lib (cmake) nicht mehr verwendet werden (Linker Error
> mit CMake), Umwandlung in einem enum war ohne weiteres einfach möglich.
Oh, ganz vergessen, dass es die neben scoped enums auch noch gibt, danke 
:)

Peter B. schrieb:
> Oder gibt es hier eine andere
> "Suche" wenn ich schon diesen Begriff habe?
Octopart, da kommen dann Widerstände von mehreren Herstellern zur 
Auswahl.
Das schöne an den CPL-Parts ist, dass sich schon jemand anders eine 
Zuordnung von generischer Part-Nummer zu MPN gemacht hat. Wenn es da 
noch andere Schemata gibt, sind die auch gerne gesehen, Hauptsache man 
bekommt automatisch eine MPN raus.

von Peter B. (peter_b188)


Lesenswert?

Lukas K. schrieb:
> Cool, dass mal jemand anders den Sourcecode anfasst :)

Ja ich kenn das leider zu gut von einigen Projekten von mir. Da werkelt 
man ewig lange herum und es gibt zwar viele Interessenten, aber am 
Schluss steht ma dann doch fast ganz alleine da.
Da freut man sich schon wenn mal jemand anderer mit anpackt :)

> Geschmackssache, ist aber wohl so üblich, also ja.
Du hast hald den Vorteil, dass du wirklich den gesamten Code auf einem 
Platz hast. Alles was nicht Code ist, kommt einfach wo anders hin und es 
gibt eine Trennung dazwischen ;)

>> 3) Umstellung von Makefile auf CMake -> siehe weiter unten
> Hast mich überzeugt. Insb. kann dann opencascade eine optionale
> Abhängigkeit werden und man kann auf
> https://github.com/FreeCAD/FreeCAD/blob/master/cMake/FindOpenCasCade.cmake
> aufbauen.
Guter Punkt und wird dann von mir auch gleich mit umgesetzt!

>> 4) Include-Dirs verringert (die Einzelnen Module müssen jetzt angegeben
>> werden beim Include) -> damit Abhängigkeiten einfacher ersichtlich sind
> Das hatte ich schon längers vor, aber war immer zu faul dazu. Danke!
> Ganz früher war alles in einem Ordner drin, als ich dann Zeug in Ordner
> einsortiert hatte, war ich zu faul zum Includes anpassen. -I war da am
> einfachsten...
:) In der Zwischenzeit ist das Projekt ja schon ziemlich groß geworden, 
da muss schon eine Struktur her, sonst wird das nur Chaos.

>> 5) gresources von CMake erstellen lassen -> Vereinfachung von einem
>> Build Schritt für CMake
> D.h. man gibt Cmake die liste von ressourcen?
Ja genau (gibt dafür extra eine CMake Erweiterung). Es werden dann 
automatisch die Files überprüft ob diese existieren und danach wird das 
xml erstellt und dann das Cpp file.

>> Oder gibt es hier eine andere
>> "Suche" wenn ich schon diesen Begriff habe?
> Octopart, da kommen dann Widerstände von mehreren Herstellern zur
> Auswahl.
> Das schöne an den CPL-Parts ist, dass sich schon jemand anders eine
> Zuordnung von generischer Part-Nummer zu MPN gemacht hat. Wenn es da
> noch andere Schemata gibt, sind die auch gerne gesehen, Hauptsache man
> bekommt automatisch eine MPN raus.
Jaaa stimmt... wenn ich jetzt meine generierten Namen verwende kommt man 
nicht gleich auf ein Ergebnis. Man muss erst die "-" entfernen und dann 
kommt auch was raus. Da muss man noch was machen :)

von Michael H. (overthere)


Lesenswert?

Hat jemand schon Symbole erstellt?
Ich brauche z.B. einen OpAmp. Aber irgendwie sehe ich z.B. nicht wo ich 
die Pins hinzufügen kann. Gibts da einen Trick?

von Lukas K. (carrotindustries)


Lesenswert?

Michael H. schrieb:
> Hat jemand schon Symbole erstellt?
> Ich brauche z.B. einen OpAmp. Aber irgendwie sehe ich z.B. nicht wo ich
> die Pins hinzufügen kann. Gibts da einen Trick?

Bei horizon werden die Pins eines Bauteils nicht im Symbol definiert, 
sondern in der Unit: 
https://github.com/carrotIndustries/horizon/wiki/The-Pool#units

Du legst dir also für dein Bauteil eine neue Unit an, trägst dort die 
Pins ein und legst dann eines oder mehr Symbole dazu an.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Hm. Und wie soll dann ein Bauelement mit z.B. der typischen Varianten 16 
Pins als DIP und 20 Pins als SMT definiert werden?

von Helmut S. (helmuts)


Lesenswert?

Abdul K. schrieb:
> Hm. Und wie soll dann ein Bauelement mit z.B. der typischen Varianten 16
> Pins als DIP und 20 Pins als SMT definiert werden?

Da legst du einfach ein zweites Bauteil an.

von Uwe S. (steinm)


Angehängte Dateien:

Lesenswert?

Hallo,

diese 3D-Modelle machen mir gerade wahnsinnig. Angehängt sind mal zwei 
Screenshots. Einmal das Bauteil in FreeCAD und dann das importierte 
Bauteil in Horizon. Jetzt frage ich mich warum da zwei Beine fehlen und 
der Ursprung so verschoben ist. Wie muss man denn so ein Bauteil 
anlegen, damit es passend auf der Platine erscheint?

  Uwe

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Linkes Bild ist auch noch ein Bug drin. Schau dir den Mittelpin oberhalb 
0,0,0 an. Da ist er irrtümlich transparent. Sieht zumindest so aus.

von Lukas K. (carrotindustries)


Lesenswert?

Uwe S. schrieb:
> . Jetzt frage ich mich warum da zwei Beine fehlen und
> der Ursprung so verschoben ist. Wie muss man denn so ein Bauteil
> anlegen, damit es passend auf der Platine erscheint?

Hast du mir mal die STEP-Datei?

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


Lesenswert?

Abdul K. schrieb:
> Linkes Bild ist auch noch ein Bug drin. Schau dir den Mittelpin oberhalb
> 0,0,0 an. Da ist er irrtümlich transparent. Sieht zumindest so aus.

Nö, das ist nur der eingeblendete Koordinatenursprung mit der Z-Achse,
die blau dargestellt ist und direkt auf der Oberfläche des Anschlusses
liegt.

von Uwe S. (steinm)


Angehängte Dateien:

Lesenswert?

Hier ist mal step Datei.

von Lukas K. (carrotindustries)


Lesenswert?

Uwe S. schrieb:
> Hier ist mal step Datei.

Hab ich's mir doch schon fast gedacht, dass ich noch die Platzierung von 
Unterobjekten berücksichtigen muss. Mit den Modellen, die ich so in der 
Hand hatte, ging's auch ohne...

Ist in 
https://github.com/carrotIndustries/horizon/commit/514027b3e9bb108b38b51016c16a1b363ac9ed28 
repariert.

von Uwe S. (steinm)


Lesenswert?

Lukas K. schrieb:
> Uwe S. schrieb:
>> Hier ist mal step Datei.
>
> Hab ich's mir doch schon fast gedacht, dass ich noch die Platzierung von
> Unterobjekten berücksichtigen muss. Mit den Modellen, die ich so in der
> Hand hatte, ging's auch ohne...
>
> Ist in
> 
https://github.com/carrotIndustries/horizon/commit/514027b3e9bb108b38b51016c16a1b363ac9ed28
> repariert.

Perfekt, damit läuft es. Danke.

  Uwe

von Max G. (l0wside) Benutzerseite


Lesenswert?

Lukas, ich muss mal sagen: die Geschwindigkeit, in der du Patches 
bereitstellst und einbaust, sollte jeden kommerziellen Hersteller vor 
Neid erblassen lassen.
Meinen allergrößten Respekt dafür!

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Max G. schrieb:
> Lukas, ich muss mal sagen: die Geschwindigkeit, in der du Patches
> bereitstellst und einbaust, sollte jeden kommerziellen Hersteller vor
> Neid erblassen lassen.

Das geht nur, solange man kein kommerzieller Hersteller ist und 
größtenteils alleine daran arbeitet :)

> Meinen allergrößten Respekt dafür!

Ja, von mir auch! :)

von Uwe S. (steinm)


Lesenswert?

Nochmal was zum Thema Step-Dateien.

Kicad hat bereits eine ordentliche Menge Step-Dateien, die ich punktuell 
versucht habe einzubinden. Grundsätzlich kein Problem, nur die 
Ausrichtung des Packages und des 3d-Modells passt oft nicht zusammen. 
Bei dem besagten TO-92 hatte ich den Ursprung auf den mittleren Pin 
gelegt. Das 3D-Modell aus Kicad legt den Ursprung aber auf einen der 
äußeren Pins. Wenn ich jetzt das Package passend verschiebe dann 
zerreißt es mir die Boards, die dieses Packages bereits verwenden. 
Sicher ich könnte auf das Update des Pools im Projekt verzichten, aber 
grundsätzlich wird man immer wieder, nicht zu einander passende 
3D-Modelle und Packages haben. Könnte man bei der Zuordnung des 
3D-Modells zum Package nicht eine Verschiebung und Rotation des 
3D-Models angegeben, die das Modell dann zurecht rückt?

  Uwe

von Michael H. (overthere)


Lesenswert?

@Uwe: Ich hatte das schon angefragt, es kam allerdings die Antwort, man 
solle es in der STEP-Datei ändern.
https://github.com/carrotIndustries/horizon/issues/61

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


Lesenswert?

Michael H. schrieb:
> es kam allerdings die Antwort, man solle es in der STEP-Datei ändern.

Wenn man mal davon ausgeht, dass man heutzutage STEP-Dateien oft
direkt vom Hersteller bekommt, finde ich das nicht so gut.

Bei selbst erzeugten ist das sicher was anderes.

von Uwe S. (steinm)


Lesenswert?

Michael H. schrieb:
> @Uwe: Ich hatte das schon angefragt, es kam allerdings die Antwort, man
> solle es in der STEP-Datei ändern.
> https://github.com/carrotIndustries/horizon/issues/61

Ok. Das halte ich aber auch für unglücklich, weil man bei der Menge an 
bestehenden Step-Dateien kaum noch davon profitieren kann, wenn man die 
alle anpassen muss. Aber letztlich muss dass natürlich Lukas 
entscheiden.

von Lukas K. (carrotindustries)


Lesenswert?

Jörg W. schrieb:
> Michael H. schrieb:
>> es kam allerdings die Antwort, man solle es in der STEP-Datei ändern.
>
> Wenn man mal davon ausgeht, dass man heutzutage STEP-Dateien oft
> direkt vom Hersteller bekommt, finde ich das nicht so gut.

Eben bei denen, die von Herstellern kommen, liegt der Ursprung oft im 
nirgendwo und die Rotation passt auch überhaupt nicht. Sowas behebt man 
besser in einem anständigen MCAD-Programm wie FreeCAD, anstatt in 
horizon nach Augenmaß Nummern einzutragen. In Freecad z.B. ist es 
einfach möglich, das Modell so zu verschieben, dass dessen Unterseite 
genau bei z=0 liegt.

Uwe S. schrieb:
> Ok. Das halte ich aber auch für unglücklich, weil man bei der Menge an
> bestehenden Step-Dateien kaum noch davon profitieren kann, wenn man die
> alle anpassen muss.

Bei den Modellen von SMD-Bauteilen, die ich mir so angesehen hatte, 
hat's gepasst, da dort der Ursprung vom Modell auch in der Mitte liegt.


Eine wirkliche Konvention, wo in den Packages der Ursprung liegen soll 
fehlt noch. Bei Kicad ist's für alles was nicht Through hole ist der 
Mittelpunkt vom Bauteil und bei TH im Mittelpunkt von Pin 1, was sich 
auch so in den 3D-Modellen widerspiegelt. Mir persönlich gefällt das 
nicht so wirklich.

Um die Through Hole-Modelle von KiCad verwenden zu können, ist es 
durchaus sinnvoll, Verschiebung/Rotation eintragen zu können, nur hat 
man dann wieder das Problem, dass Leute anstatt im MCAD nachzumessen und 
die Werte daraus zu übernehmen, einfach so lange an den Knöpfen drehen 
werden, bis es optisch passt.

von Uwe S. (steinm)


Lesenswert?

Lukas K. schrieb:

> Um die Through Hole-Modelle von KiCad verwenden zu können, ist es
> durchaus sinnvoll, Verschiebung/Rotation eintragen zu können, nur hat
> man dann wieder das Problem, dass Leute anstatt im MCAD nachzumessen und
> die Werte daraus zu übernehmen, einfach so lange an den Knöpfen drehen
> werden, bis es optisch passt.

Dann habe ich mir in der Tat die Problemfälle rausgesucht. Ich kann 
durchaus verstehen, dass hier eine einheitlich Vorgehensweise besser 
wäre (z.B. den Ursprung auf Pin 1 oder den linken Pin (bei horizontaler 
Ausrichtung) zu legen).
Ist halt blöd, wenn man einen ganzen Schwung 3D-Modelle und Packages 
hat, die nicht zusammen passen und beides aus Quellen kommt, die 
möglicherweise noch Änderungen vornehmen. Wenn ich die Kicad-Modelle 
anpasse, werde ich mögliche Korrekturen darin vermutlich nicht mehr 
übernehmen können. Folglich muss ich meine Packages in Horizon anpassen 
und das bedeutet Nacharbeiten in den bereits erstellten Boards. Zur Zeit 
noch überschaubar, kann aber ziemlich viel Arbeit bedeuten.

  Uwe

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Und genau aus dem Grund ist es üblich eigentlich alles selber neu 
anzulegen bzw. nach eigenen Vorgaben externe dafür zu beauftragen.
Eigentlich ein Witz, denn in DE sind ja sogar die Schaltsymbole in den 
Schaltplänen zu großen Teilen genormt. Nur die wenigsten halten sich 
dran.

Vielleicht verändert sich das mal irgendwann. In den letzten 40 Jahren 
war dieser Zeitpunkt aber nie erreicht.
Vielleicht liegt es an der Neumodigkeit von Elektronik, den vielen 
Individualisten in diesem Feld oder weil im Bereich Elektronik einfach 
noch <zu> viel Geld für Spezialgänge vorhanden ist.

von Helmut S. (helmuts)


Lesenswert?

> denn in DE sind ja sogar die Schaltsymbole in den Schaltplänen zu großen Teilen 
genormt.

Nur finden alle Firmen außerhalb Deutschlands diese Symbole nicht 
überzeugend. Deshalb werden die sich international auch nie durchsetzen. 
Deshalb sollte sich Lukas an internationale Geflogenheiten orientieren.

: Bearbeitet durch User
von Abdul K. (ehydra) Benutzerseite


Lesenswert?

International würde ich das nicht nennen, eher amerikanisch. Vielleicht 
in Zukunft auch chinesisch. Zeichnet sich ja jetzt schon deutlichst ab. 
Z.B. Datenblätter in chinesisch-only.

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


Lesenswert?

Abdul K. schrieb:
> Und genau aus dem Grund ist es üblich eigentlich alles selber neu
> anzulegen bzw. nach eigenen Vorgaben externe dafür zu beauftragen.

Ich habe aber dabei noch niemanden (im industriellen Umfeld) gesehen,
der sich seine eigenen 3D-Modelle gezimmert hat. Klar baut sich jeder
seine Bauteile selbst, aber die 3D-Modelle sind nur dann dabei, wenn
man sie irgendwoher bekommen kann: bei einfachen Dingen
(Standard-Hühnerfutter) schon auch gut und gern mal aus dem EDA-Tool,
bei spezielleren Bauteilen halt die vom Hersteller.

Helmut S. schrieb:
> Nur finden alle Firmen außerhalb Deutschlands diese Symbole nicht
> überzeugend.

Falls du die IEC-Symbole meinst: die sind nicht einmal deutsch,
sondern international. ;-)  Die BRD hat sie sogar relativ spät in
die eigene Norm übernommen, im Ostblock sind sie kurz nach ihrer
Normierung durch die IEC offiziell übernommen worden (und auch
tatsächlich benutzt, sowohl von den Fachzeitschriften als auch in
der Industrie).  Aber da, wo man Entfernungen immer noch mit Daumen
und Füßen misst, wird auch das wohl noch ein bisschen dauern …

Ist aber hier egal, hier geht's ja um die Anpassungen, die Horizon
gewillt ist, an einem 3D-Modell vorzunehmen.

Lukas K. schrieb:
> nur hat man dann wieder das Problem, dass Leute anstatt im MCAD
> nachzumessen und die Werte daraus zu übernehmen, einfach so lange an den
> Knöpfen drehen werden, bis es optisch passt.

Sagen wir mal so: solange das einer für sich privat macht und nur
„ungefähr“ ein Gefühl bekommen will, wie's am Ende aussieht, finde
ich das auch OK.  Ob das Modell da noch einen Zehntelmillimeter
daneben sitzt, interessiert dafür kaum.  In den offiziellen Pool
würde ich es natürlich so nicht übernehmen.

Nicht jeder will sich unbedingt auch noch privat mit einem 3D-MCAD
befassen müssen (wenngleich das natürlich durch des Ingenieurs neues
Spielzeug, den 3D-Drucker allmählich ohnehin mehr werden, die es
tun :).

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

3D ist sicherlich ein neuer Trend. Liegt ja auch daran, daß ein dortiges 
"Symbol" doch deutlich aufwändiger zu erstellen ist als ein planes 
Schaltplansymbol.

von Lukas K. (carrotindustries)


Lesenswert?

Abdul K. schrieb:
> Eigentlich ein Witz, denn in DE sind ja sogar die Schaltsymbole in den
> Schaltplänen zu großen Teilen genormt. Nur die wenigsten halten sich
> dran.

Das Problem an den Normen ist, dass sie in den 70ern stehen geblieben 
sind bzw. darauf aufbauen, das elektronische Schaltungen wie 
Schaltschränke aus genormten und austauschbaren Bauteilen bestehen. Dass 
heutzutage fast jede Schaltung in irgendeine Art proprietäre Bauteile 
wie Mikrocontroller, FPGAs oder Schaltregler beinhaltet ist in den 
Normen nicht wirklich reflektiert.

Daher muss besser früher als später ein verbindlicher Satz an Regeln 
her, um Diskussionen wie diese hier 
https://github.com/carrotIndustries/horizon-pool/pull/11 abzukürzen. Die 
KiCad library convention ist da schonmal ein guter Startpunkt.

Abdul K. schrieb:
> 3D ist sicherlich ein neuer Trend.

Kommt drauf an. Für den Hobbyisten vielleicht, da kann das Projekt schon 
fertig sein, wenn das Board funktioniert. In der Industrie hingegen ist 
es ja üblich, Boards in Gehäuse einzubauen. Mit einem Gehäuse, das 
irgendwie lose mit vielen Kabeln um das Board zusammengeschustert ist 
gewinnt man da keinen Blumentopf mehr, man will das Board mit den darauf 
befindlichen Bauteilen aus dem ECAD ins MCAD exportieren können, damit 
das Gehäuse genau zum Board passt. In Zeiten von 3D-Druckern auch für 
Hobbyisten umsetzbar.

Jörg W. schrieb:
> Nicht jeder will sich unbedingt auch noch privat mit einem 3D-MCAD
> befassen müssen

Ich werde kein Package ablehnen, nur weil es kein 3D-Modell enthält. 
Besser gibt keines als ein nach Augenmaß positioniertes.

von Michael H. (overthere)


Lesenswert?

Hinsichtlich der 3D Diskussion:
Ich von meiener Seite habe mir gesagt, das es schön gewesen wäre. 
Allerdings reicht es meistens schon aus, sich die STEPs von KiCad 
rüberzuziehen.
Wenn da welche sind, dann gut, wenn nicht, halt kein 3D Model.

(Sieht für meinen Zweck halt schön aus, allerdings für mich nicht 
überlebenswichtig...)

Ich bin im Moment dabei in freien minuten Bauteile zu erstellen, sodass 
man eine Grundlage bekommt, schnell loslegen zu können.

Ich denke, das Program hat Potential.

von Lukas K. (carrotindustries)


Lesenswert?

Gute Nachrichten für alle Windows-Nutzer hier: Es gibt jetzt 
automatische Builds mit appveyor: 
https://ci.appveyor.com/project/carrotIndustries/horizon/history

Bei "Artifacts" ist dann die Zip-Datei.

von Wühlhase (Gast)


Lesenswert?

Hab den Thread vor einigen Wochen mal durchgelesen. Ich freue mich auf 
die erste Beta-Version. :)

Ein paar Fragen zu den Funktionen hätte ich da, ob es diese gibt oder 
geplant sind (und falls nicht, betrachtet dies bitte als 
Anregung/freundliche Anfrage dies zu integrieren):

Bauteilerstellung:
-Ist es möglich, Bauteile aus Datenbanken oder Tabellen (Excel) heraus 
zu erstellen? Ich hab damit unlängst massenhaft Bauteile mit einem 
Script erstellt, die zwar dasselbe Schaltplansymbol und denselben 
Footprint gemeinsam hatten, in Details wie Bauteilwert, 
Herstellerbezeichnung, usw. aber unterschiedlich waren. Einen 
Skriptinterpreter zu integrieren wäre auch super, der Aufwand würde aber 
vermutlich völlig ausarten...

-Wie sieht es mit der Pin-Pad-Zuordnung aus..kann man da einem Pin im 
Schaltplan mehrere Pads im Layout zuordnen ohne das es Ärger geben 
könnte? Bei SMD-Transostoren, Motortreibern und generell Leistungs-ICs 
wäre das oft sehr nützlich. (In Altium ist dieser Punkt übrigens eine 
Katastrophe, es gibt da zwar Workarounds, meines Erachtens aber keine 
wirkliche Lösung.)

-Wie siehts mit BOM-Erstellung aus: Kann Horizon Bauteile wie folgt 
darstellen:
Schaltplan ja, Footprint ja, BOM nein (z.B. Layoutsicherung)
Schaltplan nein, Footprint nein, BOM ja (Befestigungsmaterial)
Schaltplan nein, Footprint ja, BOM bedingt (Drahtbrücken, und in der BOM 
taucht der Draht entweder gar nicht auf, oder wieviel Draht insgesamt 
benötigt wird)

Schaltplanerstellung:
-Benamsung von Netzen: Kann Horizon die Folge LCD-0, LCD-1, LCD-2, ... 
automatisch fortsetzen?

-Schaltplanseiten automatisch kopieren (ich erstelle einmal eine 
bestimmte Seite, definiere die Anzahl, und Horizon verwaltet die 
Kopien), und das gleiche Spiel beim Layout, ich route eine solche Seite 
und Horizon übernimmt das Routing für alle anderen Seiten?
Ich spiele auf die Multi-Channel-Funktion in Altium an, die ich gerne 
nutze, allerdings fehlen da meines Erachtens ein paar Dinge: z.B. daß 
bestimmte Bauteilparameter zu jeder Kopie variieren können.

Eine Frage hätte ich noch an den Chef der Karottenindustrie: Mit welchen 
EDA-Programmen hast du denn bisher so Erfahrung gesammelt?

Das soll es erstmal vorläufig sein...mir fällt nach der ersten 
Beta-Version bestimmt noch mehr ein. ;)
Ich kenne KiCad nicht aus eigener Benutzung und will es nicht 
kritisieren, aber ich finde es gar nicht so verkehrt wenn es da künftig 
noch freie Alternative gibt. Und es tut den großen Firmen wie Mentor und 
Altium auch gut, etwas Konkurrenz auch aus dem OSS-Sektor zu bekommen 
(keine Ahnung ob das zum Anspruch von Horizon zählt, aber ich 
unterstütze das gerne).

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Wühlhase schrieb:
> Einen
> Skriptinterpreter zu integrieren wäre auch super, der Aufwand würde aber
> vermutlich völlig ausarten...

Warte ab - übermorgen zur selben Zeit hat Lukas sicherlich Lua eingebaut 
xD

von Lukas K. (carrotindustries)


Lesenswert?

Wühlhase schrieb:
> Hab den Thread vor einigen Wochen mal durchgelesen. Ich freue mich auf
> die erste Beta-Version. :)

Damit es eine Beta gibt, müsste es ja auch mal ein Release geben. Keine 
Ahnung wann da die rechte Zeit für ist. Obwohl man derzeit schon 
halbwegs bequem Schaltplan / Board entwickeln und Bauteile verwalten 
kann, fehlen noch einige wichtige Funktionen wie z.B. BOM-Export. Ich 
müsste mich wohl mal hinsetzen und definieren, was alles es alles für 
Version 0.1 braucht.

> Ein paar Fragen zu den Funktionen hätte ich da, ob es diese gibt oder
> geplant sind (und falls nicht, betrachtet dies bitte als
> Anregung/freundliche Anfrage dies zu integrieren):
>
> Bauteilerstellung:
> -Ist es möglich, Bauteile aus Datenbanken oder Tabellen (Excel) heraus
> zu erstellen? Ich hab damit unlängst massenhaft Bauteile mit einem
> Script erstellt, die zwar dasselbe Schaltplansymbol und denselben
> Footprint gemeinsam hatten, in Details wie Bauteilwert,
> Herstellerbezeichnung, usw. aber unterschiedlich waren.

Dazu können Parts voneinander erben, man legt einmal sein Basis-Bauteil 
an und kann dann in einer Skriptsprache eigener Wahl die Parts aus 
welcher Quelle auch immer zu erzeugen. Die Parts sind wie der Rest auch 
json. z.B. 
https://github.com/carrotIndustries/horizon-pool/pull/6/commits/8b69df90e621348b8fa3ff98b1a379c964a08088

> -Wie sieht es mit der Pin-Pad-Zuordnung aus..kann man da einem Pin im
> Schaltplan mehrere Pads im Layout zuordnen ohne das es Ärger geben
> könnte?

Ja! Einfach im Part-Editor bei einen Pin mehrere Pads auswählen und auf 
"Map" klicken.

> -Wie siehts mit BOM-Erstellung aus: Kann Horizon Bauteile wie folgt
> darstellen:
> Schaltplan ja, Footprint ja, BOM nein (z.B. Layoutsicherung)
Nein, aber einfach implementierbar

> Schaltplan nein, Footprint nein, BOM ja (Befestigungsmaterial)
Nein, auch einfach machbar

> Schaltplan nein, Footprint ja, BOM bedingt (Drahtbrücken, und in der BOM
> taucht der Draht entweder gar nicht auf, oder wieviel Draht insgesamt
> benötigt wird)
Nein, auch nicht einfach machbar, da alles was es auf dem Board gibt 
aus der Netzliste kommen muss.

Zur BOM-Erstellung gibt es derzeit genau nichts. War mir persönlich 
noch nicht wichtig genug und du bist auch der Erste der danach fragt. 
Ich bin mir noch unsicher wie die genau geraten sein soll. Einen Dialog 
mit einer Vielzahl von Optionen, wie sie so manche kommerzielle Software 
bietet ist mir zu viel Aufwand:

 - XSLT wie KiCad: horizon gibt XML aus, XSLT macht CSV, etc draus.
   Vorteil: Kann gut integriert werden.
   Nachteil: Es gibt schönere Dinge als XSLT

 - JSON: Der Anwender schreibt in Skript in seiner Lieblingssprache,
   das macht dann daraus das gewünschte Format. Funktioniert allerdings
   nur auf Unixen wirklich sinnvoll.

Andere/Bessere Vorschläge?

> Schaltplanerstellung:
> -Benamsung von Netzen: Kann Horizon die Folge LCD-0, LCD-1, LCD-2, ...
> automatisch fortsetzen?

Nein, es gibt aber Busse. Bis jetzt sind diese mehr auf serielle Busse 
wie SPI oder I²C ausgelegt.

> -Schaltplanseiten automatisch kopieren (ich erstelle einmal eine
> bestimmte Seite, definiere die Anzahl, und Horizon verwaltet die
> Kopien), und das gleiche Spiel beim Layout, ich route eine solche Seite
> und Horizon übernimmt das Routing für alle anderen Seiten?
> Ich spiele auf die Multi-Channel-Funktion in Altium an, die ich gerne
> nutze, allerdings fehlen da meines Erachtens ein paar Dinge: z.B. daß
> bestimmte Bauteilparameter zu jeder Kopie variieren können.

Das hatte ich vor mit Hierarchie zu erschlagen, ist aber noch in mehr 
oder minder ferner Zukunft.

> Eine Frage hätte ich noch an den Chef der Karottenindustrie: Mit welchen
> EDA-Programmen hast du denn bisher so Erfahrung gesammelt?

EAGLE, KiCad, LTSpice und ein bisschen Mentor Graphics Expedition im 
professionellen  Umfeld. Leider hatte ich noch nie wirklich die 
Gelegenheit sinnvoll mit Altium zu arbeiten, habe ich doch 
vergleichsweise viel gutes davon gehört. Einige Aspekte von horizon, wie 
z.B. die Design-Regeln sind von Altium inspiriert.

Mampf F. schrieb:
> Warte ab - übermorgen zur selben Zeit hat Lukas sicherlich Lua eingebaut
> xD

Ich hatte da auch mal drüber nachgedacht, war mir aber den Aufwand nicht 
wirklich wert, müsste man doch eine halbwegs stabile API bereitstellen.

von Wühlhase (Gast)


Lesenswert?

Danke...das klingt doch schon mal gar nicht so schlecht. :)

Vor allem wie du das Pinmapping beschreibst klingt in meinen Ohren sehr 
gut.

Ich hab eben nochmal die 3D-Diskussion kurz überflogen-sehr schön, daß 
das in Horizon mit drin ist. Ohne 3D würde ich auch nicht mehr arbeiten 
wollen.

Zur Positionierung: In Altium gibt es die Möglichkeit, eine ebene Fläche 
eines Step-Modells als "Boardberührfläche" zu definieren. Dann wird das 
Bauteil automatisch so ausgerichtet, daß die Fläche mit der 
Platinenoberfläche in einer Ebene und orthogonal zur Z-Achse liegt.
Zum Ausrichten in der XY-Ebene kann man Snappoints am 3D-Modell 
hinzufügen, die dann in der 2D-Bearbeitung auch sichtbar sind. Einen 
Snappoint kann man dann z.B. in der Mitte eines Pins anlegen, und dann 
in der 2D-Ansicht in das entsprechende Lötauge legen.

Vielleicht hilft das bei der Orientierung weiter. Dann hab ich noch ein 
paar Dinge, die Altium an dieser Stelle leider sehr halbherzig umgesetzt 
hat und die mich manchmal schon etwas ärgern:

-Die 'Face-to-PCB-Funktion' kann nur mit planen Flächen, aber nicht mit 
runden Flächen. Einen aufrechten Zylinder ausrichten ist kein Problem, 
aber einen liegenden Zylinder ausrichten (z.B. Melf-Bauteile) geht damit 
nicht.
-Altium findet Snappoints nur an Ecken oder Kanten. Rotationsachsen von 
rotationsymetrischen erkennt Altium leider nicht (was beim Ausrichten an 
Pins oft ärgerlich ist).

Das mal so als Anregung...

Ich hab bisher eigentlich nur mit Altium gearbeitet (wie vielleicht 
schon aufgefallen ist ;)), ich hab mich vor etlichen Jahren (so 2006 
herum) mal zwei Stunden mit Eagle befaßt (das zähle ich nicht als 
Erfahrung) und danach nur etwas mit Sprint Layout herumgespielt, weil 
mir Eagle allzusehr mißfallen hat.
Von daher ist mein Erfahrungshorizont etwas eingeschränkter als deiner 
(Expedition würd ich aber gerne mal ausprobieren), allerdings kenne ich 
Altium dafür recht gut und ich arbeite auch sehr gerne damit.

Wenn du wissen wilst wie manches da gelöst ist, vielleicht als 
Inspiration, kann ich dir gerne was beisteuern. :)

von Lukas K. (carrotindustries)


Lesenswert?

Wühlhase schrieb:
> -Die 'Face-to-PCB-Funktion' kann nur mit planen Flächen, aber nicht mit
> runden Flächen. Einen aufrechten Zylinder ausrichten ist kein Problem,
> aber einen liegenden Zylinder ausrichten (z.B. Melf-Bauteile) geht damit
> nicht.
> -Altium findet Snappoints nur an Ecken oder Kanten. Rotationsachsen von
> rotationsymetrischen erkennt Altium leider nicht (was beim Ausrichten an
> Pins oft ärgerlich ist).

Genau deshalb meine Empfehlung, die Modelle davor im MCAD richtig 
auszurichten, denn selbst mit FreeCAD bekommt man das hin.

Aktuell gibt es keine sinnvolle Möglichkeit mit den Modellen in der 
3D-Vorschau zu interagieren, die STEP-Datei wird eingelesen, 
Trianguliert und auf die resultierenden Dreiecke auf die GPU geladen, 
das war's schon.

Schön wäre es schon, die Modelle in horizon ausrichten zu können, doch 
steht das in keiner sinnvollen Relation zum dafür notwendigen Aufwand, 
damit es auch zufriedenstellend funktioniert.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Lukas K. schrieb:
> Schön wäre es schon, die Modelle in horizon ausrichten zu können, doch
> steht das in keiner sinnvollen Relation zum dafür notwendigen Aufwand,
> damit es auch zufriedenstellend funktioniert.

Ein Kompromiss wäre das so zu machen wie in KiCad ... Da kann man mit 6 
Textboxen die Rotation und Translation einstellen.

Für mich war das immer gut genug.

Vlt gibt es ja irgendwann mal die Muse, das dann zu verbessern, aber ich 
würde sagen, besser als nichts :)

von Wühlhase (Gast)


Lesenswert?

Mindestens die XY-Rotation/Position und die Höhe in der Z-Achse 
einzustellen wäre schon schön.

Anders sind viele 3D-Modelle von 3Dcontentcentral leider nicht zu 
verwenden und jede Ausrichtung in Horizon mit einem externen Programm 
macht dies sicher auch nicht gerade zum Vergnügen...

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Wühlhase schrieb:
> Mindestens die XY-Rotation/Position und die Höhe in der Z-Achse
> einzustellen wäre schon schön.

Ah und die Skalierung noch ... Also 9 Parameter ... Rotation, 
Translation, Skalierung :)

Oft sind die Models in inch pro Einheit oder mm pro Einheit ... Evtl 
würde da schon eine Checkbox reichen dann zum umskalieren.

von Lukas K. (carrotindustries)


Lesenswert?

Sodele, seit soeben gibt es es X/Z/Z-Offset und Roll/Pitch/Yaw für 
3D-Modelle. Skalierung kommt dann vielleicht noch, wenn mir jemand ein 
entsprechendes Modell, das Skalierung bedarf, präsentiert.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Lukas K. schrieb:
> Sodele, seit soeben gibt es es X/Z/Z-Offset und Roll/Pitch/Yaw für
> 3D-Modelle. Skalierung kommt dann vielleicht noch, wenn mir jemand ein
> entsprechendes Modell, das Skalierung bedarf, präsentiert.

Gerne, davon hab ich dutzende ... Alle Models, die von mir mit OpenScad 
entworfen wurden haben die falsche Skalierung - oder die richtige, aber 
KiCad nimmt inch statt mm an.

Ich schicke dir morgen etwas.

von Michael H. (overthere)


Lesenswert?

Ich versuche zur Zeit Symbole hierfür zu erstellen. Was mich hier 
irgendwie stört, ist das iterative beim Package erstellen.
Siehe:
https://github.com/carrotIndustries/horizon-pool/pull/20

Könnte man nicht die Regeln genauer definieren, bzw. einen automatischen 
Test einbauen? Ich glaube, wenn man so oft nachbessern musst, hast Du 
Lukas keinen Spaß daran die anderen auf Ihre Fehler hinzuweisen, 
andernseits wirkt es nicht sehr motivierend, wenn man 3 Wochen braucht 
bis ein Package in der Repo ist...
Stell dir mal vor, da kommen 5 heinzel wie ich, die sich genauso dumm 
anstellen... Da kommt man garnicht mehr nach.

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo Mampf.

Mampf F. schrieb:

> Oft sind die Models in inch pro Einheit oder mm pro Einheit ... Evtl
> würde da schon eine Checkbox reichen dann zum umskalieren.

Eine Voreinstellung für "inch oder mm" Anpassung wäre eine feine 
Optimierung. Trozdem ist eine individuelle Einstellung nötig, weil auch 
Modelle kursieren, wo sich jemand beim Umrechenen mm vs. inch und retour 
vertan hat. Sei es das er Multiplikation mit Division verwechselt hat, 
oder aber einen falschen Faktor verwendet hat, oder als Längeneinheit 
preußische Lachter verwendet hat.

Mit freundlichem Gruß: Bernd wiebus alias dl1eic
http://www.l02.de

von Wühlhase (Gast)


Lesenswert?

Lukas K. schrieb:
> Sodele, seit soeben gibt es es X/Z/Z-Offset und Roll/Pitch/Yaw für
> 3D-Modelle. Skalierung kommt dann vielleicht noch, wenn mir jemand ein
> entsprechendes Modell, das Skalierung bedarf, präsentiert.

Hui, schön wie schnell das geht... :)
Wie gesagt, ich freue mich auf das erste Beta-Release.

von Lukas K. (carrotindustries)


Lesenswert?

Michael H. schrieb:
> Stell dir mal vor, da kommen 5 heinzel wie ich, die sich genauso dumm
> anstellen... Da kommt man garnicht mehr nach.

Andere haben es ja hinbekommen, auf Anhieb nahezu Perfekte Symbole, 
Packages etc. abzuliefern, siehe 
https://github.com/carrotIndustries/horizon-pool/pull/7

Ja, genauer spezifizierte Regeln braucht's noch, wobei ich auch erwarte, 
dass sich Leute an bereits vorhandenem orientieren.

Wenn ein Vierfach Und-Gatter im Pool "Quad AND Gate" heißt, dann ist es 
doch naheliegend einen Einzel-Opamp "Single Operational Amplifier" oder 
"Single Opamp" zu nennen, oder? Selbes für die Namen/Prefixe von Gates, 
etc. Einfach gucken wie es nebendran gemacht ist und nachmachen.

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


Lesenswert?

Lukas K. schrieb:
> Wenn ein Vierfach Und-Gatter im Pool "Quad AND Gate" heißt, dann ist es
> doch naheliegend einen Einzel-Opamp "Single Operational Amplifier" oder
> "Single Opamp" zu nennen, oder?

Sollte man das "Single" vielleicht doch weglassen?

Einen einzelnen Transistor nennt man ja auch nicht "Single Transistor",
obwohl es durchaus auch dort "Dual Transistor" gibt.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

1 und 4 davor wäre vielleicht schön kompakt.

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


Lesenswert?

Selbst dann würde ich die 1 weglassen, sonst müsstest du dann auch "1 
Resistor", "1 Capacitor" etc. schreiben (es gibt ja schließlich auch 
Widerstandsarrays).

Ist natürlich Lukas' Sache, welche Richtlinien er herausgibt, und 
wichtiger noch als die genauen Richtlinien ist, dass sie konsequent 
befolgt werden.

von Michael H. (overthere)


Lesenswert?

Und da wären wir beim Thema, es gibt tausend Möglichkeiten, und tausend 
Geschmacksrichtungen =)
Desshalb sagte ich ja, finde ich ein gemeinsames Repository immer 
schwer.
Was hier gut wäre, ist eine Checklist zum Abhaken, am besten wenn das 
Programm es durchcheckt, für die ganz doofen unter uns.
Nur damit bekommt man imho einen Standard rein, und bekommt die 
Geschmacksvarianzen in Griff.

Eine Sache, die ich zum Beispiel sinnvoll finde, ist das Power Gate "Z" 
zu nennen, da es immer das letzte sein sollte. Und so weiß man, das 
jedes Power immer Z heißt.
Aber das ist deine Entscheidung.

Wie gesagt, klare regeln, insbesondere super-verständlicht, und mit 
vielen Bildern würden hier extrem weiterhelfen.

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo Possetitjel.

Possetitjel schrieb:

> Kompatible DATEIFORMATE setze ich eigentlich voraus; notfalls
> tut's ein funktionierender Export/Import.
>
> Aber genau DAS ist ja offensichtlich nicht gegeben.

Da machen sich aber Leute schon einen Kopf drum:
https://lists.launchpad.net/kicad-developers/msg33357.html

Mit freundlichem Gruß: Bernd wiebus alias dl1eic
http://www.l02.de

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Benötige ich einne Github-login um einen remote "upgrade-pool" meines 
lokalen "pools" zu machen?
Siehe screenshot.

: Bearbeitet durch User
von Helmut S. (helmuts)


Lesenswert?

Hallo,

wie bereits vor einiger Zeit erwähnt stellt Lukas "horizon" am Samstag 
auf der FOSDEM in Brüssel vor.

https://fosdem.org/2018/schedule/track/cad_and_open_hardware/

Gruß
Helmut

von Helmut S. (helmuts)


Lesenswert?

Bug-Report
Die Programme in der aktuellen Version auf appveyor.com 
"horizon-2018-02-01-0021.zip" funktionieren nicht in WIN10.
Wenn man die Programme startet, dann passiert einfach nichts.
Die vorletzte Version (31.1.2018?) ging noch.

Wenn ich die source mit mysys2 selber kompiliere funktionien die 
Programme.

: Bearbeitet durch User
von Helmut S. (helmuts)


Lesenswert?

Helmut S. schrieb:
> Benötige ich einen Github-login um einen remote "upgrade-pool" meines
> lokalen "pools" zu machen?
> Siehe screenshot.

Es funktioniert auch (wieder) ohne login. Entweder hatte ich etwas 
falsch gemacht oder jemand hat es gerichtet.
Danke.

von Helmut S. (helmuts)


Lesenswert?

Hallo,

hier mal der Entwicklungsstand und Ausblick auf zukünftige Funktionen 
von horizon basierend auf den Slides die Lukas auf der FOSDEM gezeigt 
hat.
https://fosdem.org/2018/schedule/event/cad_horizon/attachments/slides/2286/export/events/attachments/cad_horizon/slides/2286/presi.pdf

What's working

Workflow from schematic to board
Interactive router
Pool management with GitHub integration
Gerber export
Planes with thermals
Differential Pairs
Buses
3D preview, STEP export
Airwires
Undo/Redo
Copy/Paste
DRC (Design rules and checks)


Coming soon

Pool Convention (WIP)
UI polish
Assembly drawings
Title blocks
BOM export
ERC
Hierachical designs
Better PDF export
Performance


Link auf das Projekt in Github
https://github.com/carrotIndustries/horizon

Helmut

von chris (Gast)


Lesenswert?

>Das Problem an den Normen ist, dass sie in den 70ern stehen geblieben
>sind bzw. darauf aufbauen, das elektronische Schaltungen wie
>Schaltschränke aus genormten und austauschbaren Bauteilen bestehen.

Vor kurzem kam mal ein Radiobeitrag zur DIN-Normungs Komission. 
Tatsächlich ist das eine private Instituion und theoretisch kann jeder 
Privatmann einen Vorschlag zur Normung von Irgendwas einwerfen.

Die meisten größeren Elektronikfirmen haben in ihren PCB-Abteilungen 
Leute, die nichts anders machen als Bauteile anlegen.
Ich halte das für eine völlige Blindleistung. Das Ideal wäre, man 
bekommt die Designdaten fertig vom Hersteller inclusive der 3D-Daten und 
keiner muss in irgendwelchen CAD-Programmen Bauteile neu anlegen. Ginge 
alles, wenn es eine einheitlich Norm für das Datenformat gäbe.

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo Chris.

chris schrieb:

> Ich halte das für eine völlige Blindleistung. Das Ideal wäre, man
> bekommt die Designdaten fertig vom Hersteller inclusive der 3D-Daten und
> keiner muss in irgendwelchen CAD-Programmen Bauteile neu anlegen.

Das würde so auch nur in 80% aller Fälle funktionieren. Weil viele eben 
halt eine eigene Interpretation vom idealen Footprint haben.

In einer Firma, wo ich einmal gearbeitet habe, wurden z.B. die Bohrungen 
aller THT Bauteile gegenüber der Originalbibliothek des Layoutprogrammes 
vergrößert.
In einer anderen Firma wurden für bestimmte Anschlüsse extragrosse Pads 
verwendet....

Aber eine solche Bibliothek könnte zur Konstruktion von angepassten 
Varianten verwendet werden.

Mal abgesehen davon, das Tom Hausherr vorschlägt, für unterschiedlich 
dichte Layouts unterschiedliche Footprints für das gleiche Bauteil zu 
verwenden. Möglichst grob für robustes Design, wenn der Platz langt, 
aber feiner werdent, wenn der zur Verfügung stehende Platz kleiner wird.

http://www.innofour.com/3783/news/literature/pcb-design-perfection-starts-in-the-cad-library/pcb-design-perfection-starts-in-the-cad-library-part-1
Teil 1. Teil 2 und folgende gibt es hier: 
https://blogs.mentor.com/tom-hausherr/blog/2010/09/22/pcb-design-perfection-starts-in-the-cad-library-part-2/

> Ginge
> alles, wenn es eine einheitlich Norm für das Datenformat gäbe.

Was hälst Du von Snapeda oder dem Digikey Ansatz?
https://www.snapeda.com/
https://www.digikey.de/de/news/press-releases/2017/aug/digi-key-adds-kicad-pcb-model-download

Eine einheitliche Norm müsste offen sein, und gut verbreitet.

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de

: Bearbeitet durch User
von tester (Gast)


Lesenswert?

So, heute bin ich mal bleeding-edge. Ich wollte horizon auf xubuntu 
18.04 beta 1 compilieren. Es kommt die Fehlermedlung "GLM_GTX_transform 
is an experimental extension". Gut ein, #define GLM_ENABLE_EXPERIMENTAL 
fixed das Problem, wollte das nur mal erwähnen.

In file included from /usr/include/glm/gtx/rotate_vector.hpp:18:0,
                 from src/canvas3d/canvas3d.cpp:14:
/usr/include/glm/gtx/transform.hpp:23:3: error: #error "GLM: 
GLM_GTX_transform is an experimental extension and may change in the 
future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you 
really want to use it."
 # error "GLM: GLM_GTX_transform is an experimental extension and may 
change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before 
including it, if you really want to use it."
   ^~~~~
In file included from src/canvas3d/canvas3d.cpp:14:0:
/usr/include/glm/gtx/rotate_vector.hpp:21:3: error: #error "GLM: 
GLM_GTX_rotate_vector is an experimental extension and may change in the 
future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you 
really want to use it."
 # error "GLM: GLM_GTX_rotate_vector is an experimental extension and 
may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before 
including it, if you really want to use it."
   ^~~~~

von Murmele (Gast)


Lesenswert?

Für LINUX:

Unter folgendem Link findet ihr ein Flatpak manifest um Horizon als 
Flatpak Paket zu installieren. Im Moment wird im Manifest auf mein 
Repository gezeigt, da der Pull request noch offen ist.

Um das Flatpak manifest auszuführen, müsst ihr vorher flatpak und 
flatpak-builder installieren.

Sobald ihr diese installiert habt, müsst ihr aus meinem Repo 
(https://github.com/Murmele/horizon/tree/flatpak) die Datei 
"net.carrotIndustries.horizon.json" aus dem Pfad 
ressources/linux/Flatpak herunterladen. Das Paket könnt ihr dann mit den 
folgenden 3 Befehlen auf eurem Rechner installieren.

flatpak-builder --repo=meinRepo --force-clean Horizon 
net.carrotIndustries.horizon.json
flatpak remote-add meinRepo meinRepo --no-gpg-verify
flatpak install meinRepo net.carrotIndustries.horizon

"meinRepo" ist dabei ein beliebig gewählter Name für ein Repository

Ich hoffe ihr könnt es damit einfach installieren :)

von Murmele (Gast)


Lesenswert?

Hier noch der Link zum originalen Git Repo: 
https://github.com/carrotIndustries/horizon

von Murmele (Gast)


Lesenswert?

Murmele schrieb:
> Sobald ihr diese installiert habt, müsst ihr aus meinem Repo
> (https://github.com/Murmele/horizon/tree/flatpak) die Datei
> "net.carrotIndustries.horizon.json" aus dem Pfad
> ressources/linux/Flatpak herunterladen

Sorry das ist falsch, ladet den Ganzen Ordner Flatpak runter, da einige 
Module übersichtshalber in eigene Dateien ausgelagert wurden, welche im 
Ordner Flatpak/modules zu finden sind

von Murmele (Gast)


Lesenswert?

Hier findet ihr das erstellte Flatpak Paket, damit ihr es nicht lange 
kompilieren müsst:
https://www.dropbox.com/s/r4vpml656xio931/HorizonFlatpak.zip?dl=0

Entpackt die Datei und betretet den Ordner. Wenn ihr diese beiden 
Befehle ausführt, dann wird das Paket installiert.
flatpak remote-add meinRepo2 meinRepo2 --no-gpg-verify
flatpak install meinRepo2 net.carrotIndustries.horizon

Zum deinstallieren:
flatpak uninstall net.carrotIndustries.horizon
flatpak remote-delete meinRepo2

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Hallo Lukas,

Ich habe mir gerade die neueste Windows-Version von horizon 
heruntergeladen.

horizon-2018-04-02-1257.zip

Der Pool-mamager horizon-pool-mgr.exe läuft nicht mehr wegen fehlender 
DLL libbrotildec.dll.

Kannst du das beheben?

Gruß
Helmut

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Helmut S. schrieb:
> Der Pool-mamager horizon-pool-mgr.exe läuft nicht mehr wegen fehlender
> DLL libbrotildec.dll.

Bin zwar nicht Lukas, aber brotli ist glaub ich eine Bibliothek mit 
Kompressionsalgorithmen von Google.

Vlt ein Anhaltspunkt, wie du das nachinstallieren könntest.

: Bearbeitet durch User
von Lukas K. (carrotindustries)


Lesenswert?

Helmut S. schrieb:
> Kannst du das beheben?

Ist im aktuellen Build behoben, libcurl hatte brotli als neue 
Abhängigkeit bekommen.

von Sub-Sub (Gast)


Lesenswert?

ich würde auch mal gerne versuchen die Software zu übersetzen.
Allerdings würd ich mich da lieber auf das CMake Build System stürzen.

Daher die Frage wie bekomme ich denn diesen Pull Request

https://github.com/carrotIndustries/horizon/pull/111

auf meinen Rechner ?

Die Frage ist auch ob Lukas K. auch auf CMake umschwenkt ?

von Klaus (Gast)


Lesenswert?

Da muss ich W.S. voll zustimmen, die Basics müssen laufen, dann kommen 
die Spielsachen dran!
Und ich sehne gerade nur Spielkram, dabei hatte ich mich so auf das 
Program gefreut.

Ich muss noch ergänzen das die meisten User unfähig sind den Code zu 
übersetzen. Ich selber kann das auch nur in einer VM machen, weil nur da 
alle die benötigten Tools drauf sind.

Da wäre es recht hilfreich wenn es gelegentlich eine Installation geben 
würde.
VG, Klaus

von Uwe (Gast)


Lesenswert?

Super, wenn du eine Installation hast, dann stell die doch mal zur 
Verfügung. Da würden sich bestimmt viele freuen. Ein Debian-Paket gibt 
es übrigens seit kurzem in Debian sid.

von Klaus (Gast)


Lesenswert?

Windows! Und das ist jetzt auch schon älter.

Aber eignetlich ist es doch nicht Sinn und Zweck der User es bereit 
zustellen. Das Programm will ja weiter kommen und da ist es immer gut 
Testversion raus zugeben.

Es ist zwar nicht SOOOO kompliziert aber es war auch schon für mich eine 
nervige Sache alles auf den Rechner zubekommen. Es macht halt keinen 
Spass zig Pakete zuladen nur um entlich mal den Compiler anwerfen 
zukönnen.
Ich stehe immer auf ein Repro laden und Compiler starten, alles andere 
ist nur nervig.
Besser ist nur einen Installer zu laden und zur Sicherheit zugriff auf 
den Code zu haben, ändern kann ich da sowieso nichts.

Na super W.S. hatte auf der 1. Seite unten seinen Kommentar abgegeben 
und ich wurde mal wieder nicht ans richtige Ende geleitet.
Aber sein Kommentar stimmt auch noch Heute!

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo Klaus.

Klaus schrieb:

> Da muss ich W.S. voll zustimmen, die Basics müssen laufen, dann kommen
> die Spielsachen dran!

Gerade W.S. ist dabei aber ein Problem. Wenn irgendein Tool nur die 
grundlegenden Funktionen bereitstellt, bemängelt er mangelnde 
Userfreundlichkeit. ;O)

> Und ich sehne gerade nur Spielkram, dabei hatte ich mich so auf das
> Program gefreut.

Das nächste Problem: Für den einen ist dieses wichtig und jenes 
Spielkram.
Und für den Nächsten, der vorbeikommt, ist es genau umgekehrt. ;O)

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de

von Lukas K. (carrotindustries)


Lesenswert?

Klaus schrieb:
> Aber sein Kommentar stimmt auch noch Heute!

Ich will jetzt hier keine Trolle füttern, aber auch keine falschen 
Tatsachen im Raum stehen lassen: 
Beitrag "Re: Neues, halbfertiges Elektronik-CAD-Programm"

Seit fast 3 Monaten fällt zu jedem commit automatisch ein zip raus, das 
man sich nur runterladen und auf eine der exe-Dateien mit icon 
doppelklicken muss.

Sub-Sub schrieb:
> Die Frage ist auch ob Lukas K. auch auf CMake umschwenkt ?

Das mit cmake ist bis auf weiteres auf leider auf Eis: 
https://github.com/carrotIndustries/horizon/pull/111#issuecomment-375812240

von Sub-Sub (Gast)


Lesenswert?

Lukas K. schrieb:
> Das mit cmake ist bis auf weiteres auf leider auf Eis:
> https://github.com/carrotIndustries/horizon/pull/111#issuecomment-375812240

Das kann ich nicht verstehen.

Tatsächlich würde ich nur dann versuchen die SW zu bazuen wenn es auf 
CMake bassiert.

von Klaus (Gast)


Lesenswert?

Das mit "Artifacts" und der Zip-Datei hatte ich übersehen.

Mein letztes eigenes Build ist jetzt auch gut 3 Monate alt, werde heute 
gleich mal die neueste Version testen.

Den Download haben die aber gut verseckt, ich wollte schon hier mich 
beschwerden.

von Bernd K. (prof7bit)


Lesenswert?

Sub-Sub schrieb:
> Tatsächlich würde ich nur dann versuchen die SW zu bazuen wenn es auf
> CMake bassiert.

Dann fahr mal ganz schnell Deinen Rechner runter. 95% der Software da 
drauf sind ohne cmake gebaut.

von Sub-Sub (Gast)


Lesenswert?

Bernd K. schrieb:
> Dann fahr mal ganz schnell Deinen Rechner runter. 95% der Software da
> drauf sind ohne cmake gebaut.

Tatsächlich ? ich hab einen windows Rechner und da bau ich sonst gar nix 
selber. aber bei dem Horizon würde mich das schon interessieren

von Helmut S. (helmuts)


Lesenswert?

Sub-Sub schrieb:
> Bernd K. schrieb:
>> Dann fahr mal ganz schnell Deinen Rechner runter. 95% der Software da
>> drauf sind ohne cmake gebaut.
>
> Tatsächlich ? ich hab einen windows Rechner und da bau ich sonst gar nix
> selber. aber bei dem Horizon würde mich das schon interessieren

Mit der Anleitung von der Webseite kann sogar jeder "Nicht-Softwerker" 
erfolgreich kompilieren. Was will man mehr.

von Zweig (Gast)


Lesenswert?

Was will man mehr:
Das ganze in Clion einbinden. Ich hab da eine Lizenz dafür.

von Bernd K. (prof7bit)


Lesenswert?

Zweig schrieb:
> Das ganze in Clion einbinden. Ich hab da eine Lizenz dafür.

CLion kann nicht mit Projekten zurechtkommen die ihr eigenes Buildsystem 
mitbringen? Das mag ich kaum glauben, ehrlich jetzt. Immerhin kostet das 
Ding Geld und soll angeblich ziemlich gut sein. Ein beliebiges 
existierendes Build-System benutzen zu können halte ich im Jahr 2018 für 
Stand der Technik bei einer C oder C++ IDE.

von tester (Gast)


Lesenswert?

tester schrieb:
> So, heute bin ich mal bleeding-edge. Ich wollte horizon auf xubuntu
> 18.04 beta 1 compilieren. Es kommt die Fehlermedlung "GLM_GTX_transform
> is an experimental extension". Gut ein, #define GLM_ENABLE_EXPERIMENTAL
> fixed das Problem, wollte das nur mal erwähnen.

Bin ich eigentlich der einzige, der dieses Problem hat? Ich wollte 
gerade eben (mal wieder) einen aktuellen build machen und habe dazu 
meine Änderung gelöscht (git stash), da canvas3d.cpp aktualisiert werden 
sollte.
Anscheinend ist die "Unverträglichkeit" mit Ubuntu 18.04 beta immer noch 
drin.
Ich habe jetzt im Makefile bei den DEFINES ein 
"-DGLM_ENABLE_EXPERIMENTAL" ergänzt.

von Michael W. (Gast)


Lesenswert?

Habe ein ähnlichs Problem, allerdings mit Debian. Wird es da langsam mal 
fertige executables geben? Dann sonst müsste Ich dem beipflichten:

Klaus schrieb:
> Ich muss noch ergänzen das die meisten User unfähig sind den Code zu
> übersetzen. Ich selber kann das auch nur in einer VM machen, weil nur da
> alle die benötigten Tools drauf sind.

von Zweig (Gast)


Lesenswert?

Bernd K. schrieb:
> Zweig schrieb:
>> Das ganze in Clion einbinden. Ich hab da eine Lizenz dafür.
>
> CLion kann nicht mit Projekten zurechtkommen die ihr eigenes Buildsystem
> mitbringen? Das mag ich kaum glauben, ehrlich jetzt. Immerhin kostet das
> Ding Geld und soll angeblich ziemlich gut sein. Ein beliebiges
> existierendes Build-System benutzen zu können halte ich im Jahr 2018 für
> Stand der Technik bei einer C oder C++ IDE.

Daran sieht man das du in dem Bereich keine Ahnung hast. Clion kann nur 
mir CMake Dateien. Eine moderne Entwicklung würde ich ausschließlich mit 
cmake durchführen. Der Grund ist noch nicht einmal Clion sondern eher 
die Features von cmake. cmake ist ein Build „Generator“ mit dem sich 
make und Projekt Dateien für verschiedene Entwicklungs Umgebungen 
generieren lassen. Sogar Microsoft Visual Studio wird unterstützt. Und 
es kann auch alle Abhängigkeiten zu anderen Paketen auflösen.

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


Lesenswert?

Zweig schrieb:
> Eine moderne Entwicklung würde ich ausschließlich mit cmake durchführen.

Tja, als nächstes kommt dann die SCons-Fraktion und stellt fest, dass
sie eine „moderne Entwicklung“ ausschließlich mit SCons durchführen
würde …

Leute, das ist bislang einfach mal Lukas' Entscheidung, und eine
Diskussion über eine Änderung des Buildsystems in diesem Thread ist
müßig.

von Zweig (Gast)


Lesenswert?

Jörg W. schrieb:

> Leute, das ist bislang einfach mal Lukas' Entscheidung, und eine
> Diskussion über eine Änderung des Buildsystems in diesem Thread ist
> müßig.

Da hast du völlig Recht!!!

Mir ist halt durch den Kopf gemurmelt ein Import für Eagle Dateien 
hinzuzufügen..., mal sehen ...

von Bernd K. (prof7bit)


Lesenswert?

Markus W. schrieb:
> Habe ein ähnlichs Problem, allerdings mit Debian. Wird es da langsam mal
> fertige executables geben?

Jemand der Zeit hat könnte ja mal den Buildvorgang dockerisieren, am 
besten so daß alles statisch gelinkt wird.

von Bernd K. (prof7bit)


Lesenswert?

Zweig schrieb:
> Daran sieht man das du in dem Bereich keine Ahnung hast. Clion kann nur
> mir CMake Dateien.

Was hat das mit "Bereich keine Ahnung" zu tun wenn irgendeine 
kommerzielle IDE ein grundessentielles Feature nicht gebacken bekommt, 
dann kommt sie halt auch weiterhin nicht in die engere Wahl solange sie 
nicht mit 99% der existierenden Projekte zurecht kommt, so einfach ist 
das.

von tester (Gast)


Lesenswert?

tester schrieb:
> Ich habe jetzt im Makefile bei den DEFINES ein -DGLM_ENABLE_EXPERIMENTAL" 
ergänzt.

Das liegt daran, dass Ubuntu 18.04 (ob beta oder final ist egal) glm 
0.9.9 verwendet, und dort ist das feature "GLM_GTX_transform" halt nur 
via GLM_ENABLE_EXPERIMENTAL verfügbar. Bleibt die Frage an Lukas, warum 
man das nicht ins Makefile einbauen kann?

von Lukas K. (carrotindustries)


Lesenswert?

tester schrieb:
> Bleibt die Frage an Lukas, warum
> man das nicht ins Makefile einbauen kann?

Muss ich wohl übersehen haben, ist jetzt drin.

von tester (Gast)


Lesenswert?

Danke!

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Hallo Lukas,

der horizon-pool-mgr.exe bringt eine Fehlermeldung, weil in der neuesten 
Version für Windows mindestens eine DLL fehlt.
Siehe Anhang.

Gruß
Helmut

: Bearbeitet durch User
von Lukas K. (carrotindustries)


Lesenswert?

Helmut S. schrieb:
> Version für Windows mindestens eine DLL fehlt.

Ist repariert.

Wie auch letztes Jahr gibt's auch dieses Jahr auf der 
Gulaschprogrammiernacht einen Vortrag von mir zu horizon: 
https://entropia.de/GPN18:Fahrplan#Samstag.2C_12.05.2018 Samstag 19:00

von Helmut S. (helmuts)


Lesenswert?

Lukas K. schrieb:
> Helmut S. schrieb:
>> Version für Windows mindestens eine DLL fehlt.
>
> Ist repariert.
>

Hallo Lukas,

danke für die jetzt mitgelieferte DLL.


> Wie auch letztes Jahr gibt's auch dieses Jahr auf der
> Gulaschprogrammiernacht einen Vortrag von mir zu horizon:
> https://entropia.de/GPN18:Fahrplan#Samstag.2C_12.05.2018 Samstag 19:00

https://entropia.de/GPN18:horizon_EDA_-_ein_Jahr_sp%C3%A4ter

Dem versprochenen Inhalt nach könnte das ein Ersatz für ein "user 
manaual" werden.
Wird das ein live stream und/oder wird es eine Aufzeichnung geben die 
man später herunterladen kann?

Gruß
Helmut

von Lukas K. (carrotindustries)


Lesenswert?

Helmut S. schrieb:
> Wird das ein live stream und/oder wird es eine Aufzeichnung geben die
> man später herunterladen kann?

Jep, C3VOC sei dank: Stream gibt's auf 
https://streaming.media.ccc.de/gpn18 und recordings landen dann auf 
https://media.ccc.de/

von Michel M. (elec-deniel)


Lesenswert?

Genial,
Merci für die Info

von Michel M. (elec-deniel)


Lesenswert?

und hier ..... schon online :-)
https://www.youtube.com/watch?v=SeXDP0GazEs

von Alexander S. (alesi)


Lesenswert?

... und hier direkt von der media.ccc.de Seite

  https://media.ccc.de/v/gpn18-136-horizon-eda-ein-jahr-spter

von Tuxpilot (Gast)


Lesenswert?

Ich habe mir heute das Repository „horizon.git“ geholt und mit make 
kompiliert. Nach dem Aufruf des Linkers gab es keine weiteren Meldungen 
von make. Es sind einige ausführbare Dateien entstanden, die sich auch 
ausführen lassen.

Alle starten. Alle ausser horizon-pool-mgr zeigen keine GUI bevor sie 
abstürzen. horizon-pool-mgr kann das pool-Repository herunterladen und 
eine Datenbank anlegen, und stürtzt dabei erst ab. (Mit der Option 
--help funktionieren alle Programme wie man es erwartet oder tun gar 
nichts.)

Hier die Ausgabe in der Konsole:
1
tuxpilot@elf:~/horizon/horizon$ ./horizon/horizon-pool-mgr
2
3
(horizon-pool-mgr:18103): dbind-WARNING **: 04:52:45.566: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
4
SELECT parts.uuid, parts.MPN, parts.manufacturer, packages.name, GROUP_CONCAT(tags.tag, ' '), parts.filename, parts.description, FROM parts LEFT JOIN tags ON tags.uuid = parts.uuid LEFT JOIN packages on packages.uuid. parts.package WHERE parts.MPN LIKE ? AND parts.manufacturer LIKE ? AND (parts.entity=? or ?) GROUP BY parts.uuid ORDER BY parts.MPN COLLATE naturalCompare ASC
5
SELECT parts.uuid, parts.MPN, parts.manufacturer, packages.name, GROUP_CONCAT(tags.tag, ' '), parts.filename, parts.description, FROM parts LEFT JOIN tags ON tags.uuid = parts.uuid LEFT JOIN packages on packages.uuid. parts.package WHERE parts.MPN LIKE ? AND parts.manufacturer LIKE ? AND (parts.entity=? or ?) GROUP BY parts.uuid ORDER BY parts.MPN COLLATE naturalCompare ASC
6
gl error 1282 in src/canvas/canvas_gl.cpp: 138
7
Aborted (core dumped)
8
tuxpilot@elf:~/horizon/horizon$ ./horizon-imp -y
9
terminate called after throwing an instance of 'std::out_of_range'
10
 what():  vector::_M_range_check: __n (which is 0) >= this->size() (which is 0)
11
Aborted (core dumped)
12
tuxpilot@elf:~/horizon/horizon$ ./horizon-pool-update-parametric
13
created db from shema
14
terminate called after throwing an instance of 'std::runtime_error'
15
  what():  unable to open database file
16
Aborted (core dumped)

Ich habe Lubuntu 18.04 LTS (alternate, 64 Bit) in einer VirtualBox. Da 
habe ich mit aptitude die Pakete installiert, die in 
https://github.com/carrotIndustries/horizon/wiki/Building-horizon-on-Linux 
aufgezählt sind, das Repository geklont, und make aufgerufen.

g++ -v schreibt: gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)
Kompiliert habe ich mit folgender angepasster Zeile im Makefile, da 
(zumindest in Ubuntu 18.04) einige header-Dateien in Unterverzeichnissen 
von /usr/include landen, wo der Compiler sie nicht findet.
1
INC = -Isrc -I3rd_party -I/usr/include/uuid/ -I/usr/include/glib-2.0/ -I/usr/lib/x86_64-linux-gnu/glib-2.0/include/

Mache ich etwas falsch, oder liegt es an Ubuntu 18.04? Ich kann es ja 
noch mal mit 17.10 versuchen... (Ich habe es auch hier auf dem 
Hostsystem KDE Neon 5:12.5 versucht, aber da fehlt GTK, wegen Ubuntu 
16.04 LTS.)

Schade, ich hatte gehofft, endlich einen Platinenlayouter gefunden zu 
haben, der mir gefällt...

von Tuxpilot (Gast)


Lesenswert?

Ach ja:
Der dbind-WARNING-Kram kommt in Lubuntu bei allen GTK-Anwendungen, 
scheint aber keine Probleme zu verursachen.

von Lukas K. (carrotindustries)


Lesenswert?

Von den Binaries, die aus dem Build rausfallen sind nur horizon-pool-mgr 
und horizon-prj-mgr unmittelbar verwendbar. Der eigentliche Fehler ist 
der hier:

> gl error 1282 in src/canvas/canvas_gl.cpp: 138

Was für eine GPU hast du?

Um den Fehler weiter einzugrenzen, füge mal GL_CHECK_ERROR (wie in Zeile 
138) nach jedem Funktionsaufruf in 
https://github.com/carrotIndustries/horizon/blob/master/src/canvas/canvas_gl.cpp#L99 
ein.

von Tuxpilot (Gast)


Lesenswert?

Ich habe eine Radeon HD 6850, was das für die virtuelle Maschine 
bedeutet, weiß ich nicht.

Gast:
tuxpilot@elf:~$ glxinfo | grep "OpenGL version"
OpenGL version string: 3.0 Mesa 18.0.0-rc5

Host:
$ glxinfo | grep "OpenGL version"
OpenGL version string: 3.0 Mesa 17.2.8

VirtualBox Graphical User Interface Version 5.1.34_Ubuntu r121010

Ich habe GL_CHECK_ERRORs in canvas_gl.cpp eingefügt. Der Fehler tritt 
nun in Zeile 101 (ohne GL_CHECK_ERROR-Zeilen) auf:
1
void CanvasGL::resize_buffers()
2
{
3
    […]
4
    GL_CHECK_ERROR
5
    glRenderbufferStorageMultisample(GL_RENDERBUFFER, num_samples, GL_RGBA8, width, height);
6
    GL_CHECK_ERROR // Fehler hier.
7
    […]
8
}

Wenn ich die Zeile auskommentiere, erscheint eine Liste mit Bauteilen 
und eine grafische Fehlermeldung: Could not set up framebuffer, in der 
Konsole steht gl error in Zeile 176. Wenn ich die Zeile auch 
auskommentiere, ist es Zeile 178–180. (So lößt man auch keine Probleme, 
habe es also verdient.)

von Helmut S. (helmuts)


Lesenswert?

Hallo tuxpilot,

falls du auf dem gleichen PC auch ein WIN7,8,10 installiert hast, kannst 
du ein fertig kompiliertes horizon herunterladen um mal zu testen, ob es 
an der Grafikkarte liegt.

https://ci.appveyor.com/project/carrotIndustries/horizon/build/artifacts

Diese Version ist immer top-aktuell da die automatisch bei jedem 
"commit" kompiliert wurde.

: Bearbeitet durch User
von Tuxpilot (Gast)


Angehängte Dateien:

Lesenswert?

Helmut S. schrieb:
> falls du auf dem gleichen PC auch ein WIN7,8,10 installiert hast […]

Nö, Tuxpilot hat hier kein Windoof.

Ich habe versucht, die .exes aus dem .zip mit Wine auszuführen (auch im 
virtuellen Lubuntu 18.04 LTS), die Backtraces habe ich sinnloserweise 
angehängt.

Aber ich habe eine Festplatte mit Windows 7 32bit gefunden und in meinen 
Computer geschoben.
<blabla>
Ich habe GRUB dazu bewegt, dieses Windows zu starten. Windows war fest 
davon überzeugt, es müsste für meinen MCP2200 ein paar Treiber suchen, 
und hat erst nach einer Minute aufgegeben. Für die anderen MCP2200 ging 
das ganze jeweils von vorne los... Schließlich konnte ich mit einem 
vorhandenem 7zip das .zip entpacken, was 25 Minuten gedauert hat. 
(Virtuelles Lubuntu: nur 2 Minuten...) Naja, die .exes wurden erstmal in 
Inkscape geöffnet. Hä!?
</blabla>

Schließlich hat Windows mir verraten, dass es nur 32bit ist, war also 
alles sinnlos. :(

Ich habe einen Freund mit einer Radeon HD 6950 gefragt, ob er das fertig 
kompilierte Horizon testen kann. Wenn es an der Grafikkarte liegt, 
müsste er ja das gleiche Problem haben?

von Lukas K. (carrotindustries)


Lesenswert?

Die in VMs emulierten GPUs tun sich mit OpenGL 3 bisweilen schwer, hast 
du es mal nativ probiert?

Die Radeon HD 6950 ist mehr als neu genug.

von Helmut S. (helmuts)


Lesenswert?

Lukas K. schrieb:
> Die in VMs emulierten GPUs tun sich mit OpenGL 3 bisweilen schwer, hast
> du es mal nativ probiert?
>
> Die Radeon HD 6950 ist mehr als neu genug.

Da bin ich gespannt, weil ein Rechner MAC(Bootcamp WIN10) mit HD5800 
geht bei mir nicht.

"AMDs im Oktober vorgestellte Barts-GPU (Radeon HD 6800) war keine echte 
Neuentwicklung, sondern im Grunde genommen ein Hybrid verschiedener 
Radeon-HD-5000-Rechenkerne inklusive einiger kleineren Verbesserungen 
..."
Seite 3 von 
https://www.computerbase.de/2010-12/test-amd-radeon-hd-6970-und-hd-6950/3/

von MitLeserin (Gast)


Lesenswert?

Win7/64 installation mit horizon-2018-05-20-1700.zip

20.Mai 2018
***********

c:\horizon\horizon mit exe, dll, ...
c:\horizon\horizon-pool-master mit pool-master: pool.json ...
c:\horizon\horizon-test-project-master mit test-project: pic32-eth.hprj 
...

horizon-pool-mgr.exe funktioniert
horizon-project-manager funktioniert
add pool funktioniert
add project funktioniert

schematic:

this application has requested the runtime to terminate it in an unusual 
way - win7: imp.exe funktioniert nicht mehr - terminate

board:

this application has requested the runtime to terminate it in an unusual 
way - win7: imp.exe funktioniert nicht mehr - terminate

part browser.

this application has requested the runtime to terminate it in an unusual 
way - win7: prj-mgr funktioniert nicht mehr - terminate

pool chache :

funktioniert


Kann leider keine spezifischeren Fehlermeldungen liefern.

Alexandra

von Helmut S. (helmuts)


Lesenswert?

Hallo Alexandra,
ich habe die horizon-2018-05-20-1700.zip auf zwei PCs mit WIN10 
getestet. Es funktioniert genauso wie auch die früheren Versionen.

Meine Verzeichnisstruktür sieht so aus:

C:\horizon

In dem verzeichnis packe ich immer den zip-File aus. Danach habe ich

C:\horizon\horizon

In dem Verzeichnis habe ich auch meinen Pool

C:\horizon\pool1

und das Test-Projekt(Schaltplan, Layout) von der Github-Siete.

C:\horizon\hotizon-test-project-master


Man startet nur 2 Programme - horizon-pool-mgr.exe und/oder 
horizon-prj-mgr.exe. Alle anderen exe siind nicht für den Anwender 
gedacht.


1.
Mit dem File-Explorer in diesen Ordner der exe-Dateinen wechseln.

C:\horizon\horizon

horizon-pool-mgr.exe starten (Doppelklick).

Im pool-mamanger dann einen Pool auswählen.
Wenn man den hat, dann gibt es oben im Menu ein Feld "Remote". Da 
draufklicken. dann Upgrade pool. Dann Merge.

Den horizon pool manager schließen.


2. Das Projekt öffnen.

horizon-prj-mgr.exe Doppelklick

Ganz links oben auf das schwarze "horizon icon" klicken -> Preferences
und mit "Add pool" einen pool auswählen, falls da noch keiner gesetzt 
ist.
Zurück ins Hauptmenu.

"Open" und das Projekt anwählen z. B. das heruntergeladen Project
pic32-eth.hprj

Jetzt hat man es fast geschafft.

Es gibt jetzt vier buttons.
"Top Schematic"  "Board"  "Part browser"  "Pool Cache"

"Pool Cache" wählen falls man updaten will (mach ich meistens).
Falls es etwas neues für das Projekt gibt, die neuen Teile anklicken und 
dann "Update from pool".
Pool Cache schließen.

Jetzt auf "Top Schematic" oder "Board "klichen zum Öffnen des 
Schaltplanes oder Layouts.


Nachtrag:
Bei weiteren updates des Programms entpacke ich einfach den zip-file in 
C:\horizon und lasse das Unterverzeichnis horizon überschreiben.
C:\horizon\horizon

: Bearbeitet durch User
von Toxic (Gast)


Lesenswert?

Mittlerweile dauert es mehr als 4 Minuten um diesen Thread zu oeffnen - 
bei einer 3Mbit-Leitung.
Macht fuer mich keinen Sinn mehr mitzulesen oder etwas beizutragen.

von MitLeserin (Gast)


Lesenswert?

@Helmut S

danke für die Rückmeldung.

Auch mit veränderter Verzeichnis-Struktur erzeugen die aus 
horizon-prj-mgr aufgerufenen Funktionen in meinem Win7/64 
AppCrash-Laufzeitfehler

Hardware: Toshiba-L770-14N-Notebook mit IntelGraphics

PartBrowser :

horizon-prj-mgr.exe crasht und wird beendet:

Problemsignatur:
  Problemereignisname:  APPCRASH
  Anwendungsname:  horizon-prj-mgr.exe
  Anwendungsversion:  0.0.0.0
  Anwendungszeitstempel:  00000000
  Fehlermodulname:  horizon-prj-mgr.exe
  Fehlermodulversion:  0.0.0.0
  Fehlermodulzeitstempel:  00000000
  Ausnahmecode:  40000015
  Ausnahmeoffset:  000000000011f22a
  Betriebsystemversion:  6.1.7601.2.1.0.256.48
  Gebietsschema-ID:  2055
  Zusatzinformation 1:  0252
  Zusatzinformation 2:  0252b7e8806be3f352f78783978e4b54
  Zusatzinformation 3:  0816
  Zusatzinformation 4:  0816dc325007f9d08cf3f87eb61e4aa0

Board :

horizon-imp.exe crasht und wird beendet,
horizon-prj-mgr.exe funktioniert weiter

Problemsignatur:
  Problemereignisname:  APPCRASH
  Anwendungsname:  horizon-imp.exe
  Anwendungsversion:  0.0.0.0
  Anwendungszeitstempel:  00000000
  Fehlermodulname:  horizon-imp.exe
  Fehlermodulversion:  0.0.0.0
  Fehlermodulzeitstempel:  00000000
  Ausnahmecode:  40000015
  Ausnahmeoffset:  00000000002f63ca
  Betriebsystemversion:  6.1.7601.2.1.0.256.48
  Gebietsschema-ID:  2055
  Zusatzinformation 1:  f3cb
  Zusatzinformation 2:  f3cb96d6f8d6bdc527a608eb82d9985c
  Zusatzinformation 3:  3461
  Zusatzinformation 4:  34610f60121e0543dce0d79c85026758

Top Schematic:

horizon-imp.exe crasht und wird beendet,
horizon-prj-mgr.exe funktioniert weiter

Problemsignatur:
  Problemereignisname:  APPCRASH
  Anwendungsname:  horizon-imp.exe
  Anwendungsversion:  0.0.0.0
  Anwendungszeitstempel:  00000000
  Fehlermodulname:  horizon-imp.exe
  Fehlermodulversion:  0.0.0.0
  Fehlermodulzeitstempel:  00000000
  Ausnahmecode:  40000015
  Ausnahmeoffset:  00000000002f63ca
  Betriebsystemversion:  6.1.7601.2.1.0.256.48
  Gebietsschema-ID:  2055
  Zusatzinformation 1:  f3cb
  Zusatzinformation 2:  f3cb96d6f8d6bdc527a608eb82d9985c
  Zusatzinformation 3:  3461
  Zusatzinformation 4:  34610f60121e0543dce0d79c85026758

PoolChache:
 funktioniert

von Lukas K. (carrotindustries)


Lesenswert?

@MitLeserin:

Ich hab' mal das Error-Reporting für OpenGL-Fehler auf Windows 
verbessert, damit man auch ohne Konsole sieht wo es hingefallen ist: 
https://ci.appveyor.com/project/carrotIndustries/horizon/build/1.0.197/artifacts

von Helmut S. (helmuts)


Lesenswert?

@Mitleserin
>  i3-2350M

Ich vermute, dass da die integrierte Grafik zu alt ist.

Versuch es mal mit einem neueren PC.

Ich schreibe gerade auf einem i5-4250U Laptop mit integrierter 
Grafikeinheit. Darauf läuft horizon problemlos.

Gruß
Helmut

: Bearbeitet durch User
von Tuxpilot (Gast)


Lesenswert?

Tuxpilot schrieb:
> Ich habe mir heute das Repository „horizon.git“ geholt und mit make
> kompiliert. […] horizon-pool-mgr […] stürtzt […] ab.
> […]
> Ich habe Lubuntu 18.04 LTS (alternate, 64 Bit) in einer VirtualBox.
> […]
> Schade, […]

Lukas K. schrieb:
> Der eigentliche Fehler ist der hier:
>
>> gl error 1282 in src/canvas/canvas_gl.cpp: 138
>
> Was für eine GPU hast du?

Lukas K. schrieb:
> Die in VMs emulierten GPUs tun sich mit OpenGL 3 bisweilen schwer,
> hast
> du es mal nativ probiert?
>
> Die Radeon HD 6950 ist mehr als neu genug.
(Ist eine 6850)

So, ich habe Lubuntu 18.04 LTS nativ installiert. Da funktioniert make 
direkt vollständig, und die entstehenden Programme scheinen ohne 
Abstürze zu funktionieren.

Leider ist die gesamte GUI sehr buggy, d. h. fast alle Widgets sind 
größtenteils ausserhalb der Fensterränder, und kommen auch nicht hervor, 
wenn man das Fenster größer macht.

Später versuche ich es nochmal mit Lubuntu 17.10.

von Lukas K. (carrotindustries)


Lesenswert?

Tuxpilot schrieb:
> Leider ist die gesamte GUI sehr buggy, d. h. fast alle Widgets sind
> größtenteils ausserhalb der Fensterränder, und kommen auch nicht hervor,
> wenn man das Fenster größer macht.

Kannst du mal einen Screenshot davon machen? Hört sich doch sehr nach 
Gtk/Grafiktreiber-Bug an. Installiere mal gtk3-examples und mach' aus 
der gtk3-demo die OpenGL-Demo auf. Sieht die auch so kaputt aus?

: Bearbeitet durch User
von Helmut S. (helmuts)


Lesenswert?

> Leider ist die gesamte GUI sehr buggy, d. h. fast alle Widgets sind
größtenteils ausserhalb der Fensterränder, und kommen auch nicht hervor,
wenn man das Fenster größer macht.

Normal ist das nicht.
Das wird dann an den Grafiktreibern bzw. der Grafikkarte liegen.

von Tuxpilot (Gast)



Lesenswert?

Die OpenGL-Demo sieht prima aus. (In VirtualBox ist alles ausser der 
Grafikfläche schwarz, funktioniert aber trotzdem. (Der Rest dieses 
Beitrags bezieht sich auf nativ installiert.))

Die anderen Demos, die ich angeguckt habe, sehen auch gut aus, 
insbesondere die mit den Listen oder Panes. In anderen Anwendungen habe 
ich auch nichts bemerkt.

In den Pool-Ansichten fehlt immer mindestens der rechte oder linke Rand 
von den Anzeigen, und die Knöpfe oben drüber fehlen irgendwie auch, 
obwohl da noch Platz wäre. Als ob die Panes ausserhalb des Fensters 
beginnen würden...

Die übrigen Fenster (Schaltplan-Editor und so) funktionieren jetzt 
überwiegend, nur im Tastenkürzel-Menü habe ich gesehen, dass das letzte 
Element halb abgeschnitten ist.

Übrigens kann man die Spalte Pads in der Breite verändern, die anderen 
aber nicht. Glaube nicht, dass das so soll.

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

@tuxpilot

Ich vermute dass du das Fenster zu klein gemacht hast. Zieh doch mal das 
Fenster breiter. Im Anhang die Darstellung auf einem Monitor mit 
1920x1080, WIN10. Da muss ich die Fenster schon fast auf die komplette 
Bildschirmbreite ziehen damit ich alles sehe.

: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Toxic schrieb:
> Mittlerweile dauert es mehr als 4 Minuten um diesen Thread zu oeffnen -
> bei einer 3Mbit-Leitung.

Melde dich als Nutzer im Forum an, dann kannst du eine Seitenaufteilung
einschalten.  Der Thread hat dann inzwischen 4 Seiten.

von Helmut S. (helmuts)


Lesenswert?

Jörg W. schrieb:
> Toxic schrieb:
>> Mittlerweile dauert es mehr als 4 Minuten um diesen Thread zu oeffnen -
>> bei einer 3Mbit-Leitung.
>
> Melde dich als Nutzer im Forum an, dann kannst du eine Seitenaufteilung
> einschalten.  Der Thread hat dann inzwischen 4 Seiten.

Hallo Joerg,
ich habe einmal auf "alles" geklickt. Jetzt sehe ich aber die Auswahl 
"1, 2, alles" nicht mehr. Wie bekommt man die Auswahl zurück?

(Ich habe mit 50MBit/s Zugang kein wirkliches Problem mit der Auswahl 
"alles", aber mich würde trotzdem interessieren wie man die Auswahl 1,2 
zurück bekommt.)

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


Lesenswert?

Helmut S. schrieb:
> ich habe einmal auf "alles" geklickt. Jetzt sehe ich aber die Auswahl
> "1, 2, alles" nicht mehr. Wie bekommt man die Auswahl zurück?

Über der Box "Antwort schreiben" gibt es einen Link "Seitenaufteilung
einschalten".

von Helmut S. (helmuts)


Lesenswert?

Jörg W. schrieb:
> Helmut S. schrieb:
>> ich habe einmal auf "alles" geklickt. Jetzt sehe ich aber die Auswahl
>> "1, 2, alles" nicht mehr. Wie bekommt man die Auswahl zurück?
>
> Über der Box "Antwort schreiben" gibt es einen Link "Seitenaufteilung
> einschalten".

Danke,
hat geklappt.

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo Toxic.

Toxic schrieb:

> Mittlerweile dauert es mehr als 4 Minuten um diesen Thread zu oeffnen -
> bei einer 3Mbit-Leitung.

Dann hast Du aktuell halt keine 3Mbit-Leitung. Mit einer 600k Leitung 
dauert es wenige Sekunden.

> Macht fuer mich keinen Sinn mehr mitzulesen oder etwas beizutragen.

Dann solltest Du mal untersuchen, was auf Deiner Leitung abgeht.
3Mbit-Leitung ist irre viel, falls sie funktioniert.

Wenn hier abends die Nachbarn saugen, sackt bei mir die Leitung auch auf 
teilweise unter 10k ab. Allerdings.....der Mittelwert über ca. 15min 
bleibt immer in etwa gleich. D.h. Dateien ziehen geht so lala, aber ein 
Audiostream reisst ab.

Anmeckern kann ich den Provider aber dafür nicht. Das steht so im 
indirekt im kleingedruckten des Vertrags. Vermutlich hast Du ähnliches 
im Kleingedruckten.

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de

von MitLeserin (Gast)


Lesenswert?

@Lukas K

Danke,
die Fehlermeldung lautet in allen Fällen:

gl error 1281 in src/canvas/canvas:gl.cpp:120
program will abort

114 void CanvasGL::on_realize()
.   {
.    Gtk::GLArea::on_realize();
.    make_current();
.    GL_CHECK_ERROR
.    grid.realize();

120  GL_CHECK_ERROR  ---------> error

von MitLeserin (Gast)


Angehängte Dateien:

Lesenswert?

Intel Driver Update direkt von Intel für i3-2350M
*************************************************
Der Laufzeitfehler tritt nicht mehr auf.

Horizon - Schematic startet mit einer Oberfläche, nur Text, ein leerer 
Bereich mit x/y Position des Cursors.

Auf einem zweiten Notebook(Asusi7): dasselbe Resultat

von Lukas K. (carrotindustries)


Lesenswert?

MitLeserin schrieb:
> gl error 1281 in src/canvas/canvas:gl.cpp:120

Seltsam, dass es da hinfällt, in der grid.realize() passiert eigentlich 
nichts besonderes.

MitLeserin schrieb:
> Horizon - Schematic startet mit einer Oberfläche, nur Text, ein leerer
> Bereich mit x/y Position des Cursors.

Hm, auch nicht wirklich besser.

Installier' dir mal MSYS2 (vgl. 
https://github.com/carrotIndustries/horizon/wiki/Building-horizon-on-Windows) 
und starte die horizon-prj-mgr.exe aus der mingw64-shell. Da sollte dann 
irgendwas in der Konsole stehen, das erklärt weshalb es hingefallen ist.

von Tuxpilot (Gast)


Lesenswert?

Tuxpilot schrieb:
> So, ich habe Lubuntu 18.04 LTS nativ installiert. […]
> Später versuche ich es nochmal mit Lubuntu 17.10.

Auf Lubuntu 17.10: kein Unterschied feststellbar. gtk3-demo funktioniert 
auch da einwandfrei.

Helmut S. schrieb:
> @tuxpilot
>
> Ich vermute dass du das Fenster zu klein gemacht hast. Zieh doch mal das
> Fenster breiter. Im Anhang die Darstellung auf einem Monitor mit
> 1920x1080, WIN10. Da muss ich die Fenster schon fast auf die komplette
> Bildschirmbreite ziehen damit ich alles sehe.

Daran liegt es wohl nicht. Ich habe die Fenster auf 16.000 Pixel Breite 
gezogen, aber die Widgets waren immer noch halb unter dem Rand. Dann ist 
X abgestürtzt, was zu erwarten war.

von Lukas K. (carrotindustries)


Lesenswert?

Tuxpilot schrieb:
> Daran liegt es wohl nicht. Ich habe die Fenster auf 16.000 Pixel Breite
> gezogen, aber die Widgets waren immer noch halb unter dem Rand. Dann ist
> X abgestürtzt, was zu erwarten war.

Das sollte mit dem Commit repariert sein: 
https://github.com/carrotIndustries/horizon/commit/0c370219bbb6190a361ac880a3db9a168b7863e0

von MitLeserin (Gast)


Angehängte Dateien:

Lesenswert?

@Lukas

ich habe da mal mit der Anleitung von Helmut S
Beitrag "Re: Neues, halbfertiges Elektronik-CAD-Programm"
etwas versucht :

horizon startet und die Konsole liefert folgende Meldung:

Alexandra@Asus-i7 MINGW64 /home/horizon_/horizon
$ ./horizon-prj-mgr.exe
SELECT parts.uuid, parts.MPN, parts.manufacturer, packages.name, 
tags_view.tags, parts.filename, parts.description FROM parts LEFT JOIN 
tags_vi       ew ON tags_view.uuid = parts.uuid LEFT JOIN packages ON 
packages.uuid = parts.package WHERE parts.MPN LIKE ? AND 
parts.manufacturer LIKE ? AND        (parts.entity=? or ?)  ORDER BY 
parts.MPN COLLATE naturalCompare ASC
col 2
create proc
spawn C:\msys64\home\horizon_\horizon\horizon-imp -c 
C:\horizon\horizon\horizon-test-project-master\top_sch.json 
C:\horizon\horizon\horizon-test-project-master\top_block.json
imp rx false

(horizon-imp.exe:6460): Gtk-WARNING **: 09:06:32.832: fb setup not 
supported

(horizon-imp.exe:6460): Gtk-WARNING **: 09:06:35.047: fb setup not 
supported

******************

Gtk-WARNING  gibt es jede Menge und die Zahl korreliert irgendwie mit 
den Koordinaten des Mauszeigers.

von Lukas K. (carrotindustries)


Lesenswert?

MitLeserin schrieb:
> (horizon-imp.exe:6460): Gtk-WARNING **: 09:06:35.047: fb setup not
> supported

Vielen Dank für's Debuggen bis hier hin schonmal, viele andere hätten 
schon (verständlicherweise) entnervt aufgegeben und sich anderen Dingen 
zugewandt.

So auf die Schnelle fallen mir zwei Dinge ein, an denen das liegen 
könnte:

 - horizon fasst Buffer falsch an und Gtk ist dann hinterher unglücklich
 - Bug in Gtk (wär' nich der erste im Bezug auf OpenGL und Windows)

So als Vorwarnung: weiteres Debuggen muss nicht unbedingt zur Lösung des 
Problems führen, sei mir' also nicht böse, wenn's dann immer noch nicht 
funktioniert.

Wenn du jetzt eh schon Msys2 hast, starte mal die gtk3-demo und darin 
die OpenGL-demo. Funktioniert die?

von MitLeserin (Gast)


Lesenswert?

GTK3-demo.exe funktioniert,
verschiedene Demos funktionieren normal.

OpenGL Area erzeugt aber sofort eine

(gtk3-demo.exe:4500): Gtk-WARNING **: 13:25:13.752: fb setup not 
supported

Warnung

und bei jedem move der Slider eine Vielzahl weiterer identischer 
Warnungen.

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Hallo Zusammen,

wo finde ich in der Windows Version den Part Editor bzw. wie muss ich 
vorgehen, wenn ich einen neues Bauteil definieren will.

Gruß
Frank

von Lukas K. (carrotindustries)


Angehängte Dateien:

Lesenswert?

MitLeserin schrieb:
> (gtk3-demo.exe:4500): Gtk-WARNING **: 13:25:13.752: fb setup not
> supported
>
> Warnung

Ok, dann ist wohl das Problem bei Gtk. Leider sagt einem Gtk nicht, wo 
nun das Problem mit dem Framebuffer ist, daher hier im Anhang ein 
gepatchtes Gtk, das in der Fehlermeldung mehr anzeigt. Mit der dll 
ersetzt du dann die gleichnamige im Ordner mingw64/bin in deiner 
mingw-installation und probierst die OpenGL-Demo nochmal.

MitLeserin schrieb:
> und bei jedem move der Slider eine Vielzahl weiterer identischer
> Warnungen.

Das kommt daher, dass dieses Stück code bei jedem rendern aufgerufen 
wird.

Frank L. schrieb:
> wo finde ich in der Windows Version den Part Editor bzw. wie muss ich
> vorgehen, wenn ich einen neues Bauteil definieren will.

Den Part Editor startest du aus dem pool manager heraus. Zum Erstellen 
von neuen Bauteilen: 
https://github.com/carrotIndustries/horizon/wiki/Working-with-the-Pool-Manager-and-Part-Wizard

von MitLeserin (Gast)


Lesenswert?

(gtk3-demo.exe:7300): Gtk-WARNING **: 23:13:39.518: fb setup not 
supported, status=36055

status=36055 bleibt konstant immer 36055

(gtk3-demo.exe:3264): Gtk-WARNING **: 23:16:46.160: fb setup not 
supported, status=36055

(gtk3-demo.exe:^^^^) ändert nach Beendigung und erneutem Aufruf von 
gtk3-demo.exe

von Lukas K. (carrotindustries)


Angehängte Dateien:

Lesenswert?

MitLeserin schrieb:
> (gtk3-demo.exe:3264): Gtk-WARNING **: 23:16:46.160: fb setup not
> supported, status=36055
>
> (gtk3-demo.exe:^^^^) ändert nach Beendigung und erneutem Aufruf von
> gtk3-demo.exe

Die sich ändernde Nummer ist die Prozess-ID, das passt schon so. Der 
Fehlercode ist GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT, irgendwas 
hat wohl beim Aufsetzen der Framebuffer nicht funktioniert. Die DLL im 
Anhang hat weitere Debug-Ausgabe drin, selbes Vorgehen wie im letzten 
post.

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Lukas K. schrieb:
> Den Part Editor startest du aus dem pool manager heraus. Zum Erstellen
> von neuen Bauteilen:
> 
https://github.com/carrotIndustries/horizon/wiki/Working-with-the-Pool-Manager-and-Part-Wizard

Hallo Lukas,
dann habe ich leider einen Fehler entdeckt.
Sobald ich im Pool Manager den Pool auswähle, schließt sich die 
Anwendung. Leider weiß ich nicht, wo ich das LOG in der Windows Version 
finde.

Vielleicht kannst Du Dir das ja mal ansehen bzw. mir sagen, wo ich das 
LOG finde, dann stelle ich es hier ein.

Gruß
Frank

von MitLeserin (Gast)


Lesenswert?

RUN [OpenGL Area] erzeugt in der Konsole

(gtk3-demo.exe:6524): Gtk-WARNING **: 11:54:32.882: fb attach texture=0 
buffer=1 error=1282

(gtk3-demo.exe:6524): Gtk-WARNING **: 11:54:32.886: fb setup not 
supported, status=36055

- Klick in der Konsole erzeugt 12 weitere identische paarweise Logs,
- Frame mit den drei Slidern erscheint nicht,
- beenden durch beenden der Konsole.

von Lukas K. (carrotindustries)


Angehängte Dateien:

Lesenswert?

Frank L. schrieb:
> Sobald ich im Pool Manager den Pool auswähle, schließt sich die
> Anwendung. Leider weiß ich nicht, wo ich das LOG in der Windows Version
> finde.

Dann mach' es mal wie MitLeserin und starte es aus der Mingw-shell, 
sieht auch nach OpenGL-Problem aus. Was für eine GPU hast du?

MitLeserin schrieb:
> (gtk3-demo.exe:6524): Gtk-WARNING **: 11:54:32.882: fb attach texture=0
> buffer=1 error=1282

Okay, da fällt also was schon davor hin. Die DLL im Anhang hat noch mehr 
Debug-Ausgabe. Was für eine GPU hast du eigentlich genau?

von MitLeserin (Gast)


Lesenswert?

Lukas K. schrieb:
> Was für eine GPU hast du eigentlich genau?

Gute Frage, war ich mir eigentlich nicht wirklich bewusst. Bisher je 
nach Notebook irgendwie automatisch und hat bis jetzt mit horizon 
scheinbar immer alles funktioniert...

Erkenntnis und Stand der Dinge:
******************************
Auf ASUSi7 kann ich für jedes Programm die GPU wählen.

- Intel HD Graphics 4600  : gtk3-demo.exe funktioniert NICHT
- NVIDIA GeForce GTX 850M : gtk3-demo.exe funktioniert


Mit *IntelHD 4600 und libgtk-3-0.dll V3* liefert gtk3-demo.exe zyklische 
Fehlermeldungen :


(gtk3-demo.exe:5996): Gtk-WARNING **: 09:26:14.735: fb setup not 
supported, status=36055
(gtk3-demo.exe:5996): Gtk-WARNING **: 09:26:14.744: opengl error 1282 at 
gtkglarea.c:487
(gtk3-demo.exe:5996): Gtk-WARNING **: 09:26:14.747: opengl error 1282 at 
gtkglarea.c:489
(gtk3-demo.exe:5996): Gtk-WARNING **: 09:26:14.750: opengl error 1281 at 
gtkglarea.c:547


(gtk3-demo.exe:5996): Gtk-WARNING **: 09:26:14.753: fb setup not 
supported, status=36055
(gtk3-demo.exe:5996): Gtk-WARNING **: 09:26:21.773: opengl error 1282 at 
gtkglarea.c:487
(gtk3-demo.exe:5996): Gtk-WARNING **: 09:26:21.774: opengl error 1282 at 
gtkglarea.c:489
(gtk3-demo.exe:5996): Gtk-WARNING **: 09:26:21.777: opengl error 1281 at 
gtkglarea.c:547

...

to be continued ...

von Helmut S. (helmuts)


Lesenswert?

Auf den folgeneden Grafikkarten läuft horizon nach meiner Erfahrung.

NVIDIA
GTX560, GTX950, GTX1080

Intel Graphic
HD 5000, HD 530


Auf der GTX260 läuft es nicht richtig. Daraus kann man den Schluss 
ziehen, dass es zumindest ab GTX560 und höher funktioniert.

von Lukas K. (carrotindustries)


Angehängte Dateien:

Lesenswert?

MitLeserin schrieb:
> Mit *IntelHD 4600 und libgtk-3-0.dll V3* liefert gtk3-demo.exe zyklische
> Fehlermeldungen :

Okay, probier's nochmal mit der DLL im Anhang und achte insb. auf die 
Ausgabe direkt nach dem starten der OpenGL-Demo.

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Bei mir läuft eine Desktop MSI GEFORCE GTX1060 mit 6GB. Es sind zwei 4K 
Monitore angeschlossen.

Die Anwendung lässt sich auch wundervoll bedienen und arbeitet 
einwandfrei.
Lediglich der Aufruf des Part Editors aus dem Pool Manager heraus klappt 
nicht, da es hier zu einem beendigen der Anwendung kommt.

Der Vorgang ist immer gleich, ich wähle im Pool Manager den Eintrags 
aus, der wird Bildschirm kurz weiß und dann beendet sich die Anwendung.

@Lukas
Sorry, mit MingW kenne ich mich nicht aus und ich habe nicht genug Zeit 
mich mit den Dingen zu beschäftigen. Von daher muss ich da passen.

Allerdings würde ich die Anwendung gerne intensiver nutzen. Vielleicht 
hat ja noch wer anders das gleiche Problem und kann sich damit 
beschäftigen.

Besteht eventuell die Möglichkeit, dass Du das Log für die Windows 
Version, im Verzeichnis %Appdata%\local\Horizon ablegt? Da befinden sich 
ja auch die Konfigurationsdateien.

Gruß
Frank

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

So,
ich habe ein wenig geforscht.

Jetzt läuft es, bei mir war der OpenGL gar nicht bzw. nicht korrekt 
installiert. Nachdem ich den aktuellsten Treiber der Karte installiert 
habe, funktioniert es.

Gruß
Frank

von MitLeserin (Gast)


Lesenswert?

Alexandra@Asus-i7 MINGW32 /mingw64/bin
$ ./gtk3-demo

// NVIDIA - libgtk-3-0.dll /V4
//****************************************************************
// startup
/*****************************************************************
(gtk3-demo.exe:3524): Gtk-WARNING **: 13:57:41.977: attach buffers
(gtk3-demo.exe:3524): Gtk-WARNING **: 13:57:41.978: allocate buffers
(gtk3-demo.exe:3524): Gtk-WARNING **: 13:57:41.979: attach 0 1

// slider - twisting the triangle
//****************************************************************
(gtk3-demo.exe:3524): Gtk-WARNING **: 13:57:47.290: attach buffers
(gtk3-demo.exe:3524): Gtk-WARNING **: 13:57:47.290: attach 0 1
(gtk3-demo.exe:3524): Gtk-WARNING **: 13:57:47.324: attach buffers
(gtk3-demo.exe:3524): Gtk-WARNING **: 13:57:47.324: attach 0 1
(gtk3-demo.exe:3524): Gtk-WARNING **: 13:57:47.340: attach buffers
(gtk3-demo.exe:3524): Gtk-WARNING **: 13:57:47.341: attach 0 1
(gtk3-demo.exe:3524): Gtk-WARNING **: 13:57:47.357: attach buffers
(gtk3-demo.exe:3524): Gtk-WARNING **: 13:57:47.358: attach 0 1
(gtk3-demo.exe:3524): Gtk-WARNING **: 13:57:47.375: attach buffers
(gtk3-demo.exe:3524): Gtk-WARNING **: 13:57:47.376: attach 0 1
(gtk3-demo.exe:3524): Gtk-WARNING **: 13:57:47.391: attach buffers
(gtk3-demo.exe:3524): Gtk-WARNING **: 13:57:47.391: attach 0 1




Alexandra@Asus-i7 MINGW64 /mingw64/bin
$ ./gtk3-demo

//INTEL - libgtk-3-0.dll /V4
//****************************************************************
// startup
//****************************************************************
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:04:49.365: attach buffers
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:04:49.365: allocate buffers
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:04:49.365: opengl error 1282 at 
gtkglarea.c:487
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:04:49.365: opengl error 1282 at 
gtkglarea.c:489

(gtk3-demo.exe:9112): Gtk-WARNING **: 14:04:49.365: attach 0 1
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:04:49.365: opengl error 1281 at 
gtkglarea.c:548
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:04:49.366: fb setup not 
supported, status=36055


// slider - no graphics visible
//****************************************************************
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:05:01.182: attach buffers
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:05:01.182: allocate buffers
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:05:01.182: opengl error 1282 at 
gtkglarea.c:487
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:05:01.182: opengl error 1282 at 
gtkglarea.c:489
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:05:01.182: attach 0 1
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:05:01.182: opengl error 1281 at 
gtkglarea.c:548
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:05:01.182: fb setup not 
supported, status=36055
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:05:01.215: attach buffers
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:05:01.215: allocate buffers
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:05:01.215: opengl error 1282 at 
gtkglarea.c:487
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:05:01.215: opengl error 1282 at 
gtkglarea.c:489
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:05:01.215: attach 0 1
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:05:01.215: opengl error 1281 at 
gtkglarea.c:548
(gtk3-demo.exe:9112): Gtk-WARNING **: 14:05:01.215: fb setup not 
supported, status=36055
...

// unnecessary CR removed

von Lukas K. (carrotindustries)


Angehängte Dateien:

Lesenswert?

Okay, vielleicht ist es ein Problem, dass der Renderbuffer von einer 
EXT-Funktion erzeugt, aber von einer nicht-EXT Funktion verwendet wird, 
probier's mal mit der DLL im Anhang.

von MitLeserin (Gast)


Angehängte Dateien:

Lesenswert?

MitLeserin schrieb:
******************************************
> - Klick in der Konsole erzeugt 12 weitere identische paarweise Logs,
> - Frame mit den drei Slidern erscheint nicht,
> - beenden durch beenden der Konsole.

Das ist ein Fehler von gtk3-demo.exe.

Dieser Fehler ist unabhängig von der ausgewählten GPU: Verschieben des 
Programm-Windows von gtk3-demo.exe in einen zweiten Monitor hat den 
Effekt, dass die Programm-Windows einzelner Tochter-Programme nicht 
erscheinen und die Kontrolle über gtk3-demo.exe verloren geht. -> 
Beenden von gtk3-demo.exe mit Ctrl-C in der Konsole.

Betroffen sind vermutlich alle gtk3-demo-Beispiele mit "Grafik", 
darunter auch OpenGL Area.

******************************************************
Zurück zum Thema
****************

Alexandra@Asus-i7 MINGW64 /mingw64/bin
$ ./gtk3-demo

// INTEL - libgtk.3.0.dll /V5
//****************************************************************
// startup
//****************************************************************
(gtk3-demo.exe:520): Gtk-WARNING **: 10:36:17.892: attach buffers
(gtk3-demo.exe:520): Gtk-WARNING **: 10:36:17.892: allocate buffers
(gtk3-demo.exe:520): Gtk-WARNING **: 10:36:17.892: attach 0 1

// slider no effect - background visible
//***************************************************************

(gtk3-demo.exe:520): Gtk-WARNING **: 10:36:49.224: attach buffers
(gtk3-demo.exe:520): Gtk-WARNING **: 10:36:49.224: attach 0 1
(gtk3-demo.exe:520): Gtk-WARNING **: 10:36:50.339: attach buffers
(gtk3-demo.exe:520): Gtk-WARNING **: 10:36:50.339: attach 0 1
(gtk3-demo.exe:520): Gtk-WARNING **: 10:36:50.357: attach buffers
(gtk3-demo.exe:520): Gtk-WARNING **: 10:36:50.357: attach 0 1
(gtk3-demo.exe:520): Gtk-WARNING **: 10:36:50.373: attach buffers
(gtk3-demo.exe:520): Gtk-WARNING **: 10:36:50.373: attach 0 1
 ...

Das Grafik-Fenster ist durchsichtig, Mausspur im Grafikfenster wird ohne 
Einträge in der Konsole dargestellt , Slider hat im Grafikfenster keinen 
Effekt, erzeugt aber Einträge in der Konsole.

( die Mausspur wird von PrtScr gelöscht und kann deshalb nicht 
dokumentiert werden )

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Hallo Zusammen,

ich brauche mal einen Tipp, in welcher Reihenfolge man bei der 
Definition eigener Bauteile vorgehen muss.

Mein Ziel, ich möchte verschiede Röhren mit Oktal und Noval Sockel 
erstellen.
Um Smash verwenden zu können, möchte ich z.B. bei einer ECC83 die beiden 
Systeme und die Heizung jeweils getrennt halten. Andere Röhren mit Noval 
Sockel haben unterumständen nur ein System plus Heizung.

Ich würde das Ganze gerne in einem Artikel zusammenfassen und hier 
veröffentlichen.

Aber ich finde keinen Einstieg in die Materie :-(

Gruß
Frank

: Bearbeitet durch User
von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

@Frank

https://media.ccc.de/v/gpn18-136-horizon-eda-ein-jahr-spter

Lade dir doch mal den Vortrag herunter. In der ersten Hälfte wird ganz 
grob das erstellen von Bauteilen gezeigt. (Lass dich nicht von der 
Tonstörung(Hall) im ersten Viertel des Vortrages stören.)

Das angehängte Bild zeigt dei Struktur und die Namensgebung der 
Bestandteile eines Bauteils.

Das Programm zum erstellen der Bauteile heißt horizon-pool-mgr.exe

von Lukas K. (carrotindustries)


Lesenswert?

MitLeserin schrieb:
> Betroffen sind vermutlich alle gtk3-demo-Beispiele mit "Grafik",
> darunter auch OpenGL Area.

Ich bin untröstlich, aber sieht so aus, als geht's hier nicht wirklich 
weiter. Im IRC Channel von Gtk meine man, dass das recht sicher ein Bug 
im Intel-Treiber ist, der nicht durch hohe Qualität im Bezug auf OpenGL 
bekannt sei. So ohne Problemhardware in der Hand debuggt sich's auch 
eher mühsam...

Immerhin tut's bei dir ja mit der Nvidia-GPU.

von MitLeserin (Gast)


Lesenswert?

Hallo Lukas,

ich habe mir das auch so gedacht. Wenn ein Programm auf 
unterschiedlicher Hardware einerseits prima funktioniert und 
andererseits so krasse Fehlermeldungen produziert muss ein Hardware 
naher Fehler vorliegen. Ich denke nicht, dass Intel für die älteren 
Grafikeinheiten noch BugFixes nachliefern wird.

vom Fehler betroffen:
********************
System: Toshiba Satpro L770-14N : Intel i3-2350M  mit Intel HD3000 GPU

System: Asus............N750 IK : Intel i7-4710HQ mit Intel HD4600 GPU

vom Fehler nicht betroffen:
**************************
System HP...............Envi 15 : Intel i7-6500U  mit Intel  HD520
System HP...............Envi 15 : Intel i7-6500U  mit NVIDIA GTX 950M

System Asus.............N750 IK : Intel i7-4710HQ mit NVIDIA GTX 850M

Respekt für horizon!
Alexandra

von Michael W. (Gast)


Lesenswert?

Liegt das an den core-steppings der Prozessoren?

von Helmut S. (helmuts)


Lesenswert?

Markus W. schrieb:
> Liegt das an den core-steppings der Prozessoren?

Hallo Markus,

das liegt nicht am CPU-Core sondern an deren GPU und dessen 
OpenGL-Treiber. Auch alle älteren Grafikkarten versagen hier.

Helmut

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Hallo Lukas,

Fehler: "Plane Update" ignoriert Ausschnitte im Board.

In meinem Beispiel habe ich ein Polygon auf Lage "outline" gezeichnet. 
"Plane Update" sollte hier entsprechend der Design-Rule das Kupfer um 
0,xmm um den Ausschnitt herum zurückziehen.
Kicad macht es richtig, horizon (noch) nicht. Siehe angehängte Bilder.

Gruß
Helmut

von Lukas K. (carrotindustries)


Lesenswert?

Zu der Sache mit den Intel 4000er-GPUs habe ich noch das hier gefunden: 
https://bugzilla.gnome.org/show_bug.cgi?id=792174#c2 Der hatte wohl die 
selben Ideen wie ich und auch gleich wenig Erfolg...

Helmut S. schrieb:
> Kicad macht es richtig, horizon (noch) nicht. Siehe angehängte Bilder.
Horizon hatte es mal richtig gemacht, ist wohl in 
https://github.com/carrotIndustries/horizon/commit/b2ae2dd6348a110d18538b802d88de887ba30547 
kaputt gegangen... Jetzt geht's wieder.

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

> Helmut S. schrieb:
>> Kicad macht es richtig, horizon (noch) nicht. Siehe angehängte Bilder.
> Horizon hatte es mal richtig gemacht, ist wohl in
> https://github.com/carrotIndustries/horizon/commit...
> kaputt gegangen... Jetzt geht's wieder.

Hallo Lukas,
danke für die schnelle Korrektur.
Habe es gerade selbst getestet. Es funktioniert jetzt wie erwartet.

: Bearbeitet durch User
von Lukas K. (carrotindustries)


Lesenswert?

Für alle die sich wundern, wo seit dem letzten Build Pool- und 
Projektmanager sind: Die wurden beide in "horizon-eda" vereint, sodass 
es jetzt nur ein Programm zum Anklicken gibt.

von tester (Gast)


Angehängte Dateien:

Lesenswert?

Die Vereinigung mach Sinn. Aber: Es gibt Probleme:

(horizon-eda:5961): glibmm-CRITICAL **: 20:36:14.899:
unhandled exception (type Glib::Error) in signal handler:
domain: g-resource-error-quark
code  : 0
what  : Die Ressource auf 
»/net/carrotIndustries/horizon/prj-mgr/part_browser/part_browser.ui« 
existiert nicht

Auch sind meine selbst definierten Bauteile weg. Starte ich die alten 
Programme horizon-prj-mgr und horizon-pool-mgr befinden sich die 
Bauteile alle nur im Cache. Allerdings könnte das schon seit einem 
länger vergangenen Update sein...

von Helmut S. (helmuts)


Lesenswert?

Hallo Lukas,

habe die neueste kompilierte Version für WIN heruntergeladen.
Dann habe ich horizon-eda.exe gestartet. Darin kann ich aber nur den 
Pool-Manager starten und den Pool updaten aber nicht das Projekt 
(Schaltplan, Layout) starten. Weder "Open" noch Doppelklick in "Recent 
Projects" auf das Projekt hilft. Da passiert einfach gar nichts.

: Bearbeitet durch User
von tester (Gast)


Lesenswert?

Helmut S. schrieb:
> Da passiert einfach gar nichts.

Ähm, ich hätte vielleicht zu meiner Fehlermeldung im vorletzten Post 
dazu schreiben sollen, dass diese geworfen wird wenn ich versuche, ein 
Projekt zu öffnen.

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.