// ============================================
// SYMBOL-DEFINITIONEN
// Gutachter Symbolbibliothek v2.0
// ============================================
const SYMBOLS = {
// ========== SCHADENSARTEN ==========
schaeden: {
name: "Schadensarten",
icon: "🔥",
items: [
{
id: "wasserschaden",
name: "Wasserschaden",
filename: "wasserschaden_symbol.svg",
tags: ["wasser", "feuchtigkeit", "nass"],
svg: ``,
dxfSvg: ``
},
{
id: "brandschaden",
name: "Brandschaden",
filename: "brandschaden_symbol.svg",
tags: ["feuer", "brand", "flamme"],
svg: ``,
dxfSvg: ``
},
{
id: "rauchschaden",
name: "Rauchschaden",
filename: "rauchschaden_symbol.svg",
tags: ["rauch", "russ", "qualm"],
svg: ``,
dxfSvg: ``
},
{
id: "leitungswasser",
name: "Leitungswasser / Rohrbruch",
filename: "leitungswasserschaden_symbol.svg",
tags: ["rohr", "leitung", "bruch", "wasser"],
svg: ``,
dxfSvg: ``
},
{
id: "schimmel",
name: "Schimmelschaden",
filename: "schimmelschaden_symbol.svg",
tags: ["schimmel", "pilz", "feucht", "sporen"],
svg: ``,
dxfSvg: ``
},
{
id: "sturm",
name: "Sturmschaden",
filename: "sturmschaden_symbol.svg",
tags: ["sturm", "wind", "dach", "unwetter"],
svg: ``,
dxfSvg: ``
},
{
id: "einbruch",
name: "Einbruchschaden",
filename: "einbruchschaden_symbol.svg",
tags: ["einbruch", "diebstahl", "fenster", "tür"],
svg: ``,
dxfSvg: ``
},
{
id: "elektro",
name: "Elektroschaden",
filename: "elektroschaden_symbol.svg",
tags: ["elektro", "strom", "blitz", "kurzschluss"],
svg: ``,
dxfSvg: ``
},
{
id: "hagel",
name: "Hagelschaden",
filename: "hagelschaden_symbol.svg",
tags: ["hagel", "eis", "dellen", "unwetter"],
svg: ``,
dxfSvg: ``
},
{
id: "vandalismus",
name: "Vandalismus",
filename: "vandalismus_symbol.svg",
tags: ["vandalismus", "graffiti", "zerstörung", "sachbeschädigung"],
svg: ``,
dxfSvg: ``
}
]
},
// ========== WERKZEUGE & MARKIERUNGEN ==========
werkzeuge: {
name: "Werkzeuge & Markierungen",
icon: "🔧",
items: [
{
id: "massstab",
name: "Maßstab 1m",
filename: "massstab_1m.svg",
tags: ["maßstab", "meter", "lineal", "messen"],
svg: ``,
dxfSvg: ``
},
{
id: "messpunkt",
name: "Messpunkt",
filename: "messpunkt.svg",
tags: ["messpunkt", "markierung", "punkt", "messen"],
svg: ``,
dxfSvg: ``
},
{
id: "kamera",
name: "Fotostandpunkt",
filename: "fotostandpunkt.svg",
tags: ["foto", "kamera", "standpunkt", "aufnahme"],
svg: ``,
dxfSvg: ``
},
{
id: "lupe",
name: "Detailbereich",
filename: "detailbereich.svg",
tags: ["detail", "lupe", "vergrößerung", "zoom"],
svg: ``,
dxfSvg: ``
},
{
id: "notiz",
name: "Notiz / Hinweis",
filename: "notiz_hinweis.svg",
tags: ["notiz", "hinweis", "anmerkung", "text"],
svg: ``,
dxfSvg: ``
},
{
id: "warnung",
name: "Warnung / Achtung",
filename: "warnung_achtung.svg",
tags: ["warnung", "achtung", "gefahr", "vorsicht"],
svg: ``,
dxfSvg: ``
},
{
id: "info",
name: "Information",
filename: "information.svg",
tags: ["info", "information", "hinweis", "details"],
svg: ``,
dxfSvg: ``
},
{
id: "haken",
name: "Erledigt / OK",
filename: "erledigt_ok.svg",
tags: ["ok", "erledigt", "fertig", "haken", "check"],
svg: ``,
dxfSvg: ``
},
{
id: "kreuz",
name: "Fehler / Mangel",
filename: "fehler_mangel.svg",
tags: ["fehler", "mangel", "falsch", "kreuz"],
svg: ``,
dxfSvg: ``
},
{
id: "fragezeichen",
name: "Unklar / Prüfen",
filename: "unklar_pruefen.svg",
tags: ["unklar", "prüfen", "frage", "unbekannt"],
svg: ``,
dxfSvg: ``
}
]
},
// ========== BAUTEILE ==========
bauteile: {
name: "Bauteile",
icon: "🏗️",
items: [
{
id: "fenster",
name: "Fenster",
filename: "bauteil_fenster.svg",
tags: ["fenster", "verglasung", "rahmen"],
svg: ``,
dxfSvg: ``
},
{
id: "tuer",
name: "Tür",
filename: "bauteil_tuer.svg",
tags: ["tür", "türblatt", "eingang"],
svg: ``,
dxfSvg: ``
},
{
id: "wand",
name: "Wand (Mauerwerk)",
filename: "bauteil_wand.svg",
tags: ["wand", "mauer", "mauerwerk", "ziegel"],
svg: ``,
dxfSvg: ``
},
{
id: "wand_beton",
name: "Wand (Beton)",
filename: "bauteil_wand_beton.svg",
tags: ["wand", "beton", "stahlbeton", "massiv"],
svg: ``,
dxfSvg: ``
},
{
id: "boden_fliesen",
name: "Fliesen",
filename: "bauteil_fliesen.svg",
tags: ["fliesen", "boden", "wand", "keramik", "kacheln"],
svg: ``,
dxfSvg: ``
},
{
id: "boden_parkett",
name: "Parkett / Holzboden",
filename: "bauteil_parkett.svg",
tags: ["parkett", "holz", "boden", "laminat", "dielen"],
svg: ``,
dxfSvg: ``
},
{
id: "dach",
name: "Dach",
filename: "bauteil_dach.svg",
tags: ["dach", "dachstuhl", "ziegel", "bedachung"],
svg: ``,
dxfSvg: ``
},
{
id: "treppe",
name: "Treppe",
filename: "bauteil_treppe.svg",
tags: ["treppe", "stufen", "aufgang", "treppenhaus"],
svg: ``,
dxfSvg: ``
},
{
id: "daemmung",
name: "Dämmung / Isolierung",
filename: "bauteil_daemmung.svg",
tags: ["dämmung", "isolierung", "wärme", "kälte"],
svg: ``,
dxfSvg: ``
},
{
id: "rohr",
name: "Rohrleitung",
filename: "bauteil_rohr.svg",
tags: ["rohr", "leitung", "rohrleitung", "installation"],
svg: ``,
dxfSvg: ``
}
]
},
// ========== MÖBEL ==========
moebel: {
name: "Möbel",
icon: "🛋️",
items: [
{
id: "sofa",
name: "Sofa / Couch",
filename: "moebel_sofa.svg",
tags: ["sofa", "couch", "sitzmoebel", "wohnzimmer"],
svg: ``,
dxfSvg: ``
},
{
id: "tisch",
name: "Tisch",
filename: "moebel_tisch.svg",
tags: ["tisch", "esstisch", "schreibtisch", "möbel"],
svg: ``,
dxfSvg: ``
},
{
id: "stuhl",
name: "Stuhl",
filename: "moebel_stuhl.svg",
tags: ["stuhl", "sitz", "möbel", "esszimmer"],
svg: ``,
dxfSvg: ``
},
{
id: "schrank",
name: "Schrank",
filename: "moebel_schrank.svg",
tags: ["schrank", "kleiderschrank", "möbel", "stauraum"],
svg: ``,
dxfSvg: ``
},
{
id: "bett",
name: "Bett",
filename: "moebel_bett.svg",
tags: ["bett", "schlafzimmer", "möbel", "schlafen"],
svg: ``,
dxfSvg: ``
},
{
id: "regal",
name: "Regal",
filename: "moebel_regal.svg",
tags: ["regal", "bücherregal", "möbel", "stauraum"],
svg: ``,
dxfSvg: ``
}
]
},
// ========== BAD / SANITÄR ==========
bad: {
name: "Bad & Sanitär",
icon: "🚿",
items: [
{
id: "wc",
name: "WC / Toilette",
filename: "wc_draufsicht.svg",
tags: ["wc", "toilette", "klo", "bad", "sanitär"],
svg: ``,
dxfSvg: ``
},
{
id: "waschbecken",
name: "Waschbecken",
filename: "waschbecken_draufsicht.svg",
tags: ["waschbecken", "waschtisch", "bad", "sanitär", "lavabo"],
svg: ``,
dxfSvg: ``
},
{
id: "badewanne",
name: "Badewanne",
filename: "badewanne_draufsicht.svg",
tags: ["badewanne", "wanne", "bad", "sanitär", "baden"],
svg: ``,
dxfSvg: ``
},
{
id: "dusche",
name: "Dusche",
filename: "dusche_draufsicht.svg",
tags: ["dusche", "duschwanne", "bad", "sanitär", "brause"],
svg: ``,
dxfSvg: ``
},
{
id: "bidet",
name: "Bidet",
filename: "bidet_draufsicht.svg",
tags: ["bidet", "bad", "sanitär"],
svg: ``,
dxfSvg: ``
},
{
id: "doppelwaschbecken",
name: "Doppelwaschbecken",
filename: "doppelwaschbecken_draufsicht.svg",
tags: ["doppelwaschbecken", "waschtisch", "bad", "sanitär", "doppel"],
svg: ``,
dxfSvg: ``
}
]
},
// ========== KÜCHE ==========
kueche: {
name: "Küche",
icon: "🍳",
items: [
{
id: "herd",
name: "Herd / Kochfeld",
filename: "kueche_herd.svg",
tags: ["herd", "kochfeld", "küche", "kochen"],
svg: ``,
dxfSvg: ``
},
{
id: "spuele",
name: "Spüle",
filename: "kueche_spuele.svg",
tags: ["spüle", "waschbecken", "küche", "abwasch"],
svg: ``,
dxfSvg: ``
},
{
id: "kuehlschrank",
name: "Kühlschrank",
filename: "kueche_kuehlschrank.svg",
tags: ["kühlschrank", "kühlen", "küche", "elektrogerät"],
svg: ``,
dxfSvg: ``
},
{
id: "backofen",
name: "Backofen",
filename: "kueche_backofen.svg",
tags: ["backofen", "ofen", "küche", "backen"],
svg: ``,
dxfSvg: ``
},
{
id: "spuelmaschine",
name: "Spülmaschine",
filename: "kueche_spuelmaschine.svg",
tags: ["spülmaschine", "geschirrspüler", "küche", "elektrogerät"],
svg: ``,
dxfSvg: ``
},
{
id: "dunstabzug",
name: "Dunstabzugshaube",
filename: "kueche_dunstabzug.svg",
tags: ["dunstabzug", "dunstabzugshaube", "küche", "abzug"],
svg: ``,
dxfSvg: ``
}
]
},
// ========== PFEILE (dynamisch) ==========
pfeile: {
name: "Richtungspfeile (Rot)",
icon: "➡️",
items: []
},
// ========== KOMPASS (dynamisch) ==========
kompass: {
name: "Nordpfeile / Kompass",
icon: "🧭",
items: []
},
// ========== VERMESSUNG - STATUS ==========
vermessung_status: {
name: "Vermessung - Status",
icon: "📋",
items: [
{
id: "vm_reparatur",
name: "Reparatur",
filename: "vermessung_reparatur.svg",
tags: ["reparatur", "instandsetzung", "vermessung"],
svg: ``
},
{
id: "vm_neu",
name: "Neu",
filename: "vermessung_neu.svg",
tags: ["neu", "neubau", "vermessung"],
svg: ``
},
{
id: "vm_bestand",
name: "Bestand",
filename: "vermessung_bestand.svg",
tags: ["bestand", "bestehend", "vermessung"],
svg: ``
},
{
id: "vm_abriss",
name: "Abriss",
filename: "vermessung_abriss.svg",
tags: ["abriss", "rückbau", "vermessung"],
svg: ``
},
{
id: "vm_geplant",
name: "Geplant",
filename: "vermessung_geplant.svg",
tags: ["geplant", "planung", "vermessung"],
svg: ``
}
]
},
// ========== VERMESSUNG - GRENZEN ==========
vermessung_grenzen: {
name: "Vermessung - Grenzen",
icon: "📍",
items: [
{
id: "vm_grundstuecksgrenze",
name: "Grundstücksgrenze",
filename: "vermessung_grundstuecksgrenze.svg",
tags: ["grundstück", "grenze", "flurstück", "vermessung"],
svg: ``
},
{
id: "vm_grenzpunkt_vermarkt",
name: "Grenzpunkt (vermarkt)",
filename: "vermessung_grenzpunkt_vermarkt.svg",
tags: ["grenzpunkt", "grenzstein", "vermarkt", "vermessung"],
svg: ``
},
{
id: "vm_grenzpunkt_unvermarkt",
name: "Grenzpunkt (unvermarkt)",
filename: "vermessung_grenzpunkt_unvermarkt.svg",
tags: ["grenzpunkt", "unvermarkt", "vermessung"],
svg: ``
},
{
id: "vm_flurstucksgrenze",
name: "Flurstücksgrenze",
filename: "vermessung_flurstucksgrenze.svg",
tags: ["flurstück", "grenze", "kataster", "vermessung"],
svg: ``
},
{
id: "vm_zaun",
name: "Zaun",
filename: "vermessung_zaun.svg",
tags: ["zaun", "einfriedung", "grenze", "vermessung"],
svg: ``
},
{
id: "vm_mauer",
name: "Mauer",
filename: "vermessung_mauer.svg",
tags: ["mauer", "wand", "einfriedung", "vermessung"],
svg: ``
},
{
id: "vm_hecke",
name: "Hecke",
filename: "vermessung_hecke.svg",
tags: ["hecke", "grün", "bepflanzung", "vermessung"],
svg: ``
}
]
},
// ========== VERMESSUNG - WASSER ==========
vermessung_wasser: {
name: "Vermessung - Wasser",
icon: "💧",
items: [
{
id: "vm_hydrant_unterflur",
name: "Hydrant (Unterflur)",
filename: "vermessung_hydrant_unterflur.svg",
tags: ["hydrant", "unterflur", "wasser", "feuerwehr", "vermessung"],
svg: ``
},
{
id: "vm_hydrant_ueberflur",
name: "Hydrant (Überflur)",
filename: "vermessung_hydrant_ueberflur.svg",
tags: ["hydrant", "überflur", "wasser", "feuerwehr", "vermessung"],
svg: ``
},
{
id: "vm_wasserschacht",
name: "Trinkwasserschacht",
filename: "vermessung_wasserschacht.svg",
tags: ["schacht", "wasser", "trinkwasser", "vermessung"],
svg: ``
},
{
id: "vm_wasserschieber",
name: "Wasserschieber",
filename: "vermessung_wasserschieber.svg",
tags: ["schieber", "absperrer", "wasser", "vermessung"],
svg: ``
},
{
id: "vm_brunnen",
name: "Brunnen",
filename: "vermessung_brunnen.svg",
tags: ["brunnen", "wasser", "quelle", "vermessung"],
svg: ``
},
{
id: "vm_wasserleitung",
name: "Wasserleitung",
filename: "vermessung_wasserleitung.svg",
tags: ["leitung", "wasser", "rohr", "vermessung"],
svg: ``
}
]
},
// ========== VERMESSUNG - ABWASSER ==========
vermessung_abwasser: {
name: "Vermessung - Abwasser",
icon: "🚰",
items: [
{
id: "vm_abwasserschacht",
name: "Abwasserschacht",
filename: "vermessung_abwasserschacht.svg",
tags: ["schacht", "abwasser", "kanal", "vermessung"],
svg: ``
},
{
id: "vm_schacht_rund",
name: "Schacht (rund)",
filename: "vermessung_schacht_rund.svg",
tags: ["schacht", "rund", "kanal", "vermessung"],
svg: ``
},
{
id: "vm_schacht_eckig",
name: "Schacht (eckig)",
filename: "vermessung_schacht_eckig.svg",
tags: ["schacht", "eckig", "kanal", "vermessung"],
svg: ``
},
{
id: "vm_einlauf",
name: "Einlauf / Gully",
filename: "vermessung_einlauf.svg",
tags: ["einlauf", "gully", "straßenablauf", "vermessung"],
svg: ``
},
{
id: "vm_abwasserleitung",
name: "Abwasserleitung",
filename: "vermessung_abwasserleitung.svg",
tags: ["leitung", "abwasser", "kanal", "vermessung"],
svg: ``
}
]
},
// ========== VERMESSUNG - STROM ==========
vermessung_strom: {
name: "Vermessung - Strom",
icon: "⚡",
items: [
{
id: "vm_hausanschluss_elektro",
name: "Hausanschluss Elektro",
filename: "vermessung_hausanschluss_elektro.svg",
tags: ["hausanschluss", "elektro", "strom", "vermessung"],
svg: ``
},
{
id: "vm_laterne",
name: "Laterne / Mast",
filename: "vermessung_laterne.svg",
tags: ["laterne", "mast", "beleuchtung", "vermessung"],
svg: ``
},
{
id: "vm_stromkabel",
name: "Stromkabel",
filename: "vermessung_stromkabel.svg",
tags: ["kabel", "strom", "leitung", "vermessung"],
svg: ``
},
{
id: "vm_schaltkasten",
name: "Schaltkasten",
filename: "vermessung_schaltkasten.svg",
tags: ["schaltkasten", "verteiler", "strom", "vermessung"],
svg: ``
},
{
id: "vm_trafostation",
name: "Trafostation",
filename: "vermessung_trafostation.svg",
tags: ["trafo", "station", "umspanner", "vermessung"],
svg: ``
},
{
id: "vm_mast_holz",
name: "Mast (Holz)",
filename: "vermessung_mast_holz.svg",
tags: ["mast", "holz", "freileitung", "vermessung"],
svg: ``
},
{
id: "vm_mast_beton",
name: "Mast (Beton)",
filename: "vermessung_mast_beton.svg",
tags: ["mast", "beton", "freileitung", "vermessung"],
svg: ``
},
{
id: "vm_mast_stahl",
name: "Mast (Stahl)",
filename: "vermessung_mast_stahl.svg",
tags: ["mast", "stahl", "freileitung", "vermessung"],
svg: ``
}
]
},
// ========== VERMESSUNG - GAS ==========
vermessung_gas: {
name: "Vermessung - Gas",
icon: "🔥",
items: [
{
id: "vm_gasschieber",
name: "Gasschieber",
filename: "vermessung_gasschieber.svg",
tags: ["schieber", "absperrer", "gas", "vermessung"],
svg: ``
},
{
id: "vm_gasleitung",
name: "Gasleitung",
filename: "vermessung_gasleitung.svg",
tags: ["leitung", "gas", "rohr", "vermessung"],
svg: ``
},
{
id: "vm_hausanschluss_gas",
name: "Hausanschluss Gas",
filename: "vermessung_hausanschluss_gas.svg",
tags: ["hausanschluss", "gas", "anschluss", "vermessung"],
svg: ``
}
]
},
// ========== VERMESSUNG - VERKEHR ==========
vermessung_verkehr: {
name: "Vermessung - Verkehr",
icon: "🚗",
items: [
{
id: "vm_gleise",
name: "Gleise / Schienen",
filename: "vermessung_gleise.svg",
tags: ["gleise", "schienen", "bahn", "vermessung"],
svg: ``
},
{
id: "vm_prellbock",
name: "Prellbock",
filename: "vermessung_prellbock.svg",
tags: ["prellbock", "gleisende", "bahn", "vermessung"],
svg: ``
},
{
id: "vm_verkehrsschild",
name: "Verkehrsschild",
filename: "vermessung_verkehrsschild.svg",
tags: ["schild", "verkehr", "straße", "vermessung"],
svg: ``
},
{
id: "vm_ampel",
name: "Ampel",
filename: "vermessung_ampel.svg",
tags: ["ampel", "signal", "verkehr", "vermessung"],
svg: ``
},
{
id: "vm_haltestelle",
name: "Haltestelle",
filename: "vermessung_haltestelle.svg",
tags: ["haltestelle", "bus", "bahn", "vermessung"],
svg: ``
},
{
id: "vm_parkplatz",
name: "Parkplatz",
filename: "vermessung_parkplatz.svg",
tags: ["parkplatz", "parken", "stellplatz", "vermessung"],
svg: ``
},
{
id: "vm_schranke",
name: "Schranke",
filename: "vermessung_schranke.svg",
tags: ["schranke", "bahnübergang", "absperrung", "vermessung"],
svg: ``
}
]
},
// ========== VERMESSUNG - TOPOGRAFIE ==========
vermessung_topografie: {
name: "Vermessung - Topografie",
icon: "🌳",
items: [
{
id: "vm_laubbaum",
name: "Laubbaum",
filename: "vermessung_laubbaum.svg",
tags: ["baum", "laubbaum", "vegetation", "vermessung"],
svg: ``
},
{
id: "vm_nadelbaum",
name: "Nadelbaum",
filename: "vermessung_nadelbaum.svg",
tags: ["baum", "nadelbaum", "tanne", "vermessung"],
svg: ``
},
{
id: "vm_gebaeude",
name: "Gebäude",
filename: "vermessung_gebaeude.svg",
tags: ["gebäude", "haus", "bauwerk", "vermessung"],
svg: ``
},
{
id: "vm_hoehenpunkt",
name: "Höhenpunkt",
filename: "vermessung_hoehenpunkt.svg",
tags: ["höhe", "nivellement", "punkt", "vermessung"],
svg: ``
},
{
id: "vm_boeschung",
name: "Böschung",
filename: "vermessung_boeschung.svg",
tags: ["böschung", "hang", "gelände", "vermessung"],
svg: ``
},
{
id: "vm_fliessrichtung",
name: "Fließrichtung",
filename: "vermessung_fliessrichtung.svg",
tags: ["fließrichtung", "gewässer", "bach", "vermessung"],
svg: ``
},
{
id: "vm_quelle",
name: "Quelle",
filename: "vermessung_quelle.svg",
tags: ["quelle", "wasser", "ursprung", "vermessung"],
svg: ``
},
{
id: "vm_durchlass",
name: "Durchlass",
filename: "vermessung_durchlass.svg",
tags: ["durchlass", "rohr", "kanal", "vermessung"],
svg: ``
},
{
id: "vm_kilometerstein",
name: "Kilometerstein",
filename: "vermessung_kilometerstein.svg",
tags: ["kilometer", "stein", "markierung", "vermessung"],
svg: ``
},
{
id: "vm_poller",
name: "Poller",
filename: "vermessung_poller.svg",
tags: ["poller", "absperrung", "pfosten", "vermessung"],
svg: ``
}
]
}
};
// ========== DYNAMISCHE PFEILE GENERIEREN ==========
function generateArrowSVG(angle) {
return ``;
}
// DXF-taugliche Pfeile (nur Linien, keine Füllung)
function generateArrowDxfSVG(angle) {
return ``;
}
function generateNorthArrowSVG(angle) {
return ``;
}
// DXF-taugliche Nordpfeile (nur Linien)
function generateNorthArrowDxfSVG(angle) {
return ``;
}
// Pfeile und Kompass generieren
for (let angle = 0; angle < 360; angle += 15) {
SYMBOLS.pfeile.items.push({
id: `pfeil_${angle}`,
name: `${angle}°`,
filename: `richtungspfeil_rot_${angle}grad.svg`,
tags: ["pfeil", "richtung", "rot", angle.toString()],
svg: generateArrowSVG(angle),
dxfSvg: generateArrowDxfSVG(angle)
});
SYMBOLS.kompass.items.push({
id: `nord_${angle}`,
name: `${angle}°`,
filename: `kompass_nord_${angle}grad.svg`,
tags: ["nord", "kompass", "himmelsrichtung", angle.toString()],
svg: generateNorthArrowSVG(angle),
dxfSvg: generateNorthArrowDxfSVG(angle)
});
}