No description
Find a file
Bettina Oberrauter 41199bdc9e Initial commit: KML Channel Extractor + CLI + Cleanup Tool
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.
2026-04-24 13:15:57 +02:00
assets Initial commit: KML Channel Extractor + CLI + Cleanup Tool 2026-04-24 13:15:57 +02:00
.gitignore Initial commit: KML Channel Extractor + CLI + Cleanup Tool 2026-04-24 13:15:57 +02:00
Benutzeranleitung.md Initial commit: KML Channel Extractor + CLI + Cleanup Tool 2026-04-24 13:15:57 +02:00
build.py Initial commit: KML Channel Extractor + CLI + Cleanup Tool 2026-04-24 13:15:57 +02:00
cleanup_tool.py Initial commit: KML Channel Extractor + CLI + Cleanup Tool 2026-04-24 13:15:57 +02:00
main.py Initial commit: KML Channel Extractor + CLI + Cleanup Tool 2026-04-24 13:15:57 +02:00
make_icon.py Initial commit: KML Channel Extractor + CLI + Cleanup Tool 2026-04-24 13:15:57 +02:00
processor.py Initial commit: KML Channel Extractor + CLI + Cleanup Tool 2026-04-24 13:15:57 +02:00
PROJECT.md Initial commit: KML Channel Extractor + CLI + Cleanup Tool 2026-04-24 13:15:57 +02:00
README.md Initial commit: KML Channel Extractor + CLI + Cleanup Tool 2026-04-24 13:15:57 +02:00
requirements.txt Initial commit: KML Channel Extractor + CLI + Cleanup Tool 2026-04-24 13:15:57 +02:00
ui.py Initial commit: KML Channel Extractor + CLI + Cleanup Tool 2026-04-24 13:15:57 +02:00

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:

  1. LoadFile(source) — zweimalig (ohne den zweiten Aufruf verursacht ExportToDewesoft eine Access Violation)
  2. Für alle Kanäle: ch.Exported = (ch.Name == "AI 1")
  3. 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

  1. EXE per Doppelklick starten
  2. Quelldateien (.dxd): Button "Dateien hinzufügen" — beliebig viele .dxd-Dateien auswählen
  3. Zielpfad: Ausgabeordner wählen (Button "…")
  4. Verarbeitung starten klicken
  5. 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\Data
  • C:\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.