- 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>
247 lines
35 KiB
JavaScript
247 lines
35 KiB
JavaScript
// ============================================
|
|
// SYMBOL-KATEGORIE: Bauteile
|
|
// ============================================
|
|
|
|
SYMBOLS.bauteile = {
|
|
name: "Bauteile",
|
|
icon: "🏗️",
|
|
items: [
|
|
{
|
|
id: "fenster",
|
|
name: "Fenster",
|
|
filename: "bauteil_fenster.svg",
|
|
tags: ["fenster", "verglasung", "rahmen"],
|
|
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="8" y="4" width="48" height="56" fill="#bfdbfe" stroke="#3b82f6" stroke-width="3"/><line x1="32" y1="4" x2="32" y2="60" stroke="#3b82f6" stroke-width="3"/><line x1="8" y1="32" x2="56" y2="32" stroke="#3b82f6" stroke-width="3"/><rect x="12" y="8" width="16" height="20" fill="#dbeafe"/><rect x="36" y="8" width="16" height="20" fill="#dbeafe"/><rect x="12" y="36" width="16" height="20" fill="#dbeafe"/><rect x="36" y="36" width="16" height="20" fill="#dbeafe"/><circle cx="28" cy="32" r="2" fill="#1e40af"/><circle cx="36" cy="32" r="2" fill="#1e40af"/></svg>`
|
|
},
|
|
{
|
|
id: "tuer",
|
|
name: "Tür",
|
|
filename: "bauteil_tuer.svg",
|
|
tags: ["tür", "türblatt", "eingang"],
|
|
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="12" y="4" width="40" height="56" fill="#92400e" stroke="#78350f" stroke-width="3"/><rect x="16" y="8" width="14" height="20" fill="#a16207" rx="1"/><rect x="34" y="8" width="14" height="20" fill="#a16207" rx="1"/><rect x="16" y="32" width="14" height="20" fill="#a16207" rx="1"/><rect x="34" y="32" width="14" height="20" fill="#a16207" rx="1"/><circle cx="44" cy="34" r="3" fill="#fbbf24" stroke="#92400e" stroke-width="1"/></svg>`
|
|
},
|
|
{
|
|
id: "wand",
|
|
name: "Wand (Mauerwerk)",
|
|
filename: "bauteil_wand.svg",
|
|
tags: ["wand", "mauer", "mauerwerk", "ziegel"],
|
|
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="#fca5a5" stroke="#dc2626" stroke-width="2"/><g stroke="#b91c1c" stroke-width="1"><line x1="4" y1="12" x2="60" y2="12"/><line x1="4" y1="20" x2="60" y2="20"/><line x1="4" y1="28" x2="60" y2="28"/><line x1="4" y1="36" x2="60" y2="36"/><line x1="4" y1="44" x2="60" y2="44"/><line x1="4" y1="52" x2="60" y2="52"/><line x1="18" y1="4" x2="18" y2="12"/><line x1="40" y1="4" x2="40" y2="12"/><line x1="8" y1="12" x2="8" y2="20"/><line x1="30" y1="12" x2="30" y2="20"/><line x1="52" y1="12" x2="52" y2="20"/><line x1="18" y1="20" x2="18" y2="28"/><line x1="40" y1="20" x2="40" y2="28"/><line x1="8" y1="28" x2="8" y2="36"/><line x1="30" y1="28" x2="30" y2="36"/><line x1="52" y1="28" x2="52" y2="36"/><line x1="18" y1="36" x2="18" y2="44"/><line x1="40" y1="36" x2="40" y2="44"/><line x1="8" y1="44" x2="8" y2="52"/><line x1="30" y1="44" x2="30" y2="52"/><line x1="52" y1="44" x2="52" y2="52"/><line x1="18" y1="52" x2="18" y2="60"/><line x1="40" y1="52" x2="40" y2="60"/></g></svg>`
|
|
},
|
|
{
|
|
id: "wand_beton",
|
|
name: "Wand (Beton)",
|
|
filename: "bauteil_wand_beton.svg",
|
|
tags: ["wand", "beton", "stahlbeton", "massiv"],
|
|
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="#9ca3af" stroke="#6b7280" stroke-width="2"/><circle cx="12" cy="14" r="2" fill="#6b7280" opacity="0.5"/><circle cx="28" cy="8" r="1.5" fill="#6b7280" opacity="0.4"/><circle cx="48" cy="18" r="2.5" fill="#6b7280" opacity="0.5"/><circle cx="8" cy="36" r="1.5" fill="#6b7280" opacity="0.4"/><circle cx="38" cy="28" r="2" fill="#6b7280" opacity="0.5"/><circle cx="54" cy="42" r="1.5" fill="#6b7280" opacity="0.4"/><circle cx="18" cy="48" r="2" fill="#6b7280" opacity="0.5"/><circle cx="44" cy="52" r="1.5" fill="#6b7280" opacity="0.4"/><circle cx="32" cy="44" r="2.5" fill="#6b7280" opacity="0.5"/></svg>`
|
|
},
|
|
{
|
|
id: "boden_fliesen",
|
|
name: "Fliesen",
|
|
filename: "bauteil_fliesen.svg",
|
|
tags: ["fliesen", "boden", "wand", "keramik", "kacheln"],
|
|
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="#e7e5e4" stroke="#78716c" stroke-width="2"/><g stroke="#a8a29e" stroke-width="2"><line x1="4" y1="18" x2="60" y2="18"/><line x1="4" y1="32" x2="60" y2="32"/><line x1="4" y1="46" x2="60" y2="46"/><line x1="18" y1="4" x2="18" y2="60"/><line x1="32" y1="4" x2="32" y2="60"/><line x1="46" y1="4" x2="46" y2="60"/></g><rect x="6" y="6" width="10" height="10" fill="#f5f5f4"/><rect x="34" y="20" width="10" height="10" fill="#f5f5f4"/><rect x="20" y="34" width="10" height="10" fill="#f5f5f4"/><rect x="48" y="48" width="10" height="10" fill="#f5f5f4"/></svg>`
|
|
},
|
|
{
|
|
id: "boden_parkett",
|
|
name: "Parkett / Holzboden",
|
|
filename: "bauteil_parkett.svg",
|
|
tags: ["parkett", "holz", "boden", "laminat", "dielen"],
|
|
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"/><g stroke="#b8860b" stroke-width="1"><rect x="4" y="4" width="14" height="28" fill="#deb887"/><rect x="18" y="4" width="14" height="28" fill="#d4a574"/><rect x="32" y="4" width="14" height="28" fill="#c9a066"/><rect x="46" y="4" width="14" height="28" fill="#deb887"/><rect x="4" y="32" width="14" height="28" fill="#c9a066"/><rect x="18" y="32" width="14" height="28" fill="#deb887"/><rect x="32" y="32" width="14" height="28" fill="#d4a574"/><rect x="46" y="32" width="14" height="28" fill="#c9a066"/></g></svg>`
|
|
},
|
|
{
|
|
id: "dach",
|
|
name: "Dach",
|
|
filename: "bauteil_dach.svg",
|
|
tags: ["dach", "dachstuhl", "ziegel", "bedachung"],
|
|
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><polygon points="32,4 4,40 60,40" fill="#991b1b" stroke="#7f1d1d" stroke-width="2"/><polygon points="32,10 10,38 54,38" fill="#b91c1c"/><g stroke="#7f1d1d" stroke-width="1"><line x1="12" y1="36" x2="52" y2="36"/><line x1="16" y1="32" x2="48" y2="32"/><line x1="20" y1="28" x2="44" y2="28"/><line x1="24" y1="24" x2="40" y2="24"/><line x1="28" y1="20" x2="36" y2="20"/></g><rect x="4" y="40" width="56" height="8" fill="#78716c" stroke="#57534e" stroke-width="1"/></svg>`
|
|
},
|
|
{
|
|
id: "treppe",
|
|
name: "Treppe",
|
|
filename: "bauteil_treppe.svg",
|
|
tags: ["treppe", "stufen", "aufgang", "treppenhaus"],
|
|
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><g fill="#d6d3d1" stroke="#78716c" stroke-width="2"><rect x="4" y="52" width="56" height="8"/><rect x="4" y="44" width="48" height="8"/><rect x="4" y="36" width="40" height="8"/><rect x="4" y="28" width="32" height="8"/><rect x="4" y="20" width="24" height="8"/><rect x="4" y="12" width="16" height="8"/><rect x="4" y="4" width="8" height="8"/></g><path d="M8 8 L8 56 L58 56" stroke="#57534e" stroke-width="3" fill="none"/></svg>`
|
|
},
|
|
{
|
|
id: "daemmung",
|
|
name: "Dämmung / Isolierung",
|
|
filename: "bauteil_daemmung.svg",
|
|
tags: ["dämmung", "isolierung", "wärme", "kälte"],
|
|
svg: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect x="4" y="4" width="56" height="56" fill="#fef08a" stroke="#eab308" stroke-width="2"/><g stroke="#ca8a04" stroke-width="1"><path d="M4 14 Q16 10 28 14 Q40 18 52 14 L60 14"/><path d="M4 24 Q14 28 26 24 Q38 20 50 24 L60 24"/><path d="M4 34 Q16 30 28 34 Q40 38 52 34 L60 34"/><path d="M4 44 Q14 48 26 44 Q38 40 50 44 L60 44"/><path d="M4 54 Q16 50 28 54 Q40 58 52 54 L60 54"/></g><circle cx="12" cy="20" r="2" fill="#facc15"/><circle cx="32" cy="30" r="2" fill="#facc15"/><circle cx="50" cy="40" r="2" fill="#facc15"/><circle cx="20" cy="50" r="2" fill="#facc15"/></svg>`
|
|
},
|
|
{
|
|
id: "rohr",
|
|
name: "Rohrleitung",
|
|
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>`,
|
|
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",
|
|
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>`,
|
|
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",
|
|
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>`,
|
|
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",
|
|
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>`,
|
|
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",
|
|
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>`,
|
|
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 ===
|
|
{
|
|
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>`,
|
|
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",
|
|
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>`,
|
|
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",
|
|
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>`,
|
|
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",
|
|
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>`,
|
|
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 ===
|
|
{
|
|
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>`,
|
|
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",
|
|
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>`,
|
|
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 ===
|
|
{
|
|
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>`,
|
|
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",
|
|
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>`,
|
|
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",
|
|
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>`,
|
|
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",
|
|
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>`,
|
|
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 ===
|
|
{
|
|
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>`,
|
|
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",
|
|
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>`,
|
|
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",
|
|
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>`,
|
|
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 ===
|
|
{
|
|
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>`,
|
|
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",
|
|
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>`,
|
|
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>`
|
|
}
|
|
]
|
|
};
|