Schaltplan automatisch zeichnen



  • Hallo zusammen,

    ich möchte aus einer Netzliste (aus Schaltplan bzw Layout) automatisch wieder einen Schaltplan zeichnen.
    Der Sinn des ganzen soll sein, daß bei großen Projekten (Schaltplan >20 Seiten A3) die Signalverfolgung sehr mühsam ist.
    Deshalb möchte ich aus der Netzliste wieder einen Schaltplan zeichnen.

    Ziel sollte sein, das ich ein Bauteil auswähle welches dann als Symbol dargestellt wird, und durch einen Klick auf ein Bauteilpin dann das nächste Bauteil auf dem Netz angezeigt wird, usw.
    Ich hoffe die Idee ist ganz grob verstanden.

    Mein Problem ist jetzt wie soll ich die ganzen Bauteile zeichnen und dann auch noch auf einen Klick auf einen Pin reagieren.
    Das ganze läßt sich sicherlich auf ein Canvas zeichnen, was jedoch ziemlich aufwendig ist wäre.

    Kennst irgendjemand eine fertige Komponente die so etwas (oder auch nur ähnliches) kann, bzw hat andere Ideen?

    Vielen Dank im Voraus.
    Mfg Stephan



  • Hallo Stephan,

    eine fertige Komponente kenne ich nicht, daher habe ich (etwas ähnliches) folgendermaßen gelöst:

    Erst kompletten Plan auf Canvas zeichnen.
    Bei Klick auf Canvas über Canvas->Pixels die Umgebung nach nicht weißen Pixeln durchsuchen, bei Erfolg nochmals zeichnen, wobei nach diesem Pixel gesucht wird.

    Das hört sich aufwändig an, wenn Du aber eine Zeichenfunktion schreibst, der Du noch die gesuchten Koordinaten übergeben kannst, und die das Objekt unter den Koordinaten zurückgibt, hast Du alles erledigt.

    Falls Du nur Pins suchst, ist es einfacher, da Du bei Klick auf Canvas nur Deine Pinliste durchgehen musst, um Deinen Treffer zu suchen.

    Gruß Bernhard



  • Hallo Bernhard,

    so ähnlich habe ich es mir auch gedacht.
    Meine erste Überlegung war, ein imaginäres Rechteck über jeden Pin zu legen, und bei jedem Klick zu prüfen, ob in eines der Rechtecke geklickt wurde.
    Hätte eben den Nachteil das ich die imaginären rechtecke von jedem Pin speichern müßte.
    Da das ganze jedoch nur zur Signalverfolgung verwendet werden soll, werden vermutlich eh nicht hunderte Pins angezeigt.

    Ich glaub ich versuch mich zuerst mal mit dem Zeichnen und dann sehen wir weiter.

    MfG Stephan


Log in to reply