cc301b318e
data/json/component_defaults.json: Neue zentrale Konfigurationsdatei
mit Standardwerten fuer alle Komponenten (kreisel, eckrad, omniflo,
vario, gefaelle, infrastruktur). Bisher waren Konstanten (Masse,
Farben, Toleranzen, Defaults) hart im LISP-Code eingebettet.
Lisp/ssg_core.lsp: JSON-Parser und Config-Zugriff hinzugefuegt:
- ssg-read-file-lines: Datei zeilenweise einlesen
- ssg-cfg-trim, ssg-cfg-split-comma: String-Hilfsfunktionen
- ssg-cfg-parse-value, ssg-cfg-parse-array: JSON-Wert-Parser
(unterstuetzt String, Zahl, Boolean, Array, null)
- ssg-cfg-parse-section: JSON-Sektion zu Assoziationsliste parsen
- ssg-load-config: Laedt component_defaults.json in *ssg-config*
- ssg-cfg: Wert aus *ssg-config* lesen, nil wenn nicht vorhanden
- ssg-cfg-or: Wert aus Config lesen mit Fallback-Default
Lisp/ssg_load.lsp: (ssg-load-config) wird direkt nach dem Laden von
ssg_core.lsp aufgerufen, sodass die Config beim Laden aller weiteren
Module bereits verfuegbar ist.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
56 lines
1.4 KiB
JSON
56 lines
1.4 KiB
JSON
{
|
|
"kreisel": {
|
|
"durchmesser": 800.0,
|
|
"pin_abstand": 100.0,
|
|
"default_laenge": 2300.0,
|
|
"default_hoehe": 2000.0,
|
|
"label_hoehe": 100.0,
|
|
"label_farbe": 7,
|
|
"label_abstand_oben": 0.0,
|
|
"color_linie_1": 5,
|
|
"color_linie_2": 1,
|
|
"color_pin": 3,
|
|
"toleranz_kollinear": 0.01,
|
|
"toleranz_winkel": 1.0,
|
|
"toleranz_min_distanz": 0.001
|
|
},
|
|
"eckrad": {
|
|
"default_hoehe": 2000.0
|
|
},
|
|
"omniflo": {
|
|
"text_height": 100.0,
|
|
"text_gap": 20.0,
|
|
"default_hoehe": "2000",
|
|
"default_drehung": "0",
|
|
"laengemax_ap60": 7000.0,
|
|
"laengemax_ap110": 6000.0,
|
|
"laengemax_apg110": 6000.0,
|
|
"default_gerade_laenge": "2000",
|
|
"bogen_winkel": [180, 90, 67.5, 45, 22.5],
|
|
"weichen_winkel_90": 90,
|
|
"weichen_winkel_45": 45,
|
|
"weichen_winkel_parallel": 0,
|
|
"weichen_winkel_koerper": 22.5
|
|
},
|
|
"vario": {
|
|
"staustrecke_basis": 1000,
|
|
"feste_horizontal": 1600,
|
|
"bogen_winkel": [3, 6, 9, 12, 15, 18, 21, 27, 33, 39, 45, 51],
|
|
"gefaelle_winkel": 3,
|
|
"separator_block_dx": 300,
|
|
"separator_block_dz": 0,
|
|
"station_block_dx": 499,
|
|
"station_block_dz": -26,
|
|
"skalierung_basis": 1000.0
|
|
},
|
|
"gefaelle": {
|
|
"default_delta_l": 5000.0,
|
|
"default_winkel": 3.0,
|
|
"separator_breite": 300.0
|
|
},
|
|
"infrastruktur": {
|
|
"attdef_y_spacing_factor": 2.0,
|
|
"dialog_preview_bg_color": -18,
|
|
"mm_pro_meter": 1000.0
|
|
}
|
|
} |