|
|
|
@@ -10,14 +10,17 @@ Dieses Projekt analysiert DXF-Dateien und identifiziert Verbindungs- bzw. Schnit
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
verbindungszaehler/
|
|
|
|
|
├── verbindungszaehler.bat # Hauptskript zum Starten der Analyse
|
|
|
|
|
├── setenv.bat # Umgebungsvariablen und Verzeichnisstruktur
|
|
|
|
|
├── defaults.cfg # Standardkonfiguration
|
|
|
|
|
├── lib/
|
|
|
|
|
│ ├── analyze.py # Python-Analyseskript
|
|
|
|
|
│ └── dxf_analyzer.py # Kernlogik
|
|
|
|
|
├── input/ # Eingabeverzeichnis für DXF-Dateien
|
|
|
|
|
└── output/ # Ausgabeverzeichnis für Ergebnisse
|
|
|
|
|
├── verbindungszaehler.bat # Hauptskript zum Starten der Analyse
|
|
|
|
|
├── config/
|
|
|
|
|
│ └── config.cfg # Standardkonfiguration
|
|
|
|
|
├── scripts/
|
|
|
|
|
│ └── setenv.bat # Umgebungsvariablen und Verzeichnisstruktur
|
|
|
|
|
├── src/
|
|
|
|
|
│ └── lib/
|
|
|
|
|
│ ├── analyze.py # Python-Analyseskript
|
|
|
|
|
│ └── dxf_analyzer.py # Kernlogik
|
|
|
|
|
├── input/ # Eingabeverzeichnis für DXF-Dateien
|
|
|
|
|
└── output/ # Ausgabeverzeichnis für Ergebnisse
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Voraussetzungen
|
|
|
|
@@ -44,11 +47,11 @@ Doppelklick auf `verbindungszaehler.bat` oder per Kommandozeile:
|
|
|
|
|
verbindungszaehler.bat
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Alle DXF-Dateien im `input/`-Verzeichnis werden automatisch mit den Einstellungen aus `defaults.cfg` analysiert.
|
|
|
|
|
Alle DXF-Dateien im `input/`-Verzeichnis werden automatisch mit den Einstellungen aus `config.cfg` analysiert.
|
|
|
|
|
|
|
|
|
|
### Methode 2: Einzelne Datei per Drag & Drop
|
|
|
|
|
|
|
|
|
|
Ziehen Sie eine DXF-Datei direkt auf die `verbindungszaehler.bat` und lassen Sie sie los. Die Datei wird sofort mit den Einstellungen aus `defaults.cfg` analysiert.
|
|
|
|
|
Ziehen Sie eine DXF-Datei direkt auf die `verbindungszaehler.bat` und lassen Sie sie los. Die Datei wird sofort mit den Einstellungen aus `config/config.cfg` analysiert.
|
|
|
|
|
|
|
|
|
|
### Methode 3: Einzelne Datei per Kommandozeile
|
|
|
|
|
|
|
|
|
@@ -58,9 +61,9 @@ verbindungszaehler.bat "C:\Pfad\zur\datei.dxf"
|
|
|
|
|
|
|
|
|
|
## Konfiguration
|
|
|
|
|
|
|
|
|
|
### defaults.cfg
|
|
|
|
|
### config.cfg
|
|
|
|
|
|
|
|
|
|
Die Datei `defaults.cfg` enthält alle Einstellungen für die Analyse. Passen Sie diese Werte nach Bedarf an:
|
|
|
|
|
Die Datei `config.cfg` enthält alle Einstellungen für die Analyse. Passen Sie diese Werte nach Bedarf an:
|
|
|
|
|
|
|
|
|
|
```cfg
|
|
|
|
|
LAYERS=D-1,D-5
|
|
|
|
@@ -74,7 +77,7 @@ MARK_RADIUS=150
|
|
|
|
|
- **TOLERANCE**: Maximaler Abstand in DXF-Einheiten, bei dem zwei Punkte als identisch gelten (für ungenaue Zeichnungen)
|
|
|
|
|
- **MARK_RADIUS**: Radius der Kreise in DXF-Einheiten, die Schnittpunkte markieren
|
|
|
|
|
|
|
|
|
|
**Hinweis:** Nach Änderungen in `defaults.cfg` werden die neuen Werte bei der nächsten Ausführung automatisch verwendet.
|
|
|
|
|
**Hinweis:** Nach Änderungen in `config.cfg` werden die neuen Werte bei der nächsten Ausführung automatisch verwendet.
|
|
|
|
|
|
|
|
|
|
## Ausgabe
|
|
|
|
|
|
|
|
|
@@ -89,13 +92,13 @@ Das Tool erzeugt für jede analysierte DXF-Datei zwei Dateien im `output/`-Verze
|
|
|
|
|
**Beispiel:**
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
zeichnung_markiert_20241202_14-30.dxf
|
|
|
|
|
zeichnung_analyse_20241202_14-30.txt
|
|
|
|
|
zeichnung_markiert_20241202_14-30-25.dxf
|
|
|
|
|
zeichnung_analyse_20241202_14-30-25.txt
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Funktionsweise
|
|
|
|
|
|
|
|
|
|
1. **setenv.bat** richtet die Verzeichnisstruktur ein und lädt die Konfigurationswerte aus `defaults.cfg`
|
|
|
|
|
1. **setenv.bat** richtet die Verzeichnisstruktur ein und lädt die Konfigurationswerte aus `config.cfg` im `config/`-Ordner
|
|
|
|
|
2. **verbindungszaehler.bat** verarbeitet die angegebene Datei (oder alle Dateien im Input-Ordner) und ruft das Python-Skript auf
|
|
|
|
|
3. **analyze.py** lädt die DXF-Datei und übergibt sie zusammen mit den Konfigurationsparametern an den `IntersectionAnalyzer`
|
|
|
|
|
4. Der Analyzer findet Schnittpunkte zwischen Linien auf den angegebenen Layern innerhalb der definierten Toleranz
|
|
|
|
@@ -105,13 +108,13 @@ zeichnung_analyse_20241202_14-30.txt
|
|
|
|
|
## Workflow-Beispiel
|
|
|
|
|
|
|
|
|
|
1. DXF-Dateien in den `input/`-Ordner kopieren
|
|
|
|
|
2. `defaults.cfg` öffnen und gewünschte Layer-Namen, Toleranz und Markierungsradius eintragen
|
|
|
|
|
2. `config.cfg` im `config/`-Ordner öffnen und gewünschte Layer-Namen, Toleranz und Markierungsradius eintragen
|
|
|
|
|
3. `verbindungszaehler.bat` per Doppelklick starten **oder** eine einzelne DXF-Datei auf die Batch-Datei ziehen
|
|
|
|
|
4. Ergebnisse im `output/`-Ordner überprüfen: **Bevor die Anzahl der Verbindungen weiter verwendet wird, sind die markierten Punkte im Ausgabelayout zwingend auf Fehler zu überprüfen!**
|
|
|
|
|
|
|
|
|
|
## Hinweise
|
|
|
|
|
|
|
|
|
|
- Stellen Sie sicher, dass die Layer-Namen in `defaults.cfg` exakt mit denen in der DXF-Datei übereinstimmen (Groß-/Kleinschreibung beachten)
|
|
|
|
|
- Stellen Sie sicher, dass die Layer-Namen in `config.cfg` exakt mit denen in der DXF-Datei übereinstimmen (Groß-/Kleinschreibung beachten)
|
|
|
|
|
- Bei sehr großen Dateien kann die Analyse einige Zeit in Anspruch nehmen
|
|
|
|
|
- Die Toleranz sollte an die Genauigkeit Ihrer Zeichnungen angepasst werden (typische Werte: 0.01 bis 0.1)
|
|
|
|
|
- Der Markierungsradius sollte groß genug sein, um in der Zeichnung sichtbar zu sein, aber klein genug, um Details nicht zu verdecken
|
|
|
|
@@ -125,8 +128,8 @@ zeichnung_analyse_20241202_14-30.txt
|
|
|
|
|
|
|
|
|
|
##### "Keine Schnittpunkte gefunden"
|
|
|
|
|
|
|
|
|
|
- Prüfen Sie, ob die in `defaults.cfg` angegebenen Layer in der DXF-Datei existieren
|
|
|
|
|
- Erhöhen Sie den TOLERANCE-Wert in `defaults.cfg`, falls Linien nicht exakt verbunden sind
|
|
|
|
|
- Prüfen Sie, ob die in `config.cfg` angegebenen Layer in der DXF-Datei existieren
|
|
|
|
|
- Erhöhen Sie den TOLERANCE-Wert in `config.cfg`, falls Linien nicht exakt verbunden sind
|
|
|
|
|
|
|
|
|
|
##### Python-Fehler
|
|
|
|
|
|
|
|
|
|