From 24fd45e6ae2b19b53870e615c8cc394f6f13fef4 Mon Sep 17 00:00:00 2001 From: lertlmaier Date: Mon, 30 Jun 2025 14:57:06 +0200 Subject: [PATCH] =?UTF-8?q?3D-H=C3=B6eninformations-Handler=20jetzt=20auch?= =?UTF-8?q?=20in=20nicht-iterativer=20Methodik?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/getpositions.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/lib/getpositions.py b/lib/getpositions.py index 4015d09..4a02d71 100644 --- a/lib/getpositions.py +++ b/lib/getpositions.py @@ -355,16 +355,22 @@ def get_rack_positions(msp): rack_counter = 1 #Zaehler für Rack Nummerierung all_layers = list(config.items('GetPos-Layer_Racks')) - for (layer,v) in all_layers: - selectstr = f'LWPOLYLINE[layer=="{layer}"]' - for e in msp.query(selectstr): - #print_polyline(e) + + for layer, _ in all_layers: + # Suche nach LWPOLYLINE + lw_query = f'LWPOLYLINE[layer=="{layer}"]' + for entity in msp.query(lw_query): rack_key = f"Rack_{rack_counter}" - ret[rack_key] = list() - for x, y, z, start_width, end_width, bulge in e.get_points(): # Gibt Tuple (x, y, start_width, end_width, bulge) - p = [round(x,1), round(y,1), round(z,1)] - ret[rack_key].append(p) - rack_counter +=1 + handle_lwpolyline(entity, rack_key, ret) + rack_counter += 1 + + # Suche nach klassischer POLYLINE + pl_query = f'POLYLINE[layer=="{layer}"]' + for entity in msp.query(pl_query): + rack_key = f"Rack_{rack_counter}" + handle_polyline(entity, rack_key, ret) + rack_counter += 1 + return ret def get_rack_positions_iter(dxf_path):