CortexCommand ist eine hybride Steuerungssoftware für CNC-, Laser- und 3D-Druck-Systeme. Die Architektur besteht aus einem modernen Blazor-Web-Interface (C#) und einem leichtgewichtigen Python-Worker, der die serielle Kommunikation mit der Hardware übernimmt.
Warning
Projekt-Status: Early Alpha (ca. 10% Fortschritt) > Dieses Projekt befindet sich in einer frühen Entwicklungsphase. Viele Funktionen sind noch nicht implementiert oder befinden sich im Prototypen-Status. Eine Verwendung an produktiven Maschinen wird aktuell nicht empfohlen.
- CortexCommand.Server: Das Haupt-Backend & Blazor Frontend.
- CortexCommand.RCL: Razor Class Library – Enthält geteilte UI-Komponenten und Styles.
- CortexCommand.Worker: Python-Dienst für die GRBL-Kommunikation (WebSockets).
- CortexCommand.Core: Gemeinsame Datenmodelle, Datenbank-Logik und Interfaces.
- CortexCommand.WPF: Desktop-Wrapper für die Ausführung als Windows-App.
Der Worker kommuniziert über WebSockets mit dem Server.
- Navigiere in den Ordner:
cd CortexCommand.Worker - Erstelle eine virtuelle Umgebung:
python -m venv env
- Aktiviere die Umgebung:
Windows: .\env\Scripts\activate
Linux/Mac: source env/bin/activate 4. Installiere die Abhängigkeiten:
Bash pip install -r requirements.txt
- .NET Server starten Öffne die Solution CortexCommand.slnx in Visual Studio 2026.
Stelle sicher, dass die Datenbank (SQLite) initialisiert ist.
Starte das Projekt CortexCommand.Server.
.
🛠 Konfiguration Verbindung zur Maschine Öffne im Browser den Verbindungs-Manager (/connections).
Füge eine neue Maschine hinzu (Name, IP, Port).
Der Standardport für den Python-Worker ist 7125.
Dashboard-Funktionen DRO: Echtzeit-Koordinatenanzeige (X, Y, Z).
Status: Live-Überwachung von Endschaltern und Spindeldrehzahl.
Widgets: Unterstützung für mehrere Maschinen gleichzeitig.
Kommunikation (WebSocket Protokoll) Der Server sendet Befehle im JSON-Format an den Worker:
JSON { "command": "G1 X10 F100" } Der Worker antwortet mit Status-Updates:
JSON { "type": "status", "data": { "mpos": {"x": 0, "y": 0, "z": 0}, "state": "Idle" } } 📝 Lizenz Dieses Projekt ist unter der MIT-Lizenz lizenziert.