Add dxfSvg versions to all new symbols

- bauteile.js: dxfSvg for 17+ new building components
- elektro.js: dxfSvg for all 6 electrical symbols
- sanitaer.js: dxfSvg for duscharmatur + gartenwasserhahn

🤖 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:21:20 +01:00
parent 7edd3215ad
commit ab77c936ec
3 changed files with 56 additions and 28 deletions

View File

@@ -82,35 +82,40 @@ SYMBOLS.bauteile = {
name: "Gipskartonwand 1-fach beplankt", name: "Gipskartonwand 1-fach beplankt",
filename: "bauteil_gkw_1fach.svg", filename: "bauteil_gkw_1fach.svg",
tags: ["gipskarton", "trockenbau", "wand", "1-fach", "gkw"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="none" stroke="#000" stroke-width="1"/><line x1="4" y1="32" x2="60" y2="32" stroke="#000" stroke-width="1"/><rect x="26" y="8" width="12" height="48" fill="none" stroke="#000" stroke-width="1"/></svg>`
}, },
{ {
id: "gipskartonwand_2fach", id: "gipskartonwand_2fach",
name: "Gipskartonwand 2-fach beplankt", name: "Gipskartonwand 2-fach beplankt",
filename: "bauteil_gkw_2fach.svg", filename: "bauteil_gkw_2fach.svg",
tags: ["gipskarton", "trockenbau", "wand", "2-fach", "gkw", "doppelt"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="none" stroke="#000" stroke-width="1"/><line x1="4" y1="32" x2="60" y2="32" stroke="#000" stroke-width="1"/><rect x="22" y="8" width="8" height="48" fill="none" stroke="#000" stroke-width="1"/><rect x="34" y="8" width="8" height="48" fill="none" stroke="#000" stroke-width="1"/></svg>`
}, },
{ {
id: "fachwerkwand", id: "fachwerkwand",
name: "Fachwerkwand", name: "Fachwerkwand",
filename: "bauteil_fachwerk.svg", filename: "bauteil_fachwerk.svg",
tags: ["fachwerk", "wand", "holz", "historisch", "gefache"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="none" stroke="#000" stroke-width="1"/><line x1="4" y1="4" x2="60" y2="60" stroke="#000" stroke-width="1"/><line x1="60" y1="4" x2="4" y2="60" stroke="#000" stroke-width="1"/><line x1="32" y1="4" x2="32" y2="60" stroke="#000" stroke-width="1"/><line x1="4" y1="32" x2="60" y2="32" stroke="#000" stroke-width="1"/></svg>`
}, },
{ {
id: "holzvertaefelung_wand", id: "holzvertaefelung_wand",
name: "Holzvertäfelung Wand", name: "Holzvertäfelung Wand",
filename: "bauteil_holzvertaefelung.svg", filename: "bauteil_holzvertaefelung.svg",
tags: ["holz", "vertäfelung", "wand", "paneele", "wandverkleidung"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="none" stroke="#000" stroke-width="1"/><line x1="14" y1="4" x2="14" y2="60" stroke="#000" stroke-width="1"/><line x1="24" y1="4" x2="24" y2="60" stroke="#000" stroke-width="1"/><line x1="34" y1="4" x2="34" y2="60" stroke="#000" stroke-width="1"/><line x1="44" y1="4" x2="44" y2="60" stroke="#000" stroke-width="1"/><line x1="54" y1="4" x2="54" y2="60" stroke="#000" stroke-width="1"/></svg>`
}, },
{ {
id: "schacht", id: "schacht",
name: "Schacht / Installationsschacht", name: "Schacht / Installationsschacht",
filename: "bauteil_schacht.svg", filename: "bauteil_schacht.svg",
tags: ["schacht", "installation", "rohr", "versorgung"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="12" y="4" width="40" height="56" fill="none" stroke="#000" stroke-width="1"/><rect x="16" y="8" width="32" height="48" fill="none" stroke="#000" stroke-width="1"/><line x1="24" y1="8" x2="24" y2="56" stroke="#000" stroke-width="1"/><line x1="32" y1="8" x2="32" y2="56" stroke="#000" stroke-width="1"/><line x1="40" y1="8" x2="40" y2="56" stroke="#000" stroke-width="1"/></svg>`
}, },
// === DECKEN === // === DECKEN ===
{ {
@@ -118,28 +123,32 @@ SYMBOLS.bauteile = {
name: "Gipskartondecke", name: "Gipskartondecke",
filename: "bauteil_gkdecke.svg", filename: "bauteil_gkdecke.svg",
tags: ["gipskarton", "decke", "trockenbau", "abhängig"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="16" width="56" height="32" fill="none" stroke="#000" stroke-width="1"/><line x1="4" y1="24" x2="60" y2="24" stroke="#000" stroke-width="1" stroke-dasharray="4,2"/><line x1="4" y1="40" x2="60" y2="40" stroke="#000" stroke-width="1" stroke-dasharray="4,2"/><line x1="20" y1="8" x2="20" y2="16" stroke="#000" stroke-width="1"/><line x1="44" y1="8" x2="44" y2="16" stroke="#000" stroke-width="1"/></svg>`
}, },
{ {
id: "holzbalkendecke", id: "holzbalkendecke",
name: "Holzbalkendecke", name: "Holzbalkendecke",
filename: "bauteil_holzbalkendecke.svg", filename: "bauteil_holzbalkendecke.svg",
tags: ["holz", "balken", "decke", "altbau"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="none" stroke="#000" stroke-width="1"/><rect x="8" y="12" width="48" height="8" fill="none" stroke="#000" stroke-width="1"/><rect x="8" y="28" width="48" height="8" fill="none" stroke="#000" stroke-width="1"/><rect x="8" y="44" width="48" height="8" fill="none" stroke="#000" stroke-width="1"/></svg>`
}, },
{ {
id: "betondecke", id: "betondecke",
name: "Betondecke", name: "Betondecke",
filename: "bauteil_betondecke.svg", filename: "bauteil_betondecke.svg",
tags: ["beton", "decke", "stahlbeton", "massiv"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="16" width="56" height="32" fill="none" stroke="#000" stroke-width="1"/><line x1="8" y1="32" x2="56" y2="32" stroke="#000" stroke-width="1" stroke-dasharray="2,2"/></svg>`
}, },
{ {
id: "holzverkleidung_decke", id: "holzverkleidung_decke",
name: "Holzverkleidung Decke", name: "Holzverkleidung Decke",
filename: "bauteil_holzdecke.svg", filename: "bauteil_holzdecke.svg",
tags: ["holz", "decke", "paneele", "verkleidung"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="none" stroke="#000" stroke-width="1"/><line x1="4" y1="12" x2="60" y2="12" stroke="#000" stroke-width="1"/><line x1="4" y1="22" x2="60" y2="22" stroke="#000" stroke-width="1"/><line x1="4" y1="32" x2="60" y2="32" stroke="#000" stroke-width="1"/><line x1="4" y1="42" x2="60" y2="42" stroke="#000" stroke-width="1"/><line x1="4" y1="52" x2="60" y2="52" stroke="#000" stroke-width="1"/></svg>`
}, },
// === BÖDEN === // === BÖDEN ===
{ {
@@ -147,14 +156,16 @@ SYMBOLS.bauteile = {
name: "Teppich / Teppichboden", name: "Teppich / Teppichboden",
filename: "bauteil_teppich.svg", filename: "bauteil_teppich.svg",
tags: ["teppich", "boden", "bodenbelag", "textil"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="none" stroke="#000" stroke-width="1"/><rect x="8" y="8" width="48" height="48" fill="none" stroke="#000" stroke-width="1" stroke-dasharray="2,2"/></svg>`
}, },
{ {
id: "doppelboden", id: "doppelboden",
name: "Doppelboden / Hohlraumboden", name: "Doppelboden / Hohlraumboden",
filename: "bauteil_doppelboden.svg", filename: "bauteil_doppelboden.svg",
tags: ["doppelboden", "hohlraum", "boden", "installation", "edv"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="20" fill="none" stroke="#000" stroke-width="1"/><rect x="4" y="40" width="56" height="20" fill="none" stroke="#000" stroke-width="1"/><rect x="8" y="24" width="8" height="16" fill="none" stroke="#000" stroke-width="1"/><rect x="28" y="24" width="8" height="16" fill="none" stroke="#000" stroke-width="1"/><rect x="48" y="24" width="8" height="16" fill="none" stroke="#000" stroke-width="1"/></svg>`
}, },
// === DACH === // === DACH ===
{ {
@@ -162,28 +173,32 @@ SYMBOLS.bauteile = {
name: "Flachdach", name: "Flachdach",
filename: "bauteil_flachdach.svg", filename: "bauteil_flachdach.svg",
tags: ["flachdach", "dach", "bitumen", "folie"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="24" width="56" height="16" fill="none" stroke="#000" stroke-width="1"/><rect x="4" y="40" width="56" height="16" fill="none" stroke="#000" stroke-width="1"/><line x1="4" y1="24" x2="60" y2="24" stroke="#000" stroke-width="1"/><rect x="24" y="12" width="16" height="12" fill="none" stroke="#000" stroke-width="1"/></svg>`
}, },
{ {
id: "retentionsdach", id: "retentionsdach",
name: "Retentionsdach", name: "Retentionsdach",
filename: "bauteil_retentionsdach.svg", filename: "bauteil_retentionsdach.svg",
tags: ["retention", "dach", "regenwasser", "gründach"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="32" width="56" height="12" fill="none" stroke="#000" stroke-width="1"/><rect x="4" y="44" width="56" height="12" fill="none" stroke="#000" stroke-width="1"/><rect x="4" y="20" width="56" height="12" fill="none" stroke="#000" 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="#000" stroke-width="1"/></svg>`
}, },
{ {
id: "dachziegel", id: "dachziegel",
name: "Dachziegel", name: "Dachziegel",
filename: "bauteil_dachziegel.svg", filename: "bauteil_dachziegel.svg",
tags: ["dachziegel", "ziegel", "dach", "ton"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="none" stroke="#000" stroke-width="1"/><path d="M4 12 Q14 8 24 12 Q34 16 44 12 Q54 8 60 12" stroke="#000" stroke-width="1" fill="none"/><path d="M4 24 Q14 20 24 24 Q34 28 44 24 Q54 20 60 24" stroke="#000" stroke-width="1" fill="none"/><path d="M4 36 Q14 32 24 36 Q34 40 44 36 Q54 32 60 36" stroke="#000" stroke-width="1" fill="none"/><path d="M4 48 Q14 44 24 48 Q34 52 44 48 Q54 44 60 48" stroke="#000" stroke-width="1" fill="none"/></svg>`
}, },
{ {
id: "dachlatte", id: "dachlatte",
name: "Dachlatte / Lattung", name: "Dachlatte / Lattung",
filename: "bauteil_dachlatte.svg", filename: "bauteil_dachlatte.svg",
tags: ["dachlatte", "latte", "dach", "holz", "unterkonstruktion"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="none" stroke="#000" stroke-width="1"/><rect x="4" y="10" width="56" height="6" fill="none" stroke="#000" stroke-width="1"/><rect x="4" y="24" width="56" height="6" fill="none" stroke="#000" stroke-width="1"/><rect x="4" y="38" width="56" height="6" fill="none" stroke="#000" stroke-width="1"/><rect x="4" y="52" width="56" height="6" fill="none" stroke="#000" stroke-width="1"/></svg>`
}, },
// === DÄMMUNG === // === DÄMMUNG ===
{ {
@@ -191,21 +206,24 @@ SYMBOLS.bauteile = {
name: "PUR-Dämmung", name: "PUR-Dämmung",
filename: "bauteil_pur.svg", filename: "bauteil_pur.svg",
tags: ["pur", "dämmung", "polyurethan", "schaum", "isolierung"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="none" stroke="#000" stroke-width="1"/><circle cx="12" cy="14" r="3" fill="none" stroke="#000" stroke-width="1"/><circle cx="28" cy="22" r="4" fill="none" stroke="#000" stroke-width="1"/><circle cx="48" cy="16" r="2.5" fill="none" stroke="#000" stroke-width="1"/><circle cx="18" cy="36" r="3.5" fill="none" stroke="#000" stroke-width="1"/><circle cx="38" cy="42" r="3" fill="none" stroke="#000" stroke-width="1"/><circle cx="52" cy="38" r="2" fill="none" stroke="#000" stroke-width="1"/><circle cx="24" cy="52" r="2.5" fill="none" stroke="#000" stroke-width="1"/><circle cx="44" cy="54" r="3" fill="none" stroke="#000" stroke-width="1"/></svg>`
}, },
{ {
id: "eps_daemmung", id: "eps_daemmung",
name: "EPS-Dämmung (Styropor)", name: "EPS-Dämmung (Styropor)",
filename: "bauteil_eps.svg", filename: "bauteil_eps.svg",
tags: ["eps", "styropor", "dämmung", "polystyrol", "isolierung"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="none" stroke="#000" stroke-width="1"/><circle cx="12" cy="12" r="4" fill="none" stroke="#000" stroke-width="1"/><circle cx="28" cy="16" r="5" fill="none" stroke="#000" stroke-width="1"/><circle cx="48" cy="12" r="3" fill="none" stroke="#000" stroke-width="1"/><circle cx="16" cy="32" r="4" fill="none" stroke="#000" stroke-width="1"/><circle cx="36" cy="28" r="5" fill="none" stroke="#000" stroke-width="1"/><circle cx="52" cy="32" r="4" fill="none" stroke="#000" stroke-width="1"/><circle cx="12" cy="48" r="3" fill="none" stroke="#000" stroke-width="1"/><circle cx="32" cy="48" r="5" fill="none" stroke="#000" stroke-width="1"/><circle cx="52" cy="52" r="4" fill="none" stroke="#000" stroke-width="1"/></svg>`
}, },
{ {
id: "xps_daemmung", id: "xps_daemmung",
name: "XPS-Dämmung", name: "XPS-Dämmung",
filename: "bauteil_xps.svg", filename: "bauteil_xps.svg",
tags: ["xps", "dämmung", "extrudiert", "perimeter", "isolierung"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="none" stroke="#000" stroke-width="1"/><line x1="4" y1="14" x2="60" y2="14" stroke="#000" stroke-width="1"/><line x1="4" y1="24" x2="60" y2="24" stroke="#000" stroke-width="1"/><line x1="4" y1="34" x2="60" y2="34" stroke="#000" stroke-width="1"/><line x1="4" y1="44" x2="60" y2="44" stroke="#000" stroke-width="1"/><line x1="4" y1="54" x2="60" y2="54" stroke="#000" stroke-width="1"/></svg>`
}, },
// === SONSTIGES === // === SONSTIGES ===
{ {
@@ -213,14 +231,16 @@ SYMBOLS.bauteile = {
name: "Tor / Garagentor", name: "Tor / Garagentor",
filename: "bauteil_tor.svg", filename: "bauteil_tor.svg",
tags: ["tor", "garagentor", "einfahrt", "rolltor"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="8" width="56" height="48" fill="none" stroke="#000" stroke-width="1"/><line x1="4" y1="16" x2="60" y2="16" stroke="#000" stroke-width="1"/><line x1="4" y1="24" x2="60" y2="24" stroke="#000" stroke-width="1"/><line x1="4" y1="32" x2="60" y2="32" stroke="#000" stroke-width="1"/><line x1="4" y1="40" x2="60" y2="40" stroke="#000" stroke-width="1"/><line x1="4" y1="48" x2="60" y2="48" stroke="#000" stroke-width="1"/><rect x="26" y="36" width="12" height="8" fill="none" stroke="#000" stroke-width="1"/></svg>`
}, },
{ {
id: "gelaender", id: "gelaender",
name: "Geländer / Brüstung", name: "Geländer / Brüstung",
filename: "bauteil_gelaender.svg", filename: "bauteil_gelaender.svg",
tags: ["geländer", "brüstung", "balkon", "absturz", "handlauf"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="8" width="56" height="8" fill="none" stroke="#000" stroke-width="1"/><line x1="12" y1="16" x2="12" y2="56" stroke="#000" stroke-width="1"/><line x1="32" y1="16" x2="32" y2="56" stroke="#000" stroke-width="1"/><line x1="52" y1="16" x2="52" y2="56" stroke="#000" stroke-width="1"/><line x1="22" y1="16" x2="22" y2="56" stroke="#000" stroke-width="1"/><line x1="42" y1="16" x2="42" y2="56" stroke="#000" stroke-width="1"/><rect x="4" y="52" width="56" height="8" fill="none" stroke="#000" stroke-width="1"/></svg>`
} }
] ]
}; };

View File

@@ -11,42 +11,48 @@ SYMBOLS.elektro = {
name: "Steckdose", name: "Steckdose",
filename: "elektro_steckdose.svg", filename: "elektro_steckdose.svg",
tags: ["steckdose", "dose", "elektro", "strom", "schuko"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="8" y="8" width="48" height="48" fill="none" stroke="#000" stroke-width="1"/><circle cx="32" cy="32" r="16" fill="none" stroke="#000" stroke-width="1"/><circle cx="24" cy="32" r="4" fill="none" stroke="#000" stroke-width="1"/><circle cx="40" cy="32" r="4" fill="none" stroke="#000" stroke-width="1"/><path d="M20 20 Q32 16 44 20" stroke="#000" stroke-width="1" fill="none"/><path d="M20 44 Q32 48 44 44" stroke="#000" stroke-width="1" fill="none"/></svg>`
}, },
{ {
id: "doppelsteckdose", id: "doppelsteckdose",
name: "Doppelsteckdose", name: "Doppelsteckdose",
filename: "elektro_doppelsteckdose.svg", filename: "elektro_doppelsteckdose.svg",
tags: ["doppelsteckdose", "dose", "elektro", "strom", "doppelt"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="12" width="56" height="40" fill="none" stroke="#000" stroke-width="1"/><circle cx="20" cy="32" r="12" fill="none" stroke="#000" stroke-width="1"/><circle cx="14" cy="32" r="3" fill="none" stroke="#000" stroke-width="1"/><circle cx="26" cy="32" r="3" fill="none" stroke="#000" stroke-width="1"/><circle cx="44" cy="32" r="12" fill="none" stroke="#000" stroke-width="1"/><circle cx="38" cy="32" r="3" fill="none" stroke="#000" stroke-width="1"/><circle cx="50" cy="32" r="3" fill="none" stroke="#000" stroke-width="1"/><line x1="32" y1="16" x2="32" y2="48" stroke="#000" stroke-width="1"/></svg>`
}, },
{ {
id: "lichtschalter", id: "lichtschalter",
name: "Lichtschalter", name: "Lichtschalter",
filename: "elektro_schalter.svg", filename: "elektro_schalter.svg",
tags: ["schalter", "licht", "elektro", "taster"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="12" y="8" width="40" height="48" fill="none" stroke="#000" stroke-width="1"/><rect x="20" y="16" width="24" height="32" fill="none" stroke="#000" stroke-width="1"/><rect x="24" y="20" width="16" height="12" fill="none" stroke="#000" stroke-width="1"/><circle cx="32" cy="40" r="4" fill="none" stroke="#000" stroke-width="1"/></svg>`
}, },
{ {
id: "verteilerdose", id: "verteilerdose",
name: "Verteilerdose", name: "Verteilerdose",
filename: "elektro_verteilerdose.svg", filename: "elektro_verteilerdose.svg",
tags: ["verteiler", "dose", "abzweig", "elektro"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><circle cx="32" cy="32" r="24" fill="none" stroke="#000" stroke-width="1"/><circle cx="32" cy="32" r="16" fill="none" stroke="#000" stroke-width="1"/><line x1="32" y1="8" x2="32" y2="16" stroke="#000" stroke-width="1"/><line x1="32" y1="48" x2="32" y2="56" stroke="#000" stroke-width="1"/><line x1="8" y1="32" x2="16" y2="32" stroke="#000" stroke-width="1"/><line x1="48" y1="32" x2="56" y2="32" stroke="#000" stroke-width="1"/><circle cx="32" cy="32" r="4" fill="none" stroke="#000" stroke-width="1"/></svg>`
}, },
{ {
id: "sicherungskasten", id: "sicherungskasten",
name: "Sicherungskasten", name: "Sicherungskasten",
filename: "elektro_sicherungskasten.svg", filename: "elektro_sicherungskasten.svg",
tags: ["sicherung", "kasten", "verteiler", "elektro"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="8" y="4" width="48" height="56" fill="none" stroke="#000" stroke-width="1"/><rect x="12" y="8" width="40" height="48" fill="none" stroke="#000" stroke-width="1"/><rect x="16" y="12" width="6" height="8" fill="none" stroke="#000" stroke-width="1"/><rect x="26" y="12" width="6" height="8" fill="none" stroke="#000" stroke-width="1"/><rect x="36" y="12" width="6" height="8" fill="none" stroke="#000" stroke-width="1"/><rect x="16" y="24" width="6" height="8" fill="none" stroke="#000" stroke-width="1"/><rect x="26" y="24" width="6" height="8" fill="none" stroke="#000" stroke-width="1"/><rect x="36" y="24" width="6" height="8" fill="none" stroke="#000" stroke-width="1"/><rect x="16" y="36" width="6" height="8" fill="none" stroke="#000" stroke-width="1"/><rect x="26" y="36" width="6" height="8" fill="none" stroke="#000" stroke-width="1"/><rect x="36" y="36" width="6" height="8" fill="none" stroke="#000" stroke-width="1"/></svg>`
}, },
{ {
id: "lampe_decke", id: "lampe_decke",
name: "Deckenlampe", name: "Deckenlampe",
filename: "elektro_deckenlampe.svg", filename: "elektro_deckenlampe.svg",
tags: ["lampe", "decke", "licht", "beleuchtung"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><circle cx="32" cy="32" r="20" fill="none" stroke="#000" stroke-width="1"/><circle cx="32" cy="32" r="12" fill="none" stroke="#000" stroke-width="1"/><circle cx="32" cy="32" r="4" fill="none" stroke="#000" stroke-width="1"/><line x1="32" y1="4" x2="32" y2="12" stroke="#000" stroke-width="1"/><line x1="8" y1="32" x2="12" y2="32" stroke="#000" stroke-width="1"/><line x1="52" y1="32" x2="56" y2="32" stroke="#000" stroke-width="1"/><line x1="14" y1="14" x2="18" y2="18" stroke="#000" stroke-width="1"/><line x1="46" y1="46" x2="50" y2="50" stroke="#000" stroke-width="1"/><line x1="14" y1="50" x2="18" y2="46" stroke="#000" stroke-width="1"/><line x1="46" y1="18" x2="50" y2="14" stroke="#000" stroke-width="1"/></svg>`
} }
] ]
}; };

View File

@@ -60,14 +60,16 @@ SYMBOLS.bad = {
name: "Duscharmatur", name: "Duscharmatur",
filename: "sanitaer_duscharmatur.svg", filename: "sanitaer_duscharmatur.svg",
tags: ["dusche", "armatur", "brause", "bad", "sanitär"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="24" y="4" width="16" height="20" fill="none" stroke="#000" stroke-width="1"/><circle cx="28" cy="12" r="3" fill="none" stroke="#000" stroke-width="1"/><circle cx="36" cy="12" r="3" fill="none" stroke="#000" stroke-width="1"/><rect x="30" y="24" width="4" height="16" fill="none" stroke="#000" stroke-width="1"/><ellipse cx="32" cy="48" rx="12" ry="8" fill="none" stroke="#000" stroke-width="1"/></svg>`
}, },
{ {
id: "gartenwasserhahn", id: "gartenwasserhahn",
name: "Gartenwasserhahn / Außenzapfstelle", name: "Gartenwasserhahn / Außenzapfstelle",
filename: "sanitaer_gartenwasserhahn.svg", filename: "sanitaer_gartenwasserhahn.svg",
tags: ["garten", "wasserhahn", "außen", "zapfstelle", "sanitär"], 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>` 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>`,
dxfSvg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="24" y="8" width="16" height="24" fill="none" stroke="#000" stroke-width="1"/><rect x="28" y="32" width="8" height="20" fill="none" stroke="#000" stroke-width="1"/><rect x="26" y="52" width="12" height="8" fill="none" stroke="#000" stroke-width="1"/><circle cx="32" cy="18" r="6" fill="none" stroke="#000" stroke-width="1"/><rect x="38" y="14" width="16" height="8" fill="none" stroke="#000" stroke-width="1"/></svg>`
} }
] ]
}; };