Add 22+ new building component symbols

- bauteile.js: Added Gipskartonwand (1-fach/2-fach), Fachwerkwand,
  Holzvertäfelung, Schacht, Gipskartondecke, Holzbalkendecke,
  Betondecke, Holzverkleidung Decke, Teppich, Doppelboden,
  Flachdach, Retentionsdach, Dachziegel, Dachlatte,
  PUR/EPS/XPS-Dämmung, Tor, Geländer
- elektro.js: New category with Steckdose, Doppelsteckdose,
  Lichtschalter, Verteilerdose, Sicherungskasten, Deckenlampe
- sanitaer.js: Added Duscharmatur, Gartenwasserhahn
- index.html: Added elektro.js script and Elektro filter pill

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
architeur
2025-12-14 22:14:23 +01:00
parent 8e9b760520
commit 7edd3215ad
4 changed files with 214 additions and 0 deletions

View File

@@ -75,6 +75,152 @@ SYMBOLS.bauteile = {
filename: "bauteil_rohr.svg",
tags: ["rohr", "leitung", "rohrleitung", "installation"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="26" width="56" height="12" fill="#6b7280" stroke="#4b5563" stroke-width="2"/><ellipse cx="4" cy="32" rx="3" ry="8" fill="#9ca3af" stroke="#4b5563" stroke-width="1"/><ellipse cx="60" cy="32" rx="3" ry="8" fill="#9ca3af" stroke="#4b5563" stroke-width="1"/><line x1="14" y1="26" x2="14" y2="38" stroke="#4b5563" stroke-width="1"/><line x1="32" y1="26" x2="32" y2="38" stroke="#4b5563" stroke-width="1"/><line x1="50" y1="26" x2="50" y2="38" stroke="#4b5563" stroke-width="1"/><rect x="20" y="22" width="8" height="20" rx="1" fill="#ef4444" stroke="#dc2626" stroke-width="1"/><polygon points="24,18 20,22 28,22" fill="#ef4444"/></svg>`
},
// === WÄNDE ===
{
id: "gipskartonwand_1fach",
name: "Gipskartonwand 1-fach beplankt",
filename: "bauteil_gkw_1fach.svg",
tags: ["gipskarton", "trockenbau", "wand", "1-fach", "gkw"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="#f5f5f4" stroke="#78716c" stroke-width="2"/><line x1="4" y1="32" x2="60" y2="32" stroke="#a8a29e" stroke-width="1"/><rect x="26" y="8" width="12" height="48" fill="#d6d3d1" stroke="#78716c" stroke-width="1"/><text x="32" y="35" font-family="Arial" font-size="8" fill="#57534e" text-anchor="middle">GK</text></svg>`
},
{
id: "gipskartonwand_2fach",
name: "Gipskartonwand 2-fach beplankt",
filename: "bauteil_gkw_2fach.svg",
tags: ["gipskarton", "trockenbau", "wand", "2-fach", "gkw", "doppelt"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="#f5f5f4" stroke="#78716c" stroke-width="2"/><line x1="4" y1="32" x2="60" y2="32" stroke="#a8a29e" stroke-width="1"/><rect x="22" y="8" width="8" height="48" fill="#d6d3d1" stroke="#78716c" stroke-width="1"/><rect x="34" y="8" width="8" height="48" fill="#d6d3d1" stroke="#78716c" stroke-width="1"/><text x="32" y="35" font-family="Arial" font-size="6" fill="#57534e" text-anchor="middle">2xGK</text></svg>`
},
{
id: "fachwerkwand",
name: "Fachwerkwand",
filename: "bauteil_fachwerk.svg",
tags: ["fachwerk", "wand", "holz", "historisch", "gefache"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="#fef3c7" stroke="#92400e" stroke-width="2"/><line x1="4" y1="4" x2="60" y2="60" stroke="#92400e" stroke-width="3"/><line x1="60" y1="4" x2="4" y2="60" stroke="#92400e" stroke-width="3"/><line x1="32" y1="4" x2="32" y2="60" stroke="#92400e" stroke-width="3"/><line x1="4" y1="32" x2="60" y2="32" stroke="#92400e" stroke-width="3"/></svg>`
},
{
id: "holzvertaefelung_wand",
name: "Holzvertäfelung Wand",
filename: "bauteil_holzvertaefelung.svg",
tags: ["holz", "vertäfelung", "wand", "paneele", "wandverkleidung"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="#d4a574" stroke="#92400e" stroke-width="2"/><line x1="14" y1="4" x2="14" y2="60" stroke="#b8860b" stroke-width="1"/><line x1="24" y1="4" x2="24" y2="60" stroke="#b8860b" stroke-width="1"/><line x1="34" y1="4" x2="34" y2="60" stroke="#b8860b" stroke-width="1"/><line x1="44" y1="4" x2="44" y2="60" stroke="#b8860b" stroke-width="1"/><line x1="54" y1="4" x2="54" y2="60" stroke="#b8860b" stroke-width="1"/><path d="M8 12 Q10 10 12 12" stroke="#c9a066" stroke-width="1" fill="none"/><path d="M38 28 Q40 26 42 28" stroke="#c9a066" stroke-width="1" fill="none"/></svg>`
},
{
id: "schacht",
name: "Schacht / Installationsschacht",
filename: "bauteil_schacht.svg",
tags: ["schacht", "installation", "rohr", "versorgung"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="12" y="4" width="40" height="56" fill="#e5e7eb" stroke="#6b7280" stroke-width="2"/><rect x="16" y="8" width="32" height="48" fill="#9ca3af" stroke="#6b7280" stroke-width="1"/><line x1="24" y1="8" x2="24" y2="56" stroke="#ef4444" stroke-width="2"/><line x1="32" y1="8" x2="32" y2="56" stroke="#3b82f6" stroke-width="2"/><line x1="40" y1="8" x2="40" y2="56" stroke="#fbbf24" stroke-width="2"/></svg>`
},
// === DECKEN ===
{
id: "gipskartondecke",
name: "Gipskartondecke",
filename: "bauteil_gkdecke.svg",
tags: ["gipskarton", "decke", "trockenbau", "abhängig"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="16" width="56" height="32" fill="#f5f5f4" stroke="#78716c" stroke-width="2"/><line x1="4" y1="24" x2="60" y2="24" stroke="#a8a29e" stroke-width="1" stroke-dasharray="4,2"/><line x1="4" y1="40" x2="60" y2="40" stroke="#a8a29e" stroke-width="1" stroke-dasharray="4,2"/><line x1="20" y1="8" x2="20" y2="16" stroke="#6b7280" stroke-width="2"/><line x1="44" y1="8" x2="44" y2="16" stroke="#6b7280" stroke-width="2"/><text x="32" y="35" font-family="Arial" font-size="8" fill="#57534e" text-anchor="middle">GK</text></svg>`
},
{
id: "holzbalkendecke",
name: "Holzbalkendecke",
filename: "bauteil_holzbalkendecke.svg",
tags: ["holz", "balken", "decke", "altbau"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="#fef3c7" stroke="#92400e" stroke-width="2"/><rect x="8" y="12" width="48" height="8" fill="#d4a574" stroke="#92400e" stroke-width="1"/><rect x="8" y="28" width="48" height="8" fill="#d4a574" stroke="#92400e" stroke-width="1"/><rect x="8" y="44" width="48" height="8" fill="#d4a574" stroke="#92400e" stroke-width="1"/><line x1="12" y1="16" x2="52" y2="16" stroke="#b8860b" stroke-width="1"/><line x1="12" y1="32" x2="52" y2="32" stroke="#b8860b" stroke-width="1"/><line x1="12" y1="48" x2="52" y2="48" stroke="#b8860b" stroke-width="1"/></svg>`
},
{
id: "betondecke",
name: "Betondecke",
filename: "bauteil_betondecke.svg",
tags: ["beton", "decke", "stahlbeton", "massiv"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="16" width="56" height="32" fill="#9ca3af" stroke="#6b7280" stroke-width="2"/><circle cx="12" cy="26" r="2" fill="#6b7280" opacity="0.5"/><circle cx="32" cy="22" r="1.5" fill="#6b7280" opacity="0.4"/><circle cx="52" cy="30" r="2.5" fill="#6b7280" opacity="0.5"/><circle cx="20" cy="38" r="1.5" fill="#6b7280" opacity="0.4"/><circle cx="44" cy="42" r="2" fill="#6b7280" opacity="0.5"/><line x1="8" y1="32" x2="56" y2="32" stroke="#4b5563" stroke-width="1" stroke-dasharray="2,2"/></svg>`
},
{
id: "holzverkleidung_decke",
name: "Holzverkleidung Decke",
filename: "bauteil_holzdecke.svg",
tags: ["holz", "decke", "paneele", "verkleidung"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="#d4a574" stroke="#92400e" stroke-width="2"/><line x1="4" y1="12" x2="60" y2="12" stroke="#b8860b" stroke-width="1"/><line x1="4" y1="22" x2="60" y2="22" stroke="#b8860b" stroke-width="1"/><line x1="4" y1="32" x2="60" y2="32" stroke="#b8860b" stroke-width="1"/><line x1="4" y1="42" x2="60" y2="42" stroke="#b8860b" stroke-width="1"/><line x1="4" y1="52" x2="60" y2="52" stroke="#b8860b" stroke-width="1"/><path d="M16 18 Q18 16 20 18" stroke="#c9a066" stroke-width="1" fill="none"/><path d="M42 38 Q44 36 46 38" stroke="#c9a066" stroke-width="1" fill="none"/></svg>`
},
// === BÖDEN ===
{
id: "teppich",
name: "Teppich / Teppichboden",
filename: "bauteil_teppich.svg",
tags: ["teppich", "boden", "bodenbelag", "textil"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="#7c3aed" stroke="#5b21b6" stroke-width="2"/><pattern id="tp" width="8" height="8" patternUnits="userSpaceOnUse"><circle cx="4" cy="4" r="1.5" fill="#8b5cf6"/></pattern><rect x="6" y="6" width="52" height="52" fill="url(#tp)"/><rect x="8" y="8" width="48" height="48" fill="none" stroke="#6d28d9" stroke-width="1" stroke-dasharray="2,2"/></svg>`
},
{
id: "doppelboden",
name: "Doppelboden / Hohlraumboden",
filename: "bauteil_doppelboden.svg",
tags: ["doppelboden", "hohlraum", "boden", "installation", "edv"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="20" fill="#d6d3d1" stroke="#78716c" stroke-width="2"/><rect x="4" y="40" width="56" height="20" fill="#9ca3af" stroke="#6b7280" stroke-width="2"/><rect x="8" y="24" width="8" height="16" fill="#78716c" stroke="#57534e" stroke-width="1"/><rect x="28" y="24" width="8" height="16" fill="#78716c" stroke="#57534e" stroke-width="1"/><rect x="48" y="24" width="8" height="16" fill="#78716c" stroke="#57534e" stroke-width="1"/><line x1="16" y1="32" x2="28" y2="32" stroke="#3b82f6" stroke-width="2" stroke-dasharray="3,2"/><line x1="36" y1="32" x2="48" y2="32" stroke="#ef4444" stroke-width="2" stroke-dasharray="3,2"/></svg>`
},
// === DACH ===
{
id: "flachdach",
name: "Flachdach",
filename: "bauteil_flachdach.svg",
tags: ["flachdach", "dach", "bitumen", "folie"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="24" width="56" height="16" fill="#57534e" stroke="#44403c" stroke-width="2"/><rect x="4" y="40" width="56" height="16" fill="#9ca3af" stroke="#6b7280" stroke-width="1"/><line x1="4" y1="24" x2="60" y2="24" stroke="#78716c" stroke-width="3"/><rect x="24" y="12" width="16" height="12" fill="#6b7280" stroke="#57534e" stroke-width="1"/><ellipse cx="32" cy="12" rx="6" ry="2" fill="#4b5563"/></svg>`
},
{
id: "retentionsdach",
name: "Retentionsdach",
filename: "bauteil_retentionsdach.svg",
tags: ["retention", "dach", "regenwasser", "gründach"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="32" width="56" height="12" fill="#57534e" stroke="#44403c" stroke-width="2"/><rect x="4" y="44" width="56" height="12" fill="#9ca3af" stroke="#6b7280" stroke-width="1"/><rect x="4" y="20" width="56" height="12" fill="#16a34a" stroke="#15803d" stroke-width="1"/><path d="M8 20 Q12 14 16 20 Q20 14 24 20 Q28 14 32 20 Q36 14 40 20 Q44 14 48 20 Q52 14 56 20" fill="none" stroke="#22c55e" stroke-width="2"/><path d="M16 28 Q20 24 24 28" stroke="#3b82f6" stroke-width="2" fill="none"/><path d="M40 28 Q44 24 48 28" stroke="#3b82f6" stroke-width="2" fill="none"/></svg>`
},
{
id: "dachziegel",
name: "Dachziegel",
filename: "bauteil_dachziegel.svg",
tags: ["dachziegel", "ziegel", "dach", "ton"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="#b91c1c" stroke="#7f1d1d" stroke-width="2"/><path d="M4 12 Q14 8 24 12 Q34 16 44 12 Q54 8 60 12" stroke="#991b1b" stroke-width="2" fill="none"/><path d="M4 24 Q14 20 24 24 Q34 28 44 24 Q54 20 60 24" stroke="#991b1b" stroke-width="2" fill="none"/><path d="M4 36 Q14 32 24 36 Q34 40 44 36 Q54 32 60 36" stroke="#991b1b" stroke-width="2" fill="none"/><path d="M4 48 Q14 44 24 48 Q34 52 44 48 Q54 44 60 48" stroke="#991b1b" stroke-width="2" fill="none"/></svg>`
},
{
id: "dachlatte",
name: "Dachlatte / Lattung",
filename: "bauteil_dachlatte.svg",
tags: ["dachlatte", "latte", "dach", "holz", "unterkonstruktion"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="#fef3c7" stroke="#92400e" stroke-width="2"/><rect x="4" y="10" width="56" height="6" fill="#d4a574" stroke="#b8860b" stroke-width="1"/><rect x="4" y="24" width="56" height="6" fill="#d4a574" stroke="#b8860b" stroke-width="1"/><rect x="4" y="38" width="56" height="6" fill="#d4a574" stroke="#b8860b" stroke-width="1"/><rect x="4" y="52" width="56" height="6" fill="#d4a574" stroke="#b8860b" stroke-width="1"/></svg>`
},
// === DÄMMUNG ===
{
id: "pur_daemmung",
name: "PUR-Dämmung",
filename: "bauteil_pur.svg",
tags: ["pur", "dämmung", "polyurethan", "schaum", "isolierung"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="#fbbf24" stroke="#d97706" stroke-width="2"/><circle cx="12" cy="14" r="3" fill="#fcd34d" opacity="0.8"/><circle cx="28" cy="22" r="4" fill="#fcd34d" opacity="0.7"/><circle cx="48" cy="16" r="2.5" fill="#fcd34d" opacity="0.8"/><circle cx="18" cy="36" r="3.5" fill="#fcd34d" opacity="0.7"/><circle cx="38" cy="42" r="3" fill="#fcd34d" opacity="0.8"/><circle cx="52" cy="38" r="2" fill="#fcd34d" opacity="0.7"/><circle cx="24" cy="52" r="2.5" fill="#fcd34d" opacity="0.8"/><circle cx="44" cy="54" r="3" fill="#fcd34d" opacity="0.7"/><text x="32" y="35" font-family="Arial" font-size="8" fill="#92400e" text-anchor="middle">PUR</text></svg>`
},
{
id: "eps_daemmung",
name: "EPS-Dämmung (Styropor)",
filename: "bauteil_eps.svg",
tags: ["eps", "styropor", "dämmung", "polystyrol", "isolierung"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="#f5f5f5" stroke="#a3a3a3" stroke-width="2"/><circle cx="12" cy="12" r="4" fill="#e5e5e5" stroke="#d4d4d4" stroke-width="1"/><circle cx="28" cy="16" r="5" fill="#e5e5e5" stroke="#d4d4d4" stroke-width="1"/><circle cx="48" cy="12" r="3" fill="#e5e5e5" stroke="#d4d4d4" stroke-width="1"/><circle cx="16" cy="32" r="4" fill="#e5e5e5" stroke="#d4d4d4" stroke-width="1"/><circle cx="36" cy="28" r="5" fill="#e5e5e5" stroke="#d4d4d4" stroke-width="1"/><circle cx="52" cy="32" r="4" fill="#e5e5e5" stroke="#d4d4d4" stroke-width="1"/><circle cx="12" cy="48" r="3" fill="#e5e5e5" stroke="#d4d4d4" stroke-width="1"/><circle cx="32" cy="48" r="5" fill="#e5e5e5" stroke="#d4d4d4" stroke-width="1"/><circle cx="52" cy="52" r="4" fill="#e5e5e5" stroke="#d4d4d4" stroke-width="1"/><text x="32" y="35" font-family="Arial" font-size="8" fill="#737373" text-anchor="middle">EPS</text></svg>`
},
{
id: "xps_daemmung",
name: "XPS-Dämmung",
filename: "bauteil_xps.svg",
tags: ["xps", "dämmung", "extrudiert", "perimeter", "isolierung"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="#60a5fa" stroke="#2563eb" stroke-width="2"/><line x1="4" y1="14" x2="60" y2="14" stroke="#93c5fd" stroke-width="1"/><line x1="4" y1="24" x2="60" y2="24" stroke="#93c5fd" stroke-width="1"/><line x1="4" y1="34" x2="60" y2="34" stroke="#93c5fd" stroke-width="1"/><line x1="4" y1="44" x2="60" y2="44" stroke="#93c5fd" stroke-width="1"/><line x1="4" y1="54" x2="60" y2="54" stroke="#93c5fd" stroke-width="1"/><text x="32" y="35" font-family="Arial" font-size="10" font-weight="bold" fill="#1e40af" text-anchor="middle">XPS</text></svg>`
},
// === SONSTIGES ===
{
id: "tor",
name: "Tor / Garagentor",
filename: "bauteil_tor.svg",
tags: ["tor", "garagentor", "einfahrt", "rolltor"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="8" width="56" height="48" fill="#78716c" stroke="#57534e" stroke-width="2"/><line x1="4" y1="16" x2="60" y2="16" stroke="#57534e" stroke-width="2"/><line x1="4" y1="24" x2="60" y2="24" stroke="#57534e" stroke-width="2"/><line x1="4" y1="32" x2="60" y2="32" stroke="#57534e" stroke-width="2"/><line x1="4" y1="40" x2="60" y2="40" stroke="#57534e" stroke-width="2"/><line x1="4" y1="48" x2="60" y2="48" stroke="#57534e" stroke-width="2"/><rect x="26" y="36" width="12" height="8" rx="1" fill="#44403c"/></svg>`
},
{
id: "gelaender",
name: "Geländer / Brüstung",
filename: "bauteil_gelaender.svg",
tags: ["geländer", "brüstung", "balkon", "absturz", "handlauf"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="8" width="56" height="8" fill="#6b7280" stroke="#4b5563" stroke-width="2"/><line x1="12" y1="16" x2="12" y2="56" stroke="#6b7280" stroke-width="3"/><line x1="32" y1="16" x2="32" y2="56" stroke="#6b7280" stroke-width="3"/><line x1="52" y1="16" x2="52" y2="56" stroke="#6b7280" stroke-width="3"/><line x1="22" y1="16" x2="22" y2="56" stroke="#9ca3af" stroke-width="2"/><line x1="42" y1="16" x2="42" y2="56" stroke="#9ca3af" stroke-width="2"/><rect x="4" y="52" width="56" height="8" fill="#9ca3af" stroke="#6b7280" stroke-width="1"/></svg>`
}
]
};

View File

@@ -0,0 +1,52 @@
// ============================================
// SYMBOL-KATEGORIE: Elektro
// ============================================
SYMBOLS.elektro = {
name: "Elektro",
icon: "⚡",
items: [
{
id: "steckdose",
name: "Steckdose",
filename: "elektro_steckdose.svg",
tags: ["steckdose", "dose", "elektro", "strom", "schuko"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="8" y="8" width="48" height="48" rx="4" fill="#f5f5f5" stroke="#6b7280" stroke-width="2"/><circle cx="32" cy="32" r="16" fill="#fff" stroke="#4b5563" stroke-width="2"/><circle cx="24" cy="32" r="4" fill="#1f2937"/><circle cx="40" cy="32" r="4" fill="#1f2937"/><path d="M20 20 Q32 16 44 20" stroke="#4b5563" stroke-width="2" fill="none"/><path d="M20 44 Q32 48 44 44" stroke="#4b5563" stroke-width="2" fill="none"/></svg>`
},
{
id: "doppelsteckdose",
name: "Doppelsteckdose",
filename: "elektro_doppelsteckdose.svg",
tags: ["doppelsteckdose", "dose", "elektro", "strom", "doppelt"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="12" width="56" height="40" rx="4" fill="#f5f5f5" stroke="#6b7280" stroke-width="2"/><circle cx="20" cy="32" r="12" fill="#fff" stroke="#4b5563" stroke-width="2"/><circle cx="14" cy="32" r="3" fill="#1f2937"/><circle cx="26" cy="32" r="3" fill="#1f2937"/><circle cx="44" cy="32" r="12" fill="#fff" stroke="#4b5563" stroke-width="2"/><circle cx="38" cy="32" r="3" fill="#1f2937"/><circle cx="50" cy="32" r="3" fill="#1f2937"/><line x1="32" y1="16" x2="32" y2="48" stroke="#d1d5db" stroke-width="1"/></svg>`
},
{
id: "lichtschalter",
name: "Lichtschalter",
filename: "elektro_schalter.svg",
tags: ["schalter", "licht", "elektro", "taster"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="12" y="8" width="40" height="48" rx="4" fill="#f5f5f5" stroke="#6b7280" stroke-width="2"/><rect x="20" y="16" width="24" height="32" rx="2" fill="#e5e7eb" stroke="#4b5563" stroke-width="1"/><rect x="24" y="20" width="16" height="12" rx="1" fill="#d1d5db"/><circle cx="32" cy="40" r="4" fill="#fbbf24" stroke="#d97706" stroke-width="1"/></svg>`
},
{
id: "verteilerdose",
name: "Verteilerdose",
filename: "elektro_verteilerdose.svg",
tags: ["verteiler", "dose", "abzweig", "elektro"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><circle cx="32" cy="32" r="24" fill="#f5f5f5" stroke="#6b7280" stroke-width="2"/><circle cx="32" cy="32" r="16" fill="#e5e7eb" stroke="#4b5563" stroke-width="1"/><line x1="32" y1="8" x2="32" y2="16" stroke="#4b5563" stroke-width="2"/><line x1="32" y1="48" x2="32" y2="56" stroke="#4b5563" stroke-width="2"/><line x1="8" y1="32" x2="16" y2="32" stroke="#4b5563" stroke-width="2"/><line x1="48" y1="32" x2="56" y2="32" stroke="#4b5563" stroke-width="2"/><circle cx="32" cy="32" r="4" fill="#4b5563"/></svg>`
},
{
id: "sicherungskasten",
name: "Sicherungskasten",
filename: "elektro_sicherungskasten.svg",
tags: ["sicherung", "kasten", "verteiler", "elektro"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="8" y="4" width="48" height="56" rx="2" fill="#d1d5db" stroke="#6b7280" stroke-width="2"/><rect x="12" y="8" width="40" height="48" fill="#374151" stroke="#1f2937" stroke-width="1"/><g fill="#22c55e"><rect x="16" y="12" width="6" height="8" rx="1"/><rect x="26" y="12" width="6" height="8" rx="1"/><rect x="36" y="12" width="6" height="8" rx="1"/><rect x="16" y="24" width="6" height="8" rx="1"/><rect x="26" y="24" width="6" height="8" rx="1"/><rect x="36" y="24" width="6" height="8" rx="1" fill="#ef4444"/><rect x="16" y="36" width="6" height="8" rx="1"/><rect x="26" y="36" width="6" height="8" rx="1"/><rect x="36" y="36" width="6" height="8" rx="1"/></g><rect x="46" y="12" width="4" height="32" rx="1" fill="#1f2937"/></svg>`
},
{
id: "lampe_decke",
name: "Deckenlampe",
filename: "elektro_deckenlampe.svg",
tags: ["lampe", "decke", "licht", "beleuchtung"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><circle cx="32" cy="32" r="20" fill="#fef3c7" stroke="#d97706" stroke-width="2"/><circle cx="32" cy="32" r="12" fill="#fbbf24" stroke="#f59e0b" stroke-width="1"/><circle cx="32" cy="32" r="4" fill="#fff"/><line x1="32" y1="4" x2="32" y2="12" stroke="#6b7280" stroke-width="2"/><g stroke="#fbbf24" stroke-width="2"><line x1="8" y1="32" x2="12" y2="32"/><line x1="52" y1="32" x2="56" y2="32"/><line x1="14" y1="14" x2="18" y2="18"/><line x1="46" y1="46" x2="50" y2="50"/><line x1="14" y1="50" x2="18" y2="46"/><line x1="46" y1="18" x2="50" y2="14"/></g></svg>`
}
]
};

View File

@@ -54,6 +54,20 @@ SYMBOLS.bad = {
tags: ["doppelwaschbecken", "waschtisch", "bad", "sanitär", "doppel"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="2" y="16" width="60" height="32" rx="2" fill="#f5f5f5" stroke="#333" stroke-width="2"/><ellipse cx="18" cy="32" rx="10" ry="8" fill="#e0f2fe" stroke="#333" stroke-width="1"/><ellipse cx="46" cy="32" rx="10" ry="8" fill="#e0f2fe" stroke="#333" stroke-width="1"/><circle cx="18" cy="34" r="2" fill="#333"/><circle cx="46" cy="34" r="2" fill="#333"/></svg>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="2" y="16" width="60" height="32" fill="none" stroke="#000" stroke-width="1"/><ellipse cx="18" cy="32" rx="10" ry="8" fill="none" stroke="#000" stroke-width="1"/><ellipse cx="46" cy="32" rx="10" ry="8" fill="none" stroke="#000" stroke-width="1"/><circle cx="18" cy="34" r="2" fill="none" stroke="#000" stroke-width="1"/><circle cx="46" cy="34" r="2" fill="none" stroke="#000" stroke-width="1"/></svg>`
},
{
id: "duscharmatur",
name: "Duscharmatur",
filename: "sanitaer_duscharmatur.svg",
tags: ["dusche", "armatur", "brause", "bad", "sanitär"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="24" y="4" width="16" height="20" rx="2" fill="#9ca3af" stroke="#6b7280" stroke-width="2"/><circle cx="28" cy="12" r="3" fill="#3b82f6" stroke="#2563eb" stroke-width="1"/><circle cx="36" cy="12" r="3" fill="#ef4444" stroke="#dc2626" stroke-width="1"/><rect x="30" y="24" width="4" height="16" fill="#9ca3af" stroke="#6b7280" stroke-width="1"/><ellipse cx="32" cy="48" rx="12" ry="8" fill="#e5e7eb" stroke="#6b7280" stroke-width="2"/><g fill="#3b82f6" opacity="0.6"><circle cx="28" cy="46" r="1.5"/><circle cx="36" cy="46" r="1.5"/><circle cx="32" cy="50" r="1.5"/><circle cx="26" cy="50" r="1"/><circle cx="38" cy="50" r="1"/></g></svg>`
},
{
id: "gartenwasserhahn",
name: "Gartenwasserhahn / Außenzapfstelle",
filename: "sanitaer_gartenwasserhahn.svg",
tags: ["garten", "wasserhahn", "außen", "zapfstelle", "sanitär"],
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="24" y="8" width="16" height="24" rx="2" fill="#6b7280" stroke="#4b5563" stroke-width="2"/><rect x="28" y="32" width="8" height="20" fill="#6b7280" stroke="#4b5563" stroke-width="1"/><rect x="26" y="52" width="12" height="8" fill="#4b5563" stroke="#374151" stroke-width="1"/><circle cx="32" cy="18" r="6" fill="#4b5563" stroke="#374151" stroke-width="1"/><rect x="38" y="14" width="16" height="8" rx="2" fill="#ef4444" stroke="#dc2626" stroke-width="1"/><line x1="42" y1="18" x2="52" y2="18" stroke="#dc2626" stroke-width="2"/><path d="M26 56 Q20 60 18 52" stroke="#3b82f6" stroke-width="2" fill="none" stroke-dasharray="2,2"/></svg>`
}
]
};