{ "_description": "Konfiguration für create_example.py zur Erzeugung von Test-DXF-Dateien", "test_scenes": { "Nummerierung1": { "description": "Test-Szene für automatische Nummerierung von MA-Symbolen mit Renamer-Rahmen", "ma_groups": [ { "name": "MA-1@@_top", "count": 3, "layout_type": "horizontal", "base_x": 1500, "base_y": 1000, "spacing": 1450 }, { "name": "MA-1@@_bottom", "count": 1, "layout_type": "single", "base_x": 500, "base_y": 200, "spacing": 0 }, { "name": "MA-2@@_bottom", "count": 3, "layout_type": "horizontal_offset", "base_x": 1500, "base_y": 400, "spacing": 1450 } ], "renaming_frames": [ { "comment": "Rahmen 1: Rechts oben - umschließt 3x MA-1@@", "name": "MA-1@@", "kennzeichnung": "A01+UH00", "layer_name": "ILS_MOTOR", "direction": "LEFT_RIGHT", "x": 1400, "y": 1100, "width": 3600, "height": 580, "use_polyline": false }, { "comment": "Rahmen 2: Links unten - umschließt 1x MA-1@@, schmaler Rahmen mit Polylinie", "name": "MA-1@@", "kennzeichnung": "A01+UH00", "layer_name": "ILS_MOTOR", "direction": "LEFT_RIGHT", "x": 450, "y": 150, "width": 1400, "height": 480, "use_polyline": true }, { "comment": "Rahmen 3: Rechts unten - umschließt 3x MA-2@@, mit Extra-Höhe für vertikale Offsets", "name": "MA-2@@", "kennzeichnung": "A01+UH00", "layer_name": "ILS_MOTOR", "direction": "TOP_BOTTOM", "x": 1400, "y": 250, "width": 3600, "height": 680, "use_polyline": false } ] }, "Nummerierung2": { "description": "Test-Szene mit komplexem Layout - 8 MA-1@@ Symbole in verschiedenen Anordnungen", "ma_groups": [ { "name": "MA-1@@_top_left", "count": 1, "layout_type": "single", "base_x": 200, "base_y": 1400, "spacing": 0 }, { "name": "MA-1@@_top_right", "count": 1, "layout_type": "single", "base_x": 240000, "base_y": 1400, "spacing": 0 }, { "name": "MA-1@@_middle_left", "count": 1, "layout_type": "single", "base_x": 600, "base_y": 900, "spacing": 0 }, { "name": "MA-1@@_middle_right", "count": 1, "layout_type": "single", "base_x": 1700, "base_y": 900, "spacing": 0 }, { "name": "MA-1@@_bottom_center", "count": 1, "layout_type": "single", "base_x": 1240, "base_y": 400, "spacing": 0 }, { "name": "MA-1@@_right_top", "count": 1, "layout_type": "single", "base_x": 3200, "base_y": 1200, "spacing": 0 }, { "name": "MA-1@@_right_middle", "count": 1, "layout_type": "single", "base_x": 3200, "base_y": 700, "spacing": 0 }, { "name": "MA-1@@_right_bottom", "count": 1, "layout_type": "single", "base_x": 3040, "base_y": 400, "spacing": 0 } ], "renaming_frames": [ { "comment": "Polyline-Pfad: Verbindet alle MA-1@@ in kreisförmiger Bewegung", "type": "polyline_path", "name": "MA-1@@", "kennzeichnung": "A01+UH00", "layer_name": "ILS_MOTOR", "direction": "POLYLINE_PATH", "path_points": [ {"x": 200, "y": 1400}, {"x": 2400, "y": 1400}, {"x": 3200, "y": 1200}, {"x": 3200, "y": 700}, {"x": 3040, "y": 400}, {"x": 1240, "y": 400}, {"x": 600, "y": 900}, {"x": 1700, "y": 900}, {"x": 200, "y": 1400} ] } ] } }, "ma_defaults": { "_description": "Standard-Werte für MA-Symbole", "block_name": "io", "layer": "ILS_MOTOR", "attributes": { "SPS": "1", "VERW": "Motor", "ARTIKELNR": "790902001", "ARTIKELBEZEICHN": "E-Teile für SEW Motor ASE1-HAN10ES-BG", "KENNZEICHNUNG": "=A01+UH00", "REALE_POSITION": "x", "TEXT-D": "", "TEXT-E": "", "TEXT-ES": "", "TEXT-F": "", "TEXT-I": "", "ID": "" }, "dimensions": { "_comment": "Symbol-Dimensionen für Layout-Berechnung. Basiert auf Analyse: ~201.49 Einheiten Breite pro Zeichen, 380.94 Einheiten Höhe", "width_per_char": 201.49, "fixed_height": 380.94 } }, "general": { "_description": "Allgemeine Frame-Attribute und Einstellungen. Renamer Frame Struktur (zweistufig): Äußerer Block mit LWPOLYLINE (umschließender Rahmen), Innerer Block mit ATTDEF (NAME, KENNZEICHNUNG, LAYER_NAME, DIRECTION)", "ma_frame": { "_description": "MA Frame-Typ Attribute (einfache Frames für MA, MG, etc.)", "layer": "ILS_RENAMER", "color": 1, "attdef_positions": { "_description": "ATTDEF Positionen im inneren Block RENAMER_ATTRIB_MA", "NAME": { "x": 10, "y": -10, "height": 21.25 }, "KENNZEICHNUNG": { "x": 10, "y": -35, "height": 21.25 }, "LAYER_NAME": { "x": 10, "y": -60, "height": 21.25 }, "DIRECTION": { "x": 10, "y": -85, "height": 21.25 } } }, "multi_frame": { "_description": "MULTI Frame-Typ Attribute (für BG/MG/POT mit mehreren Layern)", "layer": "ILS_RENAMER", "color": 1, "attdef_positions": { "_description": "ATTDEF Positionen im inneren Block RENAMER_ATTRIB_MULTI", "NAME1": { "x": 10, "y": 80, "height": 21.25 }, "NAME2": { "x": 10, "y": 60, "height": 21.25 }, "NAME3": { "x": 10, "y": 40, "height": 21.25 }, "KENNZEICHNUNG": { "x": 10, "y": 20, "height": 21.25 }, "LAYER_NAME1": { "x": 10, "y": -20, "height": 21.25 }, "LAYER_NAME2": { "x": 10, "y": -40, "height": 21.25 }, "LAYER_NAME3": { "x": 10, "y": -60, "height": 21.25 }, "DIRECTION": { "x": 10, "y": -80, "height": 21.25 }, "ID": { "x": 10, "y": -100, "height": 21.25 } } }, "textstyle": { "attrib_textstyle": "textstyle3", "attrib_color": 1 }, "inner_block_position": { "_description": "Innerer Block Insert-Position (relativ zum äußeren Block)", "x": 10, "y_offset_from_top": 30 }, "layout": { "_description": "Frame-Padding (Abstand zwischen Symbol und Rahmen), Symbol-Spacing (Abstand zwischen Symbolen in Gruppen)", "frame_padding": 100, "frame_padding_small": 50, "symbol_spacing_factor": 1.2, "horizontal_offset_y_offsets": [0, -50, 50] } } }