{
  "_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]
    }
  }
}
