Hallo zusammen,

ich bin gerade über ein interessantes Projekt gestolpert, das ich mit euch teilen wollte.

http://www.codeproject.com/KB/openGL/CircuitEngine.aspx

Und zwar handelt es sich hierbei um ein OpenSource Projekt einer grafischen Simulation eines Schaltkreises auf dem Experimentierboard via OpenGL.

Die Erstellung des Ganzen basiert dabei primär auf der Schaltlogik eines IC's, die vorher per Textdatei definiert werden kann.

OpenGL Visualisierung:

Bild hier  

Chip Logik:

Code:
    BREADBOARD 20 5 5
    CHIP FullAdder 3 2
        VOLTAGE 8
        GROUND 4

        INPUT 1         // ‘INPUT 0’ (BIT1)
        INPUT 2         // ‘INPUT 1’ (BIT2)
        INPUT 3         // ‘’INPUT 2’ (BIT3)

        GATE XOR 2         // ‘XOR 3’
            INPUT 0
            INPUT 1
        END GATE

        GATE AND 2         // ‘AND 4’
            INPUT 0
            INPUT 1
        END GATE

        GATE XOR 2 output 5     // ‘XOR 5’
            XOR 3
            INPUT 2
        END GATE

        GATE AND 2         // ‘AND 6’
            XOR 3
            INPUT 3
        END GATE

        GATE OR 2 output 6     // ‘OR 7’
            AND 4
            INPUT 2
        END GATE
    END CHIP
Man kann innerhalb der grafischen Oberfläche dann per Keyboard Kabelverbindungen setzen, sowie eine Versorgungsspannung hinzufügen oder LED's. Mehr geht leider noch nicht, da das Projekt in der Entwicklung ist.

Ich fand es ganz interessant und werde vielleicht mal ein paar Sachen verändern im SourceCode, um weitere Bauteile zu integrieren.

Installationshinweis:

Habe das Programm erfolgreich kompiliert mit:

- VC++ Express 2008

Ihr braucht auf der Seite die Datein:

- CircuitEngine_Code_Files_VS6.0 -> VS8.0.zip
- glut-3.7.6-bin.zip
- CESL_CEC_Examples.zip

Glut ist dabei die OpenGL Umgebung die fertig kompiliert als dll vorliegt.

Am Besten, die Datein aus der glut.zip in einen Ordner mit dem Namen "GL" ins Projekt-Verzeichnis entpacken.
Dann in VC noch die glut.lib verlinken.

Hinweis: in der Artist.h wird verlinkt auf:

Code:
#include <GL/glut.h>
Dies musste ich ändern in:

Code:
#include "GL/glut.h";
da VC sonst meckerte.

Nach dem Kompilieren muss die glut.dll noch ins Release/Debug Verzeichnis zur CEngine.exe kopiert werden.

Nun könnt ihr die CESL Datein aus der Examples.zip via der CEngine.exe öffnen und euch die Schaltkreise anschauen.

Bewegen kann man die Bauteile via den Pfeiltasten und per Enter setzt man sie fest. Mit K fügt man Kabel mit L eine LED hinzu. Mit Tab schaltet man durch die Bauelemente.

---

Sieht auf jeden Fall interessant aus zum Weiterentwickeln.

Gruß