CSV-Export: Nachbarschaftserkennung neu aufgebaut (ohne shapely), Fehlerspalte ergaenzt
Nachbarschaft wird jetzt in drei getrennten Gruppen geprueft statt global
ueber alle Elemente: Kreisel/Eckrad gegeneinander, Kreisel/Eckrad gegen
Gefaellestrecke/Foerderer/Strecke-Modul (diese drei nicht gegeneinander),
und Omniflo-Elemente gegeneinander (rasterbasiert vorgefiltert nach x/y-
Koordinate). Ersetzt die bisherige shapely-STRtree-Loesung durch reines
Python, da die shapely-Abhaengigkeit den regulaeren CSV-Export in der von
BricsCAD genutzten Python-Umgebung brechen konnte.
Neue Spalte "Fehler" markiert Elemente mit zu wenigen Partnern
("unverbunden"/"nur ein Partner") je nach TeileArt-Mindestanzahl.
Ausserdem: SSG_RUN_ALL_TESTS-Absturz nach TEST_KREISEL behoben (ssg-start/
ssg-end nutzten flache globale Variablen statt eines Stacks, wodurch
verschachtelte Aufrufe den *error*-Handler dauerhaft korrumpierten) und
FILEDIA=0 um den DXFOUT-Kommandozeilenaufruf ergaenzt.
This commit is contained in:
+34
-6
@@ -31,9 +31,22 @@ pattern_ks_subblocks= KS_EIN, KS_AUS, K1, K2, K3, K4
|
||||
[Planquadrate]
|
||||
section=Planquadrate_AN
|
||||
|
||||
# x_origin/y_origin (in m, DXF-Koordinate der Planquadrat-Ecke A/1 bzw. 1/1):
|
||||
# Der Zeichnungsnullpunkt (0,0) liegt in der Regel NICHT in der Gebaeudeecke -
|
||||
# Bauteile mit negativer x/y-Koordinate wuerden ohne Offset einen Planquadrat-
|
||||
# Index <= 0 ergeben und damit ein leeres Label (z.B. "/" oder "A/") liefern.
|
||||
# Leer lassen/weglassen = automatisch: der Ursprung wird bei jedem Export neu
|
||||
# auf das jeweils am weitesten links (x_origin) bzw. am weitesten unten
|
||||
# (y_origin) liegende Element der aktuellen Zeichnung gesetzt, damit gilt
|
||||
# immer Index 1 = dieses Element. Nur explizit setzen, wenn ein fester
|
||||
# Bezug zur realen Gebaeudeecke gebraucht wird (z.B. Vergleich ueber
|
||||
# mehrere Exportlaeufe/Zeichnungen hinweg).
|
||||
x_origin=
|
||||
y_origin=
|
||||
|
||||
# hier kann man im csv Export aus den Koordinaten der Bauteile die Planquadrate berechnen lassen, in denen sie liegen
|
||||
# Zählung ist numerisch oder Alphabetisch möglich, Schrittweite in m (z.B. 2m pro Spalte, 4m pro Zeile)
|
||||
# liegt man im ersten Quadrat, ist diese A/1, oder 1/1 oder 1/A, je nach Formatierung. Die Zählung beginnt immer bei 1
|
||||
# liegt man im ersten Quadrat, ist diese A/1, oder 1/1 oder 1/A, je nach Formatierung. Die Zählung beginnt immer bei 1
|
||||
[Planquadrate_NA]
|
||||
# z.B. 1/A
|
||||
x_step=2
|
||||
@@ -48,7 +61,7 @@ x_step=2
|
||||
x_description=alphabetisch # Buchstaben, von links nach rechts, 2m pro Spalte
|
||||
y_step=2
|
||||
y_description=alphabetisch # Zahlen von unten nach oben, 2m pro Zeile
|
||||
format= {x}/{y}
|
||||
format= {x}/{y}
|
||||
|
||||
[Planquadrate_NN]
|
||||
# z.B. 2/5
|
||||
@@ -61,7 +74,22 @@ format= {x}/{y}
|
||||
[Nachbarschaft]
|
||||
# Toleranz fuer die Nachbarschaftserkennung beim CSV-Export (Spalte "Nachbarn").
|
||||
# Die Bounding-Box jedes Elements wird um die Haelfte dieses Werts nach allen
|
||||
# Seiten erweitert, bevor per STRtree (shapely) auf Ueberschneidung mit anderen
|
||||
# Elementen geprueft wird - zwei Elemente mit einem Abstand <= toleranz_mm
|
||||
# (z.B. zwei Kreisel) gelten dann ebenfalls als benachbart. Wert in mm.
|
||||
toleranz_mm=200
|
||||
# Seiten erweitert, bevor auf Ueberschneidung mit anderen Elementen geprueft
|
||||
# wird - zwei Elemente mit einem Abstand <= toleranz_mm (z.B. zwei Kreisel)
|
||||
# gelten dann ebenfalls als benachbart. Wert in mm. Siehe lib/export_neighbors.py.
|
||||
toleranz_mm=200
|
||||
|
||||
# Rastergroesse (mm) fuer die Omniflo-Nachbarschaftspruefung (Bogen/Weiche/
|
||||
# Gerade gegen Bogen/Weiche/Gerade). Omniflo-Elemente werden vor dem
|
||||
# Ueberschneidungstest nach x/y-Koordinate in Quadranten dieser Groesse
|
||||
# eingeteilt, geprueft wird dann nur innerhalb derselben und der 8
|
||||
# angrenzenden Zellen (statt jedes Element gegen jedes). Sollte groesser
|
||||
# als die ueblichen Omniflo-Bauteile sein (AP110-Geraden ca. 2000mm).
|
||||
omniflo_zellgroesse_mm=3000
|
||||
|
||||
[Boundingbox]
|
||||
# Mindesthoehe (Z-Ausdehnung) der von export.lsp (csv:get-bbox, per
|
||||
# vla-getboundingbox) ermittelten Bounding-Box. Flache 2D-Bloecke (Draufsicht)
|
||||
# haben oft dz=0 - wird auf diesen Wert angehoben. Wert in mm. Default 1, falls
|
||||
# nicht gesetzt.
|
||||
bb_minimum_height_mm=1
|
||||
Reference in New Issue
Block a user