143 lines
4.0 KiB
Markdown
143 lines
4.0 KiB
Markdown
# VZAEHLER — Verbindungszähler für BricsCAD
|
|
|
|
Automatische Erkennung und Klassifikation von Linienschnittpunkten auf definierten Layern.
|
|
|
|
---
|
|
|
|
## Voraussetzungen
|
|
|
|
- BricsCAD mit LISP-Unterstützung
|
|
- Zeichnung mit Linien (`LINE`) auf den zu prüfenden Layern
|
|
- Skriptdatei: `verbindungszaehler.lsp`
|
|
|
|
> **Wichtig:** Es werden ausschließlich Verbindungspunkte erkannt, die auf der selben Z-Koordinate liegen.
|
|
|
|
---
|
|
|
|
## Installation
|
|
|
|
Skript laden:
|
|
|
|
```lisp
|
|
(load "R:/pfad/zur/verbindungszaehler.lsp")
|
|
```
|
|
|
|
Oder über die AutoCAD/BricsCAD Befehlszeile:
|
|
|
|
```
|
|
APPLOAD → Datei auswählen → Laden
|
|
```
|
|
|
|
---
|
|
|
|
## Verwendung
|
|
|
|
Befehl in der Befehlszeile eingeben:
|
|
|
|
```
|
|
VZAEHLER
|
|
```
|
|
|
|
### Eingabeaufforderungen
|
|
|
|
| Eingabe | Beschreibung | Default |
|
|
|---|---|---|
|
|
| Layer | Kommagetrennte Liste der zu prüfenden Layer | `D-1, D-5` |
|
|
| Toleranz | Maximaler Abstand in Zeichnungseinheiten für Toleranzverbindungen | `0.50` |
|
|
|
|
Bei einfachem `Return` wird jeweils der Defaultwert verwendet.
|
|
|
|
**Beispiel:**
|
|
|
|
```
|
|
===== VERBINDUNGSZAEHLER =====
|
|
Layer (kommagetrennt) [D-1, D-5]: D-1, D-3
|
|
Toleranz [0.50]:
|
|
Layer : D-1 D-3
|
|
Toleranz : 0.50
|
|
------------------------------
|
|
Linien gefunden: 42
|
|
```
|
|
|
|
---
|
|
|
|
## Verbindungstypen
|
|
|
|
Das Skript unterscheidet drei Typen:
|
|
|
|
| Typ | Beschreibung | Erkennungslogik | Layer | Farbe |
|
|
|---|---|---|---|---|
|
|
| **Kreuzung** | Zwei Linien kreuzen sich, Schnittpunkt liegt im Inneren beider Linien | Nur echter geometrischer Schnitt, toleranzunabhängig | `D-KREUZUNG` | Rot (1) |
|
|
| **T-Verbindung** | Ein Endpunkt liegt auf dem Inneren der anderen Linie | Toleranzbasiert | `D-T_VERBINDUNG` | Grün (3) |
|
|
| **Eckverbindung** | Zwei Endpunkte berühren sich | Toleranzbasiert | `D-ECKVERBINDUNG` | Gelb (5) |
|
|
|
|
> **Wichtig:** Kreuzungen werden ausschließlich über echten geometrischen Schnitt erkannt — niemals über Toleranz. T-Verbindungen und Eckverbindungen werden niemals als Kreuzung klassifiziert, auch wenn sich die verlängerten Linien schneiden würden.
|
|
|
|
---
|
|
|
|
## Ergebnis in der Zeichnung
|
|
|
|
An jedem erkannten Verbindungspunkt wird ein Kreis (Radius 100 Einheiten) auf dem jeweiligen Ergebnislayer gezeichnet. Die Layer werden automatisch angelegt falls sie noch nicht existieren.
|
|
|
|
---
|
|
|
|
## Ausgabedatei
|
|
|
|
Nach der Auswertung wird automatisch eine Textdatei im Verzeichnis der Zeichnung erstellt:
|
|
|
|
```
|
|
<Zeichnungsname>_<YYYYMMDD-HHMMSS>_vzaehler.txt
|
|
```
|
|
|
|
**Beispiel:** `meinplan_20260507-143211_vzaehler.txt`
|
|
|
|
### Inhalt der Ausgabedatei
|
|
|
|
```
|
|
================================================
|
|
VERBINDUNGSZAEHLER - ERGEBNIS
|
|
================================================
|
|
|
|
Datum/Zeit : 07.05.2026 14:32:11
|
|
Zeichnung : R:\projekte\meinplan.dwg
|
|
Layer : D-1, D-5
|
|
|
|
------------------------------------------------
|
|
VERBINDUNGSTYPEN
|
|
------------------------------------------------
|
|
|
|
Kreuzungen : 3
|
|
T-Verbindungen : 8
|
|
Eckverbindungen : 12
|
|
|
|
------------------------------------------------
|
|
SUMMEN
|
|
------------------------------------------------
|
|
|
|
Kreuzungen : 3
|
|
Kontaktpunkte (T + Eck) : 20
|
|
davon T-Verbindungen : 8
|
|
davon Eckverbindungen : 12
|
|
|
|
GESAMT : 23
|
|
|
|
================================================
|
|
```
|
|
|
|
---
|
|
|
|
## Toleranz — Hinweise
|
|
|
|
Die Toleranz wirkt **ausschließlich** auf T-Verbindungen und Eckverbindungen:
|
|
|
|
- Zu **klein**: Echte Verbindungen werden nicht erkannt (z.B. bei minimal versetzten Endpunkten durch Zeichenungenauigkeit)
|
|
- Zu **groß**: Linien die sich nicht berühren werden fälschlich als verbunden gezählt
|
|
- Empfehlung: Toleranz an die Zeichnungsgenauigkeit anpassen, typisch `0.1` bis `1.0` Zeichnungseinheiten (mm bei metrischer Konfiguration)
|
|
|
|
---
|
|
|
|
## Bekannte Einschränkungen
|
|
|
|
- Es werden nur Objekte vom Typ `LINE` ausgewertet — keine Polylinien, Bögen oder Splines
|
|
- Die Auswertung erfolgt in 2D (XY-Ebene), Z-Koordinaten werden ignoriert
|
|
- Bei sehr großen Zeichnungen (1000+ Linien) kann die Laufzeit spürbar steigen, da alle Linienpaare gegeneinander geprüft werden (O(n²)) |