296 lines
7.6 KiB
JSON
296 lines
7.6 KiB
JSON
{
|
|
"_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": "TOP_BOTTOM/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": 1200,
|
|
"base_y": 1400,
|
|
"spacing": 0
|
|
},
|
|
{
|
|
"name": "MA-1@@_middle_left",
|
|
"count": 1,
|
|
"layout_type": "single",
|
|
"base_x": 300,
|
|
"base_y": 900,
|
|
"spacing": 0
|
|
},
|
|
{
|
|
"name": "MA-1@@_middle_right",
|
|
"count": 1,
|
|
"layout_type": "single",
|
|
"base_x": 850,
|
|
"base_y": 900,
|
|
"spacing": 0
|
|
},
|
|
{
|
|
"name": "MA-1@@_bottom_center",
|
|
"count": 1,
|
|
"layout_type": "single",
|
|
"base_x": 620,
|
|
"base_y": 400,
|
|
"spacing": 0
|
|
},
|
|
{
|
|
"name": "MA-1@@_right_top",
|
|
"count": 1,
|
|
"layout_type": "single",
|
|
"base_x": 1600,
|
|
"base_y": 1200,
|
|
"spacing": 0
|
|
},
|
|
{
|
|
"name": "MA-1@@_right_middle",
|
|
"count": 1,
|
|
"layout_type": "single",
|
|
"base_x": 1600,
|
|
"base_y": 700,
|
|
"spacing": 0
|
|
},
|
|
{
|
|
"name": "MA-1@@_right_bottom",
|
|
"count": 1,
|
|
"layout_type": "single",
|
|
"base_x": 1520,
|
|
"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": 1200, "y": 1400},
|
|
{"x": 1600, "y": 1200},
|
|
{"x": 1600, "y": 700},
|
|
{"x": 1520, "y": 400},
|
|
{"x": 620, "y": 400},
|
|
{"x": 300, "y": 900},
|
|
{"x": 850, "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]
|
|
}
|
|
}
|
|
}
|