- Python 100%
Drei Tools für den KML-Prüfstandsworkflow: - KML_Channel_Extractor (UI): Batch-Export von AI 1 aus .dxd-Dateien - KML_Channel_Extractor_CLI: für Einbindung in den Dewesoft Sequencer - KML_Cleanup: leert C:\Dewesoft\Data und C:\Dewesoft\Exports Implementierung via DewesoftX DCOM (pywin32), UI mit customtkinter, Standalone-EXEs via PyInstaller. |
||
|---|---|---|
| assets | ||
| .gitignore | ||
| Benutzeranleitung.md | ||
| build.py | ||
| cleanup_tool.py | ||
| main.py | ||
| make_icon.py | ||
| processor.py | ||
| PROJECT.md | ||
| README.md | ||
| requirements.txt | ||
| ui.py | ||
KML Channel Extractor
Werkzeuge für den automatisierten Export von Einzel-Kanälen aus DewesoftX-Messdateien (.dxd).
Entwickelt für den KML-Prüfstandsworkflow: nach jeder Messung wird aus einem umfangreichen Rohdatenfile ein schlankes Export-File mit nur dem Kanal AI 1 erzeugt — manuell über eine UI, oder automatisiert aus dem Dewesoft Sequencer.
Enthaltene Tools
| Tool | Zweck | Modus |
|---|---|---|
KML_Channel_Extractor.exe |
Batch-Export mehrerer Dateien | UI (Doppelklick) |
KML_Channel_Extractor_CLI.exe |
Einzel-Export, aus Sequencer aufrufbar | CLI |
KML_Cleanup.exe |
Leert C:\Dewesoft\Data und C:\Dewesoft\Exports |
CLI |
Für Entwickler
Voraussetzungen
- Windows
- Python 3.10+
- DewesoftX (zur Laufzeit, über DCOM)
Installation
git clone <repo-url>
cd KML_Data_Tool
pip install -r requirements.txt
Start aus Source
python main.py # UI
python cleanup_tool.py # Cleanup
Build (standalone EXEs)
python make_icon.py # einmalig: Icon generieren
python build.py # erzeugt alle drei EXEs in dist/
Ergebnis:
dist/
├── KML_Channel_Extractor.exe
├── KML_Channel_Extractor_CLI.exe
└── KML_Cleanup.exe
Die EXEs sind self-contained (PyInstaller --onefile) und benötigen auf dem Zielrechner kein Python.
Projektstruktur
KML_Data_Tool/
├── main.py # Einstiegspunkt (UI + CLI)
├── ui.py # customtkinter-UI
├── processor.py # DCOM-Logik (DewesoftX-Automation)
├── cleanup_tool.py # Cleanup-CLI
├── build.py # PyInstaller-Build-Skript
├── make_icon.py # Generiert das App-Icon
├── requirements.txt # Python-Abhängigkeiten
├── assets/ # Logo, Icon
├── PROJECT.md # Architektur-/Designnotizen
└── Benutzeranleitung.md # Endnutzer-Dokumentation
Architektur
Die .dxd-Manipulation läuft ausschließlich über DewesoftX-DCOM (Dewesoft.App COM-Interface, via pywin32). Der Export-Ablauf pro Datei:
LoadFile(source)— zweimalig (ohne den zweiten Aufruf verursachtExportToDewesofteine Access Violation)- Für alle Kanäle:
ch.Exported = (ch.Name == "AI 1") ExportToDewesoft(output_path)
Die DewesoftProcessor-Klasse kann entweder eine eigene DewesoftX-Instanz starten (UI-Modus) oder sich an eine laufende Instanz anhängen (CLI-Modus für Sequencer).
Für Endnutzer
1. KML Channel Extractor (UI)
Datei: KML_Channel_Extractor.exe
Zweck: Aus einer oder mehreren .dxd-Dateien ein neues .dxd mit nur Kanal AI 1 erstellen.
Bedienung
- EXE per Doppelklick starten
- Quelldateien (.dxd): Button "Dateien hinzufügen" — beliebig viele
.dxd-Dateien auswählen - Zielpfad: Ausgabeordner wählen (Button "…")
- Verarbeitung starten klicken
- Fortschrittsanzeige zeigt aktuelle Datei und Schritt an
Ergebnis
Je Quelldatei entsteht eine neue Datei im Zielordner nach dem Muster:
<originalname>_A1.dxd
2. KML Channel Extractor CLI
Datei: KML_Channel_Extractor_CLI.exe
Zweck: Dieselbe Funktion wie oben, aber ohne Fenster — zum Aufruf aus dem Dewesoft Sequencer oder der Kommandozeile.
Aufruf
KML_Channel_Extractor_CLI.exe "<Quelldatei.dxd>" "<Zielordner>"
Beispiel:
KML_Channel_Extractor_CLI.exe "C:\Dewesoft\Data\mess.dxd" "C:\Dewesoft\Exports"
Einbindung in Dewesoft Sequencer
Block Dateimanager → "Datei öffnen" mit folgender Konfiguration:
| Feld | Wert |
|---|---|
| Dateiname | C:\Pfad\zur\KML_Channel_Extractor_CLI.exe |
| Parameter | "'<variable>'" "C:\Dewesoft\Exports" |
| Warten bis Anwendung endet | ✓ |
Dabei <variable> durch die Sequencer-Variable ersetzen, die den Pfad der zu verarbeitenden .dxd-Datei enthält.
Log-Datei
Im Fehlerfall schreibt die CLI-EXE eine Logdatei mit allen Schritten und Fehlern:
<EXE-Ordner>\KML_Channel_Extractor.log
3. KML Cleanup
Datei: KML_Cleanup.exe
Zweck: Leert die beiden Dewesoft-Arbeitsordner:
C:\Dewesoft\DataC:\Dewesoft\Exports
Bedienung
- Per Doppelklick oder aus dem Sequencer starten
- Keine Rückfrage — die Aktion startet sofort
- Dateien, die gerade in Benutzung sind, werden stillschweigend übersprungen
- Am Ende wird ausgegeben wie viele Dateien gelöscht bzw. übersprungen wurden
Wichtig
- Es werden nur Dateien gelöscht, keine Unterordner
- Die Ordnerstruktur bleibt erhalten
Fehlerbehandlung
| Symptom | Lösung |
|---|---|
| "DewesoftX nicht gefunden" / COM-Fehler | DewesoftX mind. 1× manuell starten, damit es im System registriert ist |
| Exportierte Datei lässt sich nicht öffnen | Quelldatei nochmal frisch exportieren; bei Wiederauftreten Raw-Datei prüfen |
| CLI liefert keine Ausgabe | Log-Datei neben der EXE prüfen |
| "Zielordner nicht gefunden" | Ordner manuell anlegen oder Pfad-Schreibweise prüfen (keine überzähligen Anführungszeichen) |
Lizenz / Kontakt
Entwickelt für Messfeld.