{"id":2564,"date":"2026-10-02T17:51:51","date_gmt":"2026-10-02T15:51:51","guid":{"rendered":"https:\/\/cad-kompass.de\/?page_id=2564"},"modified":"2026-10-03T11:18:57","modified_gmt":"2026-10-03T09:18:57","slug":"bim","status":"publish","type":"page","link":"https:\/\/cad-kompass.de\/?page_id=2564","title":{"rendered":"BIM im Tiefbau"},"content":{"rendered":"\n<!--\nCAD-Kompass: BIM \u00b7 Men\u00fc-Hauptseite (Hub)\nGebaut aus 00-Website\/Menue-Hauptseiten\/_VORLAGE-menue-hub.html, Tutorial-Hub-Typ\n(mit Fortschritt und \"Hier starten\"), Muster wie Trockendock und Steuerrad.\nWordPress-tauglich: font-family: inherit, keine externen Dienste, kein Und-Operator,\nkeine rohen Sonderzeichen im Script.\nKachel-Links sind relative Pfade, damit die Endlesung lokal per Doppelklick funktioniert.\nDer Tausch auf WordPress-Post-IDs ist ein Publish-Schritt, siehe 05-BIM\/CLAUDE.md.\n-->\n\n<style>\n    .cad-page { max-width: 1240px; margin: 0 auto; padding: 8px 0 70px; font-family: inherit; color: #334155; line-height: 1.65; }\n    .cad-page *, .cad-page *::before, .cad-page *::after { box-sizing: border-box; }\n    .cad-page p { margin: 0 0 14px; }\n\n    \/* ===== Hero ===== *\/\n    .cad-hero {\n        position: relative;\n        background: #2f485b;\n        color: #fff;\n        border-radius: 2px;\n        padding: 17px 28px;\n        margin-bottom: 22px;\n        overflow: hidden;\n        display: flex;\n        align-items: center;\n        min-height: 96px;\n        border: 1px solid rgba(255,255,255,0.16);\n        box-shadow: inset 0 -1px 0 rgba(255,255,255,0.2);\n    }\n    .cad-hero::before {\n        content: \"\";\n        position: absolute; inset: -16px;\n        background-image:\n                linear-gradient(rgba(255,255,255,0.06) 1px, transparent 1px),\n                linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px);\n        background-size: 28px 28px;\n        opacity: 0.48;\n        pointer-events: none;\n        transform: translate3d(var(--cad-grid-x, 0px), var(--cad-grid-y, 0px), 0);\n        transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.4, 1);\n    }\n    .cad-hero-text { position: relative; z-index: 2; max-width: 760px; }\n    .cad-hero-eyebrow {\n        font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.18em;\n        font-weight: 600; color: rgba(255,255,255,0.72); margin-bottom: 8px;\n    }\n    .cad-hero-title {\n        font-size: 1.34rem; font-weight: 700; line-height: 1.25;\n        margin: 0; color: #fff; letter-spacing: -0.005em;\n    }\n    .cad-hero-meta {\n        margin-top: 8px;\n        font-family: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;\n        font-size: 0.73rem; color: rgba(255,255,255,0.7); letter-spacing: 0.04em;\n    }\n    .cad-compass {\n        position: absolute; z-index: 1; right: -76px; top: 50%;\n        width: 320px; height: 320px; transform: translateY(-50%);\n        display: flex; align-items: center; justify-content: center;\n        opacity: 0.44; pointer-events: none;\n    }\n    .cad-compass svg { width: 100%; height: 100%; display: block; }\n    .cad-compass-rose, .cad-compass-secondary { transform-box: fill-box; transform-origin: center; }\n    .cad-compass-rose { transition: transform 0.55s cubic-bezier(0.34, 1.2, 0.64, 1); }\n    @media (prefers-reduced-motion: reduce) { .cad-compass-rose { transition: none; } }\n    @media (prefers-reduced-motion: no-preference) {\n        .cad-compass-secondary { animation: cadCompassSpinReverse 140s linear infinite; }\n        @keyframes cadCompassSpinReverse { to { transform: rotate(-360deg); } }\n    }\n\n    \/* ===== \"Auf einen Blick\"-Briefing ===== *\/\n    .cad-brief {\n        background: #f8f9fa;\n        border: 1px solid #e2e8f0;\n        border-left: 3px solid #3f5f75;\n        border-radius: 2px;\n        padding: 20px 24px;\n        margin-bottom: 30px;\n    }\n    .cad-brief-lead { margin: 0 0 16px; font-size: 1rem; color: #1e293b; line-height: 1.6; max-width: 840px; }\n    .cad-brief-facts {\n        display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px;\n        margin: 0; padding-top: 16px; border-top: 1px solid #e2e8f0;\n    }\n    .cad-brief-facts > div { min-width: 0; }\n    .cad-brief-facts dt { font-size: 0.66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; color: #7f8c8d; margin-bottom: 4px; }\n    .cad-brief-facts dd { margin: 0; font-size: 0.9rem; font-weight: 600; color: #334155; line-height: 1.4; }\n    .cad-brief-facts dd a { color: #3f5f75; text-decoration: none; border-bottom: 1px solid rgba(63,95,117,0.4); }\n    .cad-brief-facts dd a:hover { color: #2a4a5c; border-color: #2a4a5c; }\n\n    \/* ===== Fortschritt (lokal im Browser) ===== *\/\n    .cad-progress { margin: 0 0 18px; }\n    .cad-progress-head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }\n    .cad-progress-count { font-size: 0.8rem; font-weight: 700; color: #1e293b; }\n    .cad-progress-note { font-size: 0.74rem; color: #94a3b8; }\n    .cad-progress-bar { height: 6px; background: #e9eef2; border-radius: 999px; overflow: hidden; }\n    .cad-progress-bar span { display: block; height: 100%; width: 0; background: #059669; border-radius: 999px; transition: width 0.3s ease; }\n\n    \/* ===== Kacheln ===== *\/\n    .cad-cards-titel { font-size: 0.78rem; font-weight: 600; color: #7f8c8d; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 16px; padding-top: 20px; padding-left: 2px; border-top: 1px solid #e8e8e8; }\n    .cad-cards { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; max-width: 1210px; margin: 0 auto 40px; }\n    .cad-card { position: relative; width: 390px; max-width: 100%; border: 1px solid #d0d0d0; border-radius: 4px; background: #fff; display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.03); transition: transform 0.22s ease, box-shadow 0.22s ease; }\n    .cad-card:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(63,95,117,0.10), 0 2px 6px rgba(0,0,0,0.04); }\n    .cad-card--start { border-color: #3f5f75; }\n    .cad-card-badge { position: absolute; top: 12px; right: 12px; z-index: 3; background: #3f5f75; color: #fff; font-size: 0.6rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; }\n    .cad-check { position: absolute; top: 12px; left: 12px; z-index: 3; width: 26px; height: 26px; border-radius: 50%; border: 1px solid #cbd5e1; background: #fff; color: transparent; cursor: pointer; padding: 0; display: inline-flex; align-items: center; justify-content: center; transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease; }\n    .cad-check svg { width: 14px; height: 14px; }\n    .cad-check:hover { background: #fff; border-color: #059669; color: #c8e6c9; }\n    .cad-check:focus-visible { outline: 2px solid #3f5f75; outline-offset: 2px; }\n    .cad-card--done .cad-check { background: #059669; border-color: #059669; color: #fff; }\n    .cad-card-header { padding: 22px 20px 0; text-align: center; }\n    .cad-card-step { font-size: 0.72rem; font-weight: 600; color: #7f8c8d; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 6px; }\n    .cad-card-title { font-size: 1.05rem; font-weight: 700; color: #1e293b; margin: 0 0 14px; }\n    .cad-card-divider { height: 1px; background: #ccc; margin: 0 20px; }\n    .cad-card-icon { text-align: center; padding: 18px 20px; }\n    .cad-card-icon svg { width: 44px; height: 44px; color: #3f5f75; }\n    .cad-card-body { padding: 0 20px; flex: 1; }\n    .cad-card-text { font-size: 0.85rem; line-height: 1.65; color: #334155; margin: 0; }\n    .cad-card-footer { padding: 20px 20px 24px; text-align: center; margin-top: auto; }\n    .cad-card-footer-divider { height: 1px; background: #ccc; margin: 0 0 20px; }\n    .cad-card-btn { display: inline-block; background: #3f5f75; color: #fff; text-decoration: none; padding: 10px 28px; min-height: 40px; font-size: 0.85rem; font-weight: 600; border-radius: 3px; transition: background 0.2s; }\n    .cad-card-btn:visited { color: #fff; }\n    .cad-card-btn:hover { background: #2a4a5c; color: #fff; text-decoration: none; }\n    .cad-card-btn:focus-visible { outline: 2px solid #3f5f75; outline-offset: 2px; }\n\n    @media (max-width: 900px) {\n        .cad-hero { padding: 16px 18px; }\n        .cad-compass { width: 220px; height: 220px; right: -64px; opacity: 0.34; }\n        .cad-brief-facts { grid-template-columns: 1fr 1fr; }\n        .cad-cards { gap: 16px; }\n        .cad-card { width: 100%; }\n    }\n\n    \/* ===== Rolle, Anlass, Durchlauf ===== *\/\n    .cad-weiche-hinweis { font-size: 0.85rem; color: #64748b; margin: 0 0 8px; }\n    .cad-weichen { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }\n    .cad-weiche, .cad-rolle { flex: 1 1 220px; text-align: left; background: #fff; border: 1px solid #3f5f75; border-radius: 4px; padding: 12px 16px; cursor: pointer; font-family: inherit; color: #1e3548; min-height: 40px; transition: background 0.2s ease; }\n    .cad-weiche strong, .cad-rolle strong { display: block; font-size: 0.95rem; margin-bottom: 3px; }\n    .cad-weiche span, .cad-rolle span { display: block; font-size: 0.8rem; color: #64748b; }\n    .cad-weiche:hover, .cad-rolle:hover { background: #f5f8fb; color: #1e3548; }\n    .cad-weiche:focus-visible, .cad-rolle:focus-visible { outline: 2px solid #3f5f75; outline-offset: 2px; }\n    .cad-weiche[aria-pressed=\"true\"], .cad-rolle[aria-pressed=\"true\"] { background: #3f5f75; color: #fff; }\n    .cad-weiche[aria-pressed=\"true\"] span, .cad-rolle[aria-pressed=\"true\"] span { color: #dbe4ec; }\n    .cad-rollen { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 14px; }\n    .cad-rolle-status { font-size: 0.9rem; color: #334155; margin: 0 0 14px; }\n    .cad-rolle-status a { color: #2d4d63; }\n    .cad-textlink { background: none; border: none; color: #2d4d63; text-decoration: underline; cursor: pointer; font: inherit; font-size: 0.85rem; padding: 0; }\n    .cad-btn-klein { display: inline-block; background: #fff; border: 1px solid #3f5f75; color: #3f5f75; border-radius: 3px; padding: 4px 10px; font: inherit; font-size: 0.8rem; line-height: 1.3; cursor: pointer; margin-left: auto; white-space: nowrap; }\n    .cad-btn-klein:hover { background: #3f5f75; color: #fff; }\n    .cad-btn-klein:focus-visible { outline: 2px solid #3f5f75; outline-offset: 2px; }\n    section[data-modus-block]:focus { outline: none; }\n    \/* Seitenkacheln: ein Bauer fuer Rollenpfad, Anlaesse, Stationen und Check-Ergebnis (zentriertes Flex, 390 px) *\/\n    .cad-cards--pfad { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin-bottom: 20px; }\n    .cad-cards--pfad .cad-card { width: 390px; max-width: 100%; }\n    .cad-cards--pfad .cad-card-title { min-height: 2.6em; }\n    \/* Kompakte Seitenkachel: Etikett, Titel, Trennlinie, Knopf; keine Ikone, kein Fliesstext (gross = Themenfeld, kompakt = direkt in die Seite) *\/\n    .cad-card--seite .cad-card-header { padding: 20px 20px 0; }\n    .cad-card--seite .cad-card-title { margin-bottom: 14px; }\n    .cad-card--seite .cad-card-footer { padding: 16px 20px 20px; }\n    .cad-cards--ende { margin-bottom: 40px; }\n    .cad-block-fuss { font-size: 0.85rem; color: #64748b; margin: 0 0 40px; text-align: center; }\n    .cad-durchlauf-lead { font-size: 0.92rem; color: #334155; max-width: 760px; margin: 0 auto 10px; }\n    .cad-durchlauf svg { width: 100%; height: auto; display: block; max-width: 760px; margin: 0 auto 10px; }\n    .cad-st { cursor: pointer; }\n    .cad-st rect.cad-st-box { fill: #fff; stroke: #3f5f75; }\n    .cad-st--on rect.cad-st-box { fill: #e8f5e9; stroke: #43a047; }\n    .cad-stationen { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 22px; }\n    .cad-station { font-family: inherit; font-size: 0.82rem; background: #fff; border: 1px solid #3f5f75; color: #1e3548; border-radius: 3px; padding: 7px 12px; min-height: 36px; cursor: pointer; }\n    .cad-station:hover { background: #f5f8fb; color: #1e3548; }\n    .cad-station:focus-visible { outline: 2px solid #3f5f75; outline-offset: 2px; }\n    .cad-station[aria-pressed=\"true\"] { background: #3f5f75; color: #fff; }\n    \/* Stationstext: ruhig, ohne Hintergrund und ohne Linksstrich; danach Haarlinie und Kacheln *\/\n    .cad-station-text { max-width: 800px; margin: 0 auto 16px; font-size: 0.9rem; line-height: 1.65; color: #334155; }\n    .cad-station-titel { font-size: 0.78rem; font-weight: 600; color: #7f8c8d; text-transform: uppercase; letter-spacing: 0.08em; margin: 0 0 10px; }\n    .cad-station-text p { margin: 0 0 8px; }\n    .cad-station-text p:last-child { margin: 0; }\n    .cad-station-text strong { color: #1e3548; }\n    .cad-haarlinie { height: 1px; background: #e8e8e8; max-width: 800px; margin: 0 auto 20px; }\n    .cad-card-pfad { font-size: 0.78rem; color: #059669; margin: 8px 0 0; min-height: 1.2em; }\n    [hidden] { display: none !important; }\n    \/* Selbstcheck im Hub (Prefix cad-sc-, dieselbe Quelle wie tools\/betrifft-mich-check.html) *\/\n    .cad-sc-box { max-width: 860px; margin: 0 auto 32px; background: linear-gradient(180deg, #f7f9fb 0%, #eef3f7 100%); border: 3px solid #3f5f75; border-radius: 8px; padding: 26px 28px 24px; font-family: inherit; color: #2d3748; line-height: 1.6; box-sizing: border-box; }\n    .cad-sc-box:focus { outline: none; }\n    .cad-sc-box *, .cad-sc-box *::before, .cad-sc-box *::after { box-sizing: border-box; }\n    .cad-sc-box .cad-sc-title { font-size: 1.35rem; font-weight: 700; color: #1e3548; margin: 0 0 4px; }\n    .cad-sc-box .cad-sc-desc { font-size: 0.92rem; color: #64748b; margin: 0 0 14px; }\n    .cad-sc-box .cad-sc-privacy { font-size: 0.8rem; color: #15803d; background: #ecfdf5; border: 1px solid #a7f3d0; border-radius: 4px; padding: 6px 10px; margin: 0 0 20px; display: inline-block; }\n    .cad-sc-box fieldset { border: 1px solid #d0d0d0; border-radius: 6px; padding: 12px 16px 8px; margin: 0 0 14px; background: #fff; }\n    .cad-sc-box legend { font-weight: 700; color: #1e3548; font-size: 0.95rem; padding: 0 6px; }\n    .cad-sc-box label { display: block; font-size: 0.9rem; padding: 4px 0; cursor: pointer; }\n    .cad-sc-box input[type=\"radio\"] { margin: 0 8px 0 0; accent-color: #3f5f75; }\n    .cad-sc-box .cad-sc-stand { font-size: 0.85rem; color: #64748b; margin: 4px 0 16px; }\n    .cad-sc-box .cad-sc-out:empty { display: none; }\n    .cad-sc-box .cad-sc-ergebnis { border-left: 3px solid #3f5f75; background: #fff; border-radius: 0 6px 6px 0; padding: 16px 20px; margin: 0 0 14px; }\n    .cad-sc-box .cad-sc-ergebnis p { margin: 0 0 10px; font-size: 0.92rem; }\n    .cad-sc-box .cad-sc-ergebnis p:last-child { margin: 0; }\n    .cad-sc-box .cad-sc-ergebnis p a, .cad-sc-box .cad-sc-ergebnis p a:visited { color: #2d4d63; text-decoration: underline; }\n    .cad-sc-box .cad-sc-ergebnis p a:hover { color: #1e3548; background: transparent; }\n    .cad-sc-box .cad-sc-ergebnis-titel { font-weight: 700; color: #1e3548; font-size: 1.05rem; }\n    .cad-sc-box .cad-sc-hilfe { font-size: 0.92rem; margin: 0 0 12px; }\n    .cad-sc-box p.cad-sc-hilfe a { color: #2d4d63; }\n    .cad-sc-box .cad-sc-hilfe-label { font-weight: 700; color: #1e3548; font-size: 0.92rem; margin: 0 0 10px; }\n    .cad-sc-box .cad-sc-pfad { font-size: 0.92rem; margin: 0 0 12px; }\n    .cad-sc-box .cad-sc-btn { display: inline-block !important; background: #3f5f75 !important; color: #fff !important; border: 0 !important; border-radius: 3px !important; padding: 9px 20px !important; font-size: 0.85rem !important; font-family: inherit !important; font-weight: 600 !important; min-height: 36px !important; cursor: pointer !important; margin: 4px 8px 0 0 !important; }\n    .cad-sc-box .cad-sc-btn:hover { background: #2a4a5c !important; color: #fff !important; }\n    .cad-sc-box .cad-sc-btn:focus-visible { outline: 2px solid #3f5f75 !important; outline-offset: 2px !important; }\n    .cad-sc-box .cad-sc-btn-leise { background: #fff !important; color: #2d4d63 !important; border: 1px solid #3f5f75 !important; }\n    .cad-sc-box .cad-sc-btn-leise:hover { background: #f5f8fb !important; color: #1e3548 !important; }\n    .cad-sc-box .cad-sc-foot { font-size: 0.78rem; color: #64748b; margin: 16px 0 0; }\n    .cad-sc-box { max-width: 880px; margin-bottom: 40px; }\n    .cad-sc-box .cad-cards--pfad { margin: 0 0 16px; }\n<\/style>\n<div class=\"cad-page\">\n\n    <section class=\"cad-hero\" aria-labelledby=\"cad-hub-title\">\n        <div class=\"cad-hero-text\">\n            <div class=\"cad-hero-eyebrow\">BIM &middot; Weiter Horizont<\/div>\n            <h1 class=\"cad-hero-title\" id=\"cad-hub-title\">BIM im Tiefbau, wie es in der Ausschreibung steht und wie es in der Datei ankommt<\/h1>\n            <div class=\"cad-hero-meta\">6 Themenfelder &middot; 25 Seiten &middot; herstellerneutral &middot; Stand 09\/2026<\/div>\n        <\/div>\n        <div class=\"cad-compass\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 200 200\" fill=\"none\" stroke=\"currentColor\">\n                <defs>\n                    <filter id=\"cadNeedleGlow\" x=\"-60%\" y=\"-60%\" width=\"220%\" height=\"220%\">\n                        <feGaussianBlur stdDeviation=\"3\" result=\"cadGlow\"\/>\n                        <feMerge><feMergeNode in=\"cadGlow\"\/><feMergeNode in=\"SourceGraphic\"\/><\/feMerge>\n                    <\/filter>\n                <\/defs>\n                <circle cx=\"100\" cy=\"100\" r=\"96\" stroke=\"rgba(255,255,255,0.32)\" stroke-width=\"1.2\"\/>\n                <circle cx=\"100\" cy=\"100\" r=\"88\" stroke=\"rgba(255,255,255,0.18)\" stroke-width=\"0.8\"\/>\n                <g stroke=\"rgba(255,255,255,0.7)\" stroke-width=\"1.6\">\n                    <line x1=\"100\" y1=\"4\" x2=\"100\" y2=\"16\"\/>\n                    <line x1=\"184\" y1=\"100\" x2=\"196\" y2=\"100\"\/>\n                    <line x1=\"100\" y1=\"184\" x2=\"100\" y2=\"196\"\/>\n                    <line x1=\"4\" y1=\"100\" x2=\"16\" y2=\"100\"\/>\n                <\/g>\n                <g stroke=\"rgba(255,255,255,0.5)\" stroke-width=\"1.2\">\n                    <g transform=\"rotate(30 100 100)\"><line x1=\"100\" y1=\"4\" x2=\"100\" y2=\"13\"\/><\/g>\n                    <g transform=\"rotate(60 100 100)\"><line x1=\"100\" y1=\"4\" x2=\"100\" y2=\"13\"\/><\/g>\n                    <g transform=\"rotate(120 100 100)\"><line x1=\"100\" y1=\"4\" x2=\"100\" y2=\"13\"\/><\/g>\n                    <g transform=\"rotate(150 100 100)\"><line x1=\"100\" y1=\"4\" x2=\"100\" y2=\"13\"\/><\/g>\n                    <g transform=\"rotate(210 100 100)\"><line x1=\"100\" y1=\"4\" x2=\"100\" y2=\"13\"\/><\/g>\n                    <g transform=\"rotate(240 100 100)\"><line x1=\"100\" y1=\"4\" x2=\"100\" y2=\"13\"\/><\/g>\n                    <g transform=\"rotate(300 100 100)\"><line x1=\"100\" y1=\"4\" x2=\"100\" y2=\"13\"\/><\/g>\n                    <g transform=\"rotate(330 100 100)\"><line x1=\"100\" y1=\"4\" x2=\"100\" y2=\"13\"\/><\/g>\n                <\/g>\n                <g fill=\"rgba(255,255,255,0.92)\" stroke=\"none\" font-family=\"ui-monospace, monospace\" font-weight=\"700\" font-size=\"11\" text-anchor=\"middle\">\n                    <text x=\"100\" y=\"29\">N<\/text>\n                    <text x=\"171\" y=\"104\">O<\/text>\n                    <text x=\"100\" y=\"178\">S<\/text>\n                    <text x=\"29\" y=\"104\">W<\/text>\n                <\/g>\n                <g class=\"cad-compass-secondary\">\n                    <circle cx=\"100\" cy=\"100\" r=\"80\" stroke=\"rgba(255,255,255,0.18)\" stroke-width=\"0.6\" stroke-dasharray=\"2 6\"\/>\n                <\/g>\n                <g class=\"cad-compass-rose\">\n                    <circle cx=\"100\" cy=\"100\" r=\"72\" stroke=\"rgba(255,255,255,0.16)\" stroke-width=\"0.6\" stroke-dasharray=\"3 5\"\/>\n                    <g stroke=\"none\">\n                        <!-- Norden = leuchtender Messing-Funken, Rest wei\u00df -->\n                        <g filter=\"url(#cadNeedleGlow)\">\n                            <polygon points=\"100,18 105,96 100,100\" fill=\"#ffbe3d\"\/>\n                            <polygon points=\"100,18 100,100 95,96\" fill=\"#c47a1e\"\/>\n                        <\/g>\n                        <polygon points=\"182,100 104,105 100,100\" fill=\"rgba(255,255,255,0.85)\"\/>\n                        <polygon points=\"182,100 100,100 104,95\" fill=\"rgba(255,255,255,0.5)\"\/>\n                        <polygon points=\"100,182 105,104 100,100\" fill=\"rgba(255,255,255,0.45)\"\/>\n                        <polygon points=\"100,182 100,100 95,104\" fill=\"rgba(255,255,255,0.25)\"\/>\n                        <polygon points=\"18,100 96,105 100,100\" fill=\"rgba(255,255,255,0.85)\"\/>\n                        <polygon points=\"18,100 100,100 96,95\" fill=\"rgba(255,255,255,0.5)\"\/>\n                    <\/g>\n                    <g stroke=\"none\">\n                        <g transform=\"rotate(45 100 100)\"><polygon points=\"100,42 103,98 100,100\" fill=\"rgba(255,255,255,0.7)\"\/><polygon points=\"100,42 100,100 97,98\" fill=\"rgba(255,255,255,0.4)\"\/><\/g>\n                        <g transform=\"rotate(135 100 100)\"><polygon points=\"100,42 103,98 100,100\" fill=\"rgba(255,255,255,0.6)\"\/><polygon points=\"100,42 100,100 97,98\" fill=\"rgba(255,255,255,0.35)\"\/><\/g>\n                        <g transform=\"rotate(225 100 100)\"><polygon points=\"100,42 103,98 100,100\" fill=\"rgba(255,255,255,0.6)\"\/><polygon points=\"100,42 100,100 97,98\" fill=\"rgba(255,255,255,0.35)\"\/><\/g>\n                        <g transform=\"rotate(315 100 100)\"><polygon points=\"100,42 103,98 100,100\" fill=\"rgba(255,255,255,0.6)\"\/><polygon points=\"100,42 100,100 97,98\" fill=\"rgba(255,255,255,0.35)\"\/><\/g>\n                    <\/g>\n                <\/g>\n                <circle cx=\"100\" cy=\"100\" r=\"9\" fill=\"#2a4a5c\" stroke=\"rgba(255,255,255,0.95)\" stroke-width=\"1.4\"\/>\n                <circle cx=\"100\" cy=\"100\" r=\"2.8\" fill=\"#ffbe3d\"\/>\n            <\/svg>\n        <\/div>\n    <\/section>\n\n    <section class=\"cad-brief\" aria-label=\"Auf einen Blick\">\n        <p class=\"cad-brief-lead\">In der Ausschreibung stehen ein paar Zeilen zu BIM, und im B\u00fcro wei\u00df niemand, was daraus folgt. Hier ist das Fachchinesisch \u00fcbersetzt und an einem gedachten Beispiel erkl\u00e4rt, einer Ortsdurchfahrt mit Mischwasserkanal, von der Ausschreibung bis zur \u00dcbergabe. Niemand muss alles lesen. W\u00e4hle unten, wie du einsteigen willst.<\/p>\n        <dl class=\"cad-brief-facts\">\n            <div><dt>F\u00fcr wen<\/dt><dd>Gesch\u00e4ftsf\u00fchrung, Projektleitung, Konstruktion<\/dd><\/div>\n            <div><dt>Voraussetzung<\/dt><dd>keine, liest sich auch ohne Civil 3D<\/dd><\/div>\n            <div><dt>Umfang<\/dt><dd>25 Seiten in sechs Themenfeldern, je 5 bis 8 Minuten<\/dd><\/div>\n            <div><dt>Wo anfangen<\/dt><dd>unten die Weiche, oder der Selbstcheck<\/dd><\/div>\n        <\/dl>\n    <\/section>\n\n    <div class=\"cad-cards-titel\" id=\"cad-einstieg\">Wie willst du einsteigen?<\/div>\n    <p class=\"cad-weiche-hinweis\">Deine Wahl bleibt nur in deinem Browser, das sieht sonst niemand. Jede Themenseite zeigt dir dann, wo du auf deinem Pfad stehst.<\/p>\n    <div class=\"cad-weichen\" role=\"group\" aria-label=\"Einstieg w\u00e4hlen\">\n        <button type=\"button\" class=\"cad-weiche\" data-modus=\"rolle\" aria-pressed=\"false\"><strong>Nach meiner Rolle<\/strong><span>ein Lesepfad mit 8 bis 9 Seiten<\/span><\/button>\n        <button type=\"button\" class=\"cad-weiche\" data-modus=\"anlass\" aria-pressed=\"false\"><strong>Nach dem, was auf dem Tisch liegt<\/strong><span>acht typische Anl\u00e4sse, je eine Seite<\/span><\/button>\n        <button type=\"button\" class=\"cad-weiche\" data-modus=\"projekt\" aria-pressed=\"false\"><strong>Am Projekt entlang<\/strong><span>ein gedachtes Beispiel in sechs Stationen<\/span><\/button>\n        <button type=\"button\" class=\"cad-weiche\" data-modus=\"alle\" aria-pressed=\"false\"><strong>Alle Themenfelder<\/strong><span>die sechs Felder mit allen 25 Seiten<\/span><\/button>\n    <\/div>\n\n    <section data-modus-block=\"rolle\" tabindex=\"-1\" hidden>\n        <div class=\"cad-cards-titel\">Ich bin \u2026<\/div>\n        <div class=\"cad-rollen\" role=\"group\" aria-label=\"Rolle w\u00e4hlen\">\n            <button type=\"button\" class=\"cad-rolle\" data-rolle=\"gf\" aria-pressed=\"false\"><strong>Gesch\u00e4ftsf\u00fchrung und Akquise<\/strong><span>entscheiden, anbieten, bepreisen &middot; 8 Seiten<\/span><\/button>\n            <button type=\"button\" class=\"cad-rolle\" data-rolle=\"pl\" aria-pressed=\"false\"><strong>Projektleitung und Koordination<\/strong><span>AIA, BAP, Lieferung, Pr\u00fcfung &middot; 9 Seiten<\/span><\/button>\n            <button type=\"button\" class=\"cad-rolle\" data-rolle=\"km\" aria-pressed=\"false\"><strong>Konstruktion und Modellierung<\/strong><span>Modell, Merkmale, Export &middot; 9 Seiten<\/span><\/button>\n        <\/div>\n        <p class=\"cad-rolle-status\" data-rolle-status aria-live=\"polite\"><\/p>\n        <div class=\"cad-progress\" role=\"status\" aria-live=\"polite\" data-pfad-progress hidden>\n            <div class=\"cad-progress-head\">\n                <span class=\"cad-progress-count\" data-pfad-count><\/span>\n                <span class=\"cad-progress-note\">Dein Haken bleibt nur in deinem Browser, das sieht sonst niemand.<\/span>\n                <button type=\"button\" class=\"cad-btn-klein\" data-speicher-leeren title=\"L\u00f6scht Rolle, Einstieg und Lesehaken aus deinem Browser\">Gemerktes l\u00f6schen<\/button>\n            <\/div>\n            <div class=\"cad-progress-bar\" aria-hidden=\"true\"><span data-pfad-bar><\/span><\/div>\n        <\/div>\n        <div class=\"cad-cards cad-cards--pfad\" data-pfad-kacheln><\/div>\n        <p class=\"cad-block-fuss\" data-pfad-fuss hidden><button type=\"button\" class=\"cad-textlink\" data-zeige-alle>Alle sechs Themenfelder anzeigen<\/button><\/p>\n    <\/section>\n\n    <section data-modus-block=\"anlass\" hidden>\n        <div class=\"cad-cards-titel\">Ich habe gerade \u2026<\/div>\n        <div class=\"cad-cards cad-cards--pfad cad-cards--ende\" data-anlass-kacheln><\/div>\n        <div class=\"cad-sc-box\" id=\"cad-selbstcheck\" tabindex=\"-1\" hidden>\n            <div class=\"cad-sc-title\">Betrifft mich das?<\/div>\n            <p class=\"cad-sc-desc\">F\u00fcnf Fragen zu den Unterlagen, dem Auftraggeber und dem Stand des Verfahrens. Die Antwort sagt, in welcher Form die Forderung bei euch steht, was jetzt zu tun ist, und welche zwei Seiten helfen.<\/p>\n            <div class=\"cad-sc-privacy\">L\u00e4uft komplett im Browser. Keine Daten verlassen deinen Rechner.<\/div>\n\n            <form class=\"cad-sc-form\" data-sc-form>\n                <fieldset>\n                    <legend>1. Wie steht BIM in euren Unterlagen?<\/legend>\n                    <label><input type=\"radio\" name=\"form\" value=\"gar-nicht\">Gar nicht, das Wort f\u00e4llt nur im Gespr\u00e4ch<\/label>\n                    <label><input type=\"radio\" name=\"form\" value=\"satz\">Ein Satz in der Leistungsbeschreibung, sonst nichts<\/label>\n                    <label><input type=\"radio\" name=\"form\" value=\"nummern\">Nummern wie 010, 050 oder 080 aus einem Katalog der Anwendungsf\u00e4lle, ohne Erkl\u00e4rung<\/label>\n                    <label><input type=\"radio\" name=\"form\" value=\"anlage\">Eine eigene Anlage mit Informationsanforderungen<\/label>\n                    <label><input type=\"radio\" name=\"form\" value=\"bap\">Ein Abwicklungsplan wird mit dem Angebot verlangt<\/label>\n                <\/fieldset>\n                <fieldset>\n                    <legend>2. Wer ist der Auftraggeber?<\/legend>\n                    <label><input type=\"radio\" name=\"ag\" value=\"bund\">Bundesfernstra\u00dfe oder Autobahn GmbH<\/label>\n                    <label><input type=\"radio\" name=\"ag\" value=\"land\">Ein Land oder Landesbetrieb<\/label>\n                    <label><input type=\"radio\" name=\"ag\" value=\"bahn\">Die Bahn<\/label>\n                    <label><input type=\"radio\" name=\"ag\" value=\"bundesbau\">Bundesbau<\/label>\n                    <label><input type=\"radio\" name=\"ag\" value=\"kommune\">Eine Kommune<\/label>\n                    <label><input type=\"radio\" name=\"ag\" value=\"unbekannt\">Wei\u00df ich nicht<\/label>\n                <\/fieldset>\n                <fieldset>\n                    <legend>3. Was sollt ihr abgeben?<\/legend>\n                    <label><input type=\"radio\" name=\"abgabe\" value=\"plaene\">Nur Pl\u00e4ne<\/label>\n                    <label><input type=\"radio\" name=\"abgabe\" value=\"modell\">Zus\u00e4tzlich ein Modell in einem offenen Format<\/label>\n                    <label><input type=\"radio\" name=\"abgabe\" value=\"merkmale\">Ein Modell plus eine Liste geforderter Merkmale<\/label>\n                    <label><input type=\"radio\" name=\"abgabe\" value=\"nirgends\">Steht nirgends<\/label>\n                <\/fieldset>\n                <fieldset>\n                    <legend>4. Wo steht ihr im Verfahren?<\/legend>\n                    <label><input type=\"radio\" name=\"stand\" value=\"frist-lang\">Die Angebotsfrist l\u00e4uft noch mehrere Tage<\/label>\n                    <label><input type=\"radio\" name=\"stand\" value=\"frist-kurz\">Die Angebotsfrist l\u00e4uft, es sind nur noch wenige Tage<\/label>\n                    <label><input type=\"radio\" name=\"stand\" value=\"zuschlag\">Der Zuschlag ist da<\/label>\n                    <label><input type=\"radio\" name=\"stand\" value=\"modellieren\">Wir modellieren schon<\/label>\n                    <label><input type=\"radio\" name=\"stand\" value=\"rueckmeldung\">Wir haben eine R\u00fcckmeldung zur Lieferung bekommen<\/label>\n                <\/fieldset>\n                <fieldset>\n                    <legend>5. Wer macht das bei euch?<\/legend>\n                    <label><input type=\"radio\" name=\"wer\" value=\"gemacht\">Jemand hat so ein Projekt schon gemacht<\/label>\n                    <label><input type=\"radio\" name=\"wer\" value=\"ohne-merkmale\">Jemand modelliert dreidimensional, aber ohne Merkmale<\/label>\n                    <label><input type=\"radio\" name=\"wer\" value=\"niemand\">Niemand, wir haben nur die Autorensoftware<\/label>\n                <\/fieldset>\n            <\/form>\n            <p class=\"cad-sc-stand\" data-sc-stand aria-live=\"polite\">Noch f\u00fcnf Fragen offen.<\/p>\n            <div class=\"cad-sc-out\" data-sc-out aria-live=\"polite\"><\/div>\n            <p><button type=\"button\" class=\"cad-sc-btn cad-sc-btn-leise\" data-sc-reset>Von vorn<\/button><\/p>\n            <p class=\"cad-sc-foot\">Der Check sagt nie, dass ihr kein BIM braucht, und er nennt keine Prozentzahl. Er nennt die Form, in der die Forderung bei euch steht, und die n\u00e4chste Seite. Was im Vertrag steht, geht jeder Einsch\u00e4tzung vor.<\/p>\n        <\/div>\n    <\/section>\n\n    <section data-modus-block=\"projekt\" hidden>\n        <div class=\"cad-cards-titel\">Ein gedachtes Beispiel, die Ortsdurchfahrt, in sechs Stationen<\/div>\n        <div class=\"cad-durchlauf\">\n            <p class=\"cad-durchlauf-lead\">Die Ortsdurchfahrt gibt es nicht, sie ist ein gedachtes Beispiel, 800 Meter Gemeindestra\u00dfe mit Kanalerneuerung und anschlie\u00dfendem Vollausbau, geplant von einem B\u00fcro mit acht Leuten. Klicke eine Station, dann siehst du, was dort passiert, was du lieferst und wo es weh tut.<\/p>\n            <svg viewBox=\"0 0 720 240\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" aria-hidden=\"true\" focusable=\"false\">\n<line x1=\"20\" y1=\"98\" x2=\"700\" y2=\"98\" stroke=\"#3f5f75\" stroke-width=\"1.8\"\/><line x1=\"20\" y1=\"142\" x2=\"700\" y2=\"142\" stroke=\"#3f5f75\" stroke-width=\"1.8\"\/><line x1=\"20\" y1=\"120\" x2=\"700\" y2=\"120\" stroke=\"#d0d0d0\" stroke-width=\"1.2\" stroke-dasharray=\"10 8\"\/>\n<g class=\"cad-st\" data-st=\"1\"><text x=\"66\" y=\"60\" font-family=\"sans-serif\" font-size=\"10\" fill=\"#7f8c8d\" text-anchor=\"middle\">Tag 0 bis 10<\/text><rect class=\"cad-st-box\" x=\"52\" y=\"106\" width=\"28\" height=\"28\" rx=\"2\" stroke-width=\"1.8\"\/><text x=\"66\" y=\"125\" font-family=\"sans-serif\" font-size=\"11\" fill=\"#2d4d63\" text-anchor=\"middle\">1<\/text><text x=\"66\" y=\"170\" font-family=\"sans-serif\" font-size=\"11\" fill=\"#2d4d63\" text-anchor=\"middle\">Vergabeordner<\/text><\/g>\n<g class=\"cad-st\" data-st=\"2\"><text x=\"182\" y=\"60\" font-family=\"sans-serif\" font-size=\"10\" fill=\"#7f8c8d\" text-anchor=\"middle\">2 Wochen<\/text><rect class=\"cad-st-box\" x=\"168\" y=\"106\" width=\"28\" height=\"28\" rx=\"2\" stroke-width=\"1.8\"\/><text x=\"182\" y=\"125\" font-family=\"sans-serif\" font-size=\"11\" fill=\"#2d4d63\" text-anchor=\"middle\">2<\/text><text x=\"182\" y=\"170\" font-family=\"sans-serif\" font-size=\"11\" fill=\"#2d4d63\" text-anchor=\"middle\">Zuschlag<\/text><\/g>\n<g class=\"cad-st\" data-st=\"3\"><text x=\"298\" y=\"60\" font-family=\"sans-serif\" font-size=\"10\" fill=\"#7f8c8d\" text-anchor=\"middle\">LPH 1<\/text><rect class=\"cad-st-box\" x=\"284\" y=\"106\" width=\"28\" height=\"28\" rx=\"2\" stroke-width=\"1.8\"\/><text x=\"298\" y=\"125\" font-family=\"sans-serif\" font-size=\"11\" fill=\"#2d4d63\" text-anchor=\"middle\">3<\/text><text x=\"298\" y=\"170\" font-family=\"sans-serif\" font-size=\"11\" fill=\"#2d4d63\" text-anchor=\"middle\">Bestand<\/text><\/g>\n<g class=\"cad-st\" data-st=\"4\"><text x=\"414\" y=\"60\" font-family=\"sans-serif\" font-size=\"10\" fill=\"#7f8c8d\" text-anchor=\"middle\">LPH 2 bis 3<\/text><rect class=\"cad-st-box\" x=\"400\" y=\"106\" width=\"28\" height=\"28\" rx=\"2\" stroke-width=\"1.8\"\/><text x=\"414\" y=\"125\" font-family=\"sans-serif\" font-size=\"11\" fill=\"#2d4d63\" text-anchor=\"middle\">4<\/text><text x=\"414\" y=\"170\" font-family=\"sans-serif\" font-size=\"11\" fill=\"#2d4d63\" text-anchor=\"middle\">Modell<\/text><\/g>\n<g class=\"cad-st\" data-st=\"5\"><text x=\"530\" y=\"60\" font-family=\"sans-serif\" font-size=\"10\" fill=\"#7f8c8d\" text-anchor=\"middle\">Ende LPH 3<\/text><rect class=\"cad-st-box\" x=\"516\" y=\"106\" width=\"28\" height=\"28\" rx=\"2\" stroke-width=\"1.8\"\/><text x=\"530\" y=\"125\" font-family=\"sans-serif\" font-size=\"11\" fill=\"#2d4d63\" text-anchor=\"middle\">5<\/text><text x=\"530\" y=\"170\" font-family=\"sans-serif\" font-size=\"11\" fill=\"#2d4d63\" text-anchor=\"middle\">Lieferung<\/text><\/g>\n<g class=\"cad-st\" data-st=\"6\"><text x=\"646\" y=\"60\" font-family=\"sans-serif\" font-size=\"10\" fill=\"#7f8c8d\" text-anchor=\"middle\">LPH 5 bis 8<\/text><rect class=\"cad-st-box\" x=\"632\" y=\"106\" width=\"28\" height=\"28\" rx=\"2\" stroke-width=\"1.8\"\/><text x=\"646\" y=\"125\" font-family=\"sans-serif\" font-size=\"11\" fill=\"#2d4d63\" text-anchor=\"middle\">6<\/text><text x=\"646\" y=\"170\" font-family=\"sans-serif\" font-size=\"11\" fill=\"#2d4d63\" text-anchor=\"middle\">Bau, \u00dcbergabe<\/text><\/g>\n<path d=\"M646 184 L646 206 L414 206 L414 186\" stroke=\"#7f8c8d\" stroke-width=\"1.2\" stroke-dasharray=\"4 3\" fill=\"none\"\/><path d=\"M410 192 L414 186 L418 192\" stroke=\"#7f8c8d\" stroke-width=\"1.2\" fill=\"none\"\/><text x=\"530\" y=\"222\" font-family=\"sans-serif\" font-size=\"10\" fill=\"#7f8c8d\" text-anchor=\"middle\">Stationen 4 bis 6 kommen mit jedem Daten\u00fcbergabepunkt wieder<\/text>\n<\/svg>\n            <div class=\"cad-stationen\" role=\"group\" aria-label=\"Station w\u00e4hlen\">\n            <button type=\"button\" class=\"cad-station\" data-st=\"1\" aria-pressed=\"false\">1 Vergabeordner<\/button>\n            <button type=\"button\" class=\"cad-station\" data-st=\"2\" aria-pressed=\"false\">2 Zuschlag<\/button>\n            <button type=\"button\" class=\"cad-station\" data-st=\"3\" aria-pressed=\"false\">3 Bestand<\/button>\n            <button type=\"button\" class=\"cad-station\" data-st=\"4\" aria-pressed=\"false\">4 Modell<\/button>\n            <button type=\"button\" class=\"cad-station\" data-st=\"5\" aria-pressed=\"false\">5 Lieferung<\/button>\n            <button type=\"button\" class=\"cad-station\" data-st=\"6\" aria-pressed=\"false\">6 Bau, \u00dcbergabe<\/button>\n            <\/div>\n            <div class=\"cad-station-text\" data-station-text aria-live=\"polite\"><\/div>\n            <div class=\"cad-haarlinie\" aria-hidden=\"true\"><\/div>\n        <\/div>\n        <div class=\"cad-cards cad-cards--pfad cad-cards--ende\" data-station-kacheln><\/div>\n    <\/section>\n\n    <section data-modus-block=\"alle\">\n        <div class=\"cad-cards-titel\">Die sechs Themenfelder<\/div>\n        <div class=\"cad-cards\" data-hub=\"bim\">\n        <div class=\"cad-card cad-card--start\" data-feld=\"A\" id=\"hub-start\">\n            <div class=\"cad-card-header\">\n                <div class=\"cad-card-step\">Themenfeld 1 &middot; 5 Seiten<\/div>\n                <div class=\"cad-card-title\">Zuerst verstehen<\/div>\n            <\/div>\n            <div class=\"cad-card-divider\"><\/div>\n            <div class=\"cad-card-icon\">\n                <svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M8 9h32a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H21l-9 7v-7H8a3 3 0 0 1-3-3V12a3 3 0 0 1 3-3Z\"\/><path d=\"M13 17h22M13 25h13\"\/><\/svg>\n            <\/div>\n            <div class=\"cad-card-body\">\n                <p class=\"cad-card-text\">Was BIM ist, ob es f\u00fcr eine Gemeinde Pflicht ist, ob es sich f\u00fcr ein kleines B\u00fcro lohnt, und wie man die S\u00e4tze und Nummern im Vergabe-PDF liest.<\/p>\n                <p class=\"cad-card-pfad\" data-pfad-note><\/p>\n            <\/div>\n            <div class=\"cad-card-footer\">\n                <div class=\"cad-card-footer-divider\"><\/div>\n                <a href=\"https:\/\/cad-kompass.de\/?page_id=2568\" class=\"cad-card-btn\">Themenfeld &ouml;ffnen<\/a>\n            <\/div>\n        <\/div>\n        <div class=\"cad-card\" data-feld=\"B\">\n            <div class=\"cad-card-header\">\n                <div class=\"cad-card-step\">Themenfeld 2 &middot; 5 Seiten<\/div>\n                <div class=\"cad-card-title\">Anbieten und zusagen<\/div>\n            <\/div>\n            <div class=\"cad-card-divider\"><\/div>\n            <div class=\"cad-card-icon\">\n                <svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M11 5h17l9 9v29H11Z\"\/><path d=\"M28 5v9h9\"\/><path d=\"M17 22h14M17 29h6\"\/><circle cx=\"30\" cy=\"34\" r=\"5\"\/><\/svg>\n            <\/div>\n            <div class=\"cad-card-body\">\n                <p class=\"cad-card-text\">Die Informationsanforderungen des Auftraggebers in neunzig Minuten lesen, bei einer d\u00fcnnen Anlage richtig nachfragen, den Abwicklungsplan schreiben, die Leistung bepreisen, und wissen, wem das Modell geh\u00f6rt.<\/p>\n                <p class=\"cad-card-pfad\" data-pfad-note><\/p>\n            <\/div>\n            <div class=\"cad-card-footer\">\n                <div class=\"cad-card-footer-divider\"><\/div>\n                <a href=\"https:\/\/cad-kompass.de\/?page_id=2566\" class=\"cad-card-btn\">Themenfeld &ouml;ffnen<\/a>\n            <\/div>\n        <\/div>\n        <div class=\"cad-card\" data-feld=\"C\">\n            <div class=\"cad-card-header\">\n                <div class=\"cad-card-step\">Themenfeld 3 &middot; 3 Seiten<\/div>\n                <div class=\"cad-card-title\">Bevor das erste Bauteil entsteht<\/div>\n            <\/div>\n            <div class=\"cad-card-divider\"><\/div>\n            <div class=\"cad-card-icon\">\n                <svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"24\" cy=\"19\" r=\"8\"\/><path d=\"M24 5v6M24 27v6M10 19h6M32 19h6\"\/><path d=\"M4 40c6-6 10 3 16-2s10 5 24-4\"\/><\/svg>\n            <\/div>\n            <div class=\"cad-card-body\">\n                <p class=\"cad-card-text\">Wo das Modell liegt und warum der Projektma\u00dfstab die Strecke verk\u00fcrzt, welchen Bestandsdaten man trauen kann, und was man aus einer Leitungsauskunft ohne H\u00f6he modelliert.<\/p>\n                <p class=\"cad-card-pfad\" data-pfad-note><\/p>\n            <\/div>\n            <div class=\"cad-card-footer\">\n                <div class=\"cad-card-footer-divider\"><\/div>\n                <a href=\"https:\/\/cad-kompass.de\/?page_id=2570\" class=\"cad-card-btn\">Themenfeld &ouml;ffnen<\/a>\n            <\/div>\n        <\/div>\n        <div class=\"cad-card\" data-feld=\"D\">\n            <div class=\"cad-card-header\">\n                <div class=\"cad-card-step\">Themenfeld 4 &middot; 3 Seiten<\/div>\n                <div class=\"cad-card-title\">Das Modell, das Information tr\u00e4gt<\/div>\n            <\/div>\n            <div class=\"cad-card-divider\"><\/div>\n            <div class=\"cad-card-icon\">\n                <svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M17 6 29 13v14l-12 7-12-7V13Z\"\/><path d=\"M17 20v14M5 13l12 7 12-7\"\/><path d=\"M35 16h9M35 24h9M35 32h6\"\/><\/svg>\n            <\/div>\n            <div class=\"cad-card-body\">\n                <p class=\"cad-card-text\">Wie viele Dateien das Projekt braucht, welche Merkmale ein Schacht haben muss, und woher die Merkmalsliste kommt, wenn niemand einen Katalog nennt.<\/p>\n                <p class=\"cad-card-pfad\" data-pfad-note><\/p>\n            <\/div>\n            <div class=\"cad-card-footer\">\n                <div class=\"cad-card-footer-divider\"><\/div>\n                <a href=\"https:\/\/cad-kompass.de\/?page_id=2574\" class=\"cad-card-btn\">Themenfeld &ouml;ffnen<\/a>\n            <\/div>\n        <\/div>\n        <div class=\"cad-card\" data-feld=\"E\">\n            <div class=\"cad-card-header\">\n                <div class=\"cad-card-step\">Themenfeld 5 &middot; 5 Seiten<\/div>\n                <div class=\"cad-card-title\">Liefern<\/div>\n            <\/div>\n            <div class=\"cad-card-divider\"><\/div>\n            <div class=\"cad-card-icon\">\n                <svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"4\" y=\"13\" width=\"13\" height=\"21\" rx=\"3\"\/><rect x=\"31\" y=\"13\" width=\"13\" height=\"21\" rx=\"3\"\/><path d=\"M20 23.5h8M24 19.5l4 4-4 4\"\/><\/svg>\n            <\/div>\n            <div class=\"cad-card-body\">\n                <p class=\"cad-card-text\">Welches Format zu welchem Empf\u00e4nger passt, wie IFC im Tiefbau gebaut ist, was beim Export verloren geht, der Kanal, und die Strecke bis zur Abrechnung.<\/p>\n                <p class=\"cad-card-pfad\" data-pfad-note><\/p>\n            <\/div>\n            <div class=\"cad-card-footer\">\n                <div class=\"cad-card-footer-divider\"><\/div>\n                <a href=\"https:\/\/cad-kompass.de\/?page_id=2576\" class=\"cad-card-btn\">Themenfeld &ouml;ffnen<\/a>\n            <\/div>\n        <\/div>\n        <div class=\"cad-card\" data-feld=\"F\">\n            <div class=\"cad-card-header\">\n                <div class=\"cad-card-step\">Themenfeld 6 &middot; 4 Seiten<\/div>\n                <div class=\"cad-card-title\">Zusammenarbeiten und nachweisen<\/div>\n            <\/div>\n            <div class=\"cad-card-divider\"><\/div>\n            <div class=\"cad-card-icon\">\n                <svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M24 5 43 14 24 23 5 14Z\"\/><path d=\"M5 23.5 24 32.5 43 23.5\"\/><path d=\"M5 33 24 42 43 33\"\/><\/svg>\n            <\/div>\n            <div class=\"cad-card-body\">\n                <p class=\"cad-card-text\">Ob der eigene Cloudspeicher eine Datenumgebung ist, was eine Kollisionspr\u00fcfung im Tiefbau findet, wie man Treffer weitergibt, und wie man pr\u00fcft, bevor der Auftraggeber pr\u00fcft.<\/p>\n                <p class=\"cad-card-pfad\" data-pfad-note><\/p>\n            <\/div>\n            <div class=\"cad-card-footer\">\n                <div class=\"cad-card-footer-divider\"><\/div>\n                <a href=\"https:\/\/cad-kompass.de\/?page_id=2572\" class=\"cad-card-btn\">Themenfeld &ouml;ffnen<\/a>\n            <\/div>\n        <\/div>\n        <\/div>\n    <\/section>\n\n    <div class=\"cad-cards-titel\">Nachschlagen<\/div>\n    <div class=\"cad-cards\">\n        <div class=\"cad-card\">\n            <div class=\"cad-card-header\"><div class=\"cad-card-step\">Nachschlagen<\/div><div class=\"cad-card-title\">BIM-Lexikon<\/div><\/div>\n            <div class=\"cad-card-divider\"><\/div>\n            <div class=\"cad-card-icon\"><svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"9\" y=\"8\" width=\"30\" height=\"32\" rx=\"2\" stroke=\"#3f5f75\"\/><line x1=\"15\" y1=\"17\" x2=\"33\" y2=\"17\" stroke=\"#3f5f75\"\/><line x1=\"15\" y1=\"24\" x2=\"33\" y2=\"24\" stroke=\"#3f5f75\"\/><line x1=\"15\" y1=\"31\" x2=\"26\" y2=\"31\" stroke=\"#3f5f75\"\/><\/svg><\/div>\n            <div class=\"cad-card-body\"><p class=\"cad-card-text\">Alle Begriffe, auch die aus Vortrag und Verkaufsgespr\u00e4ch. Zu jedem: was gemeint ist, was es im Tiefbau hei\u00dft, wo es hier weitergeht.<\/p><\/div>\n            <div class=\"cad-card-footer\"><div class=\"cad-card-footer-divider\"><\/div><a href=\"https:\/\/cad-kompass.de\/?p=2641\" class=\"cad-card-btn\">Lexikon \u00f6ffnen<\/a><\/div>\n        <\/div>\n        <div class=\"cad-card\">\n            <div class=\"cad-card-header\"><div class=\"cad-card-step\">Nachschlagen<\/div><div class=\"cad-card-title\">Betrifft mich das?<\/div><\/div>\n            <div class=\"cad-card-divider\"><\/div>\n            <div class=\"cad-card-icon\"><svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"9\" y=\"8\" width=\"30\" height=\"32\" rx=\"2\" stroke=\"#3f5f75\"\/><line x1=\"15\" y1=\"17\" x2=\"33\" y2=\"17\" stroke=\"#3f5f75\"\/><line x1=\"15\" y1=\"24\" x2=\"33\" y2=\"24\" stroke=\"#3f5f75\"\/><line x1=\"15\" y1=\"31\" x2=\"26\" y2=\"31\" stroke=\"#3f5f75\"\/><\/svg><\/div>\n            <div class=\"cad-card-body\"><p class=\"cad-card-text\">F\u00fcnf Fragen zu Auftraggeber, Unterlagen und Stand des Verfahrens. Antwort in einem Absatz, dazu die zwei Seiten, die jetzt helfen.<\/p><\/div>\n            <div class=\"cad-card-footer\"><div class=\"cad-card-footer-divider\"><\/div><a href=\"https:\/\/cad-kompass.de\/?p=2639\" class=\"cad-card-btn\" data-check-oeffnen aria-controls=\"cad-selbstcheck\" aria-expanded=\"false\">Selbstcheck starten<\/a><\/div>\n        <\/div>\n        <div class=\"cad-card\">\n            <div class=\"cad-card-header\"><div class=\"cad-card-step\">Nachschlagen<\/div><div class=\"cad-card-title\">AIA-Lesehilfe<\/div><\/div>\n            <div class=\"cad-card-divider\"><\/div>\n            <div class=\"cad-card-icon\"><svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"9\" y=\"8\" width=\"30\" height=\"32\" rx=\"2\" stroke=\"#3f5f75\"\/><line x1=\"15\" y1=\"17\" x2=\"33\" y2=\"17\" stroke=\"#3f5f75\"\/><line x1=\"15\" y1=\"24\" x2=\"33\" y2=\"24\" stroke=\"#3f5f75\"\/><line x1=\"15\" y1=\"31\" x2=\"26\" y2=\"31\" stroke=\"#3f5f75\"\/><\/svg><\/div>\n            <div class=\"cad-card-body\"><p class=\"cad-card-text\">Fragen an die Vergabeunterlagen, mit Bieterfragen zum \u00dcbernehmen. Dazu ein Kurzblatt zum Ausdrucken: vorn die Kernfragen vor dem Angebot, hinten, was nach dem Zuschlag feststehen sollte.<\/p><\/div>\n            <div class=\"cad-card-footer\"><div class=\"cad-card-footer-divider\"><\/div><a href=\"https:\/\/cad-kompass.de\/?p=2589\" class=\"cad-card-btn\">Lesehilfe \u00f6ffnen<\/a><\/div>\n        <\/div>\n        <div class=\"cad-card\">\n            <div class=\"cad-card-header\"><div class=\"cad-card-step\">Nachschlagen<\/div><div class=\"cad-card-title\">Versionen und St\u00e4nde<\/div><\/div>\n            <div class=\"cad-card-divider\"><\/div>\n            <div class=\"cad-card-icon\"><svg viewBox=\"0 0 48 48\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"9\" y=\"8\" width=\"30\" height=\"32\" rx=\"2\" stroke=\"#3f5f75\"\/><line x1=\"15\" y1=\"17\" x2=\"33\" y2=\"17\" stroke=\"#3f5f75\"\/><line x1=\"15\" y1=\"24\" x2=\"33\" y2=\"24\" stroke=\"#3f5f75\"\/><line x1=\"15\" y1=\"31\" x2=\"26\" y2=\"31\" stroke=\"#3f5f75\"\/><\/svg><\/div>\n            <div class=\"cad-card-body\"><p class=\"cad-card-text\">Versionsnummern, Ausgabest\u00e4nde und Produktnamen des Bereichs gesammelt, jede Zeile mit Pr\u00fcfdatum.<\/p><\/div>\n            <div class=\"cad-card-footer\"><div class=\"cad-card-footer-divider\"><\/div><a href=\"https:\/\/cad-kompass.de\/?p=2643\" class=\"cad-card-btn\">Blatt \u00f6ffnen<\/a><\/div>\n        <\/div>\n    <\/div>\n\n<\/div>\n\n<script>\n    (function () {\n        'use strict';\n        const prefersReducedMotion = window.matchMedia ? window.matchMedia('(prefers-reduced-motion: reduce)').matches : false;\n        const hasFinePointer = window.matchMedia ? window.matchMedia('(pointer: fine)').matches : false;\n\n        \/* === Daten (Quelle: 05-BIM\/_Steuerung\/_pfade.json und _hub-inhalte.json, erzeugt von bim-hub-bauen.py) === *\/\n        const SEITEN = {\n            A1: { t: 'Was BIM ist', q: 'In der Ausschreibung steht BIM. Was will die Gemeinde von uns?', u: 'https:\/\/cad-kompass.de\/?p=2549', f: 'A', n: 1 },\n            A2: { t: 'Was im Tiefbau anders l\u00e4uft', q: 'Warum l\u00e4uft BIM im Tiefbau anders als im Hochbau?', u: 'https:\/\/cad-kompass.de\/?p=2551', f: 'A', n: 1 },\n            A3: { t: 'Ist BIM Pflicht?', q: 'M\u00fcssen wir das jetzt, oder ist das freiwillig?', u: 'https:\/\/cad-kompass.de\/?p=2553', f: 'A', n: 1 },\n            A4: { t: 'Lohnt sich das f\u00fcr ein kleines B\u00fcro?', q: 'Lohnt sich das f\u00fcr ein kleines B\u00fcro, oder ist das etwas f\u00fcr die Gro\u00dfen?', u: 'https:\/\/cad-kompass.de\/?p=2556', f: 'A', n: 1 },\n            A5: { t: 'Das Vergabe-PDF lesen', q: 'Was bedeuten die paar S\u00e4tze zu BIM und die dreistelligen Nummern im Vergabe-PDF?', u: 'https:\/\/cad-kompass.de\/?p=2558', f: 'A', n: 1 },\n            B1: { t: 'AIA lesen in neunzig Minuten', q: 'Die AIA hat viele Seiten. Was davon muss ich wirklich lesen?', u: 'https:\/\/cad-kompass.de\/?p=2579', f: 'B', n: 2 },\n            B2: { t: 'Die d\u00fcnne AIA', q: 'Die Anlage ist d\u00fcnn und die Frist ist knapp. Was tun wir zuerst?', u: 'https:\/\/cad-kompass.de\/?p=2581', f: 'B', n: 2 },\n            B3: { t: 'Der BAP im kleinen B\u00fcro', q: 'Was muss in unseren Abwicklungsplan, wer \u00fcbernimmt welche Rolle, und was d\u00fcrfen wir streichen?', u: 'https:\/\/cad-kompass.de\/?p=2583', f: 'B', n: 2 },\n            B4: { t: 'Was die BIM-Leistung kostet', q: 'Was kostet uns das, und wie bekommen wir es bezahlt?', u: 'https:\/\/cad-kompass.de\/?p=2585', f: 'B', n: 2 },\n            B5: { t: 'Wem das Modell geh\u00f6rt', q: 'Wem geh\u00f6rt das Modell, und wof\u00fcr haften wir?', u: 'https:\/\/cad-kompass.de\/?p=2587', f: 'B', n: 2 },\n            C1: { t: 'Wo das Modell liegt', q: 'Warum liegt das Modell beim Empf\u00e4nger woanders, und warum ist es zu kurz?', u: 'https:\/\/cad-kompass.de\/?p=2593', f: 'C', n: 3 },\n            C2: { t: 'Bestandsdaten annehmen', q: 'Der Auftraggeber schickt Bestandsdaten. Kann ich damit arbeiten?', u: 'https:\/\/cad-kompass.de\/?p=2595', f: 'C', n: 3 },\n            C3: { t: 'Sparten und Baugrund', q: 'Die Leitungsauskunft hat keine H\u00f6he. Was modelliere ich da?', u: 'https:\/\/cad-kompass.de\/?p=2597', f: 'C', n: 3 },\n            D1: { t: 'Fachmodelle abgrenzen', q: 'Wie viele Dateien braucht das Projekt, und wo verl\u00e4uft die Grenze?', u: 'https:\/\/cad-kompass.de\/?p=2603', f: 'D', n: 4 },\n            D2: { t: 'Merkmale vor dem ersten Bauteil', q: 'Welche Merkmale braucht ein Schacht, und wer entscheidet das?', u: 'https:\/\/cad-kompass.de\/?p=2605', f: 'D', n: 4 },\n            D3: { t: 'Merkmale aus dem Katalog', q: 'Woher hole ich die Merkmalsliste, wenn niemand einen Katalog nennt?', u: 'https:\/\/cad-kompass.de\/?p=2607', f: 'D', n: 4 },\n            E1: { t: 'Welches Format wof\u00fcr', q: 'Welches Format schicke ich wem?', u: 'https:\/\/cad-kompass.de\/?p=2613', f: 'E', n: 5 },\n            E2: { t: 'IFC im Tiefbau', q: 'Was ist IFC 4.3, und wie passt meine Stra\u00dfe hinein?', u: 'https:\/\/cad-kompass.de\/?p=2615', f: 'E', n: 5 },\n            E3: { t: 'Was beim Export verloren geht', q: 'Der Export ist da, die Daten sind leer. Woran liegt das?', u: 'https:\/\/cad-kompass.de\/?p=2617', f: 'E', n: 5 },\n            E4: { t: 'Kanal kommunal', q: 'Der Kanalbetrieb will seine Daten zur\u00fcck. In welcher Form?', u: 'https:\/\/cad-kompass.de\/?p=2619', f: 'E', n: 5 },\n            E5: { t: 'Die letzte Meile', q: 'Kann der Bagger unser Modell lesen, und rechnet der Pr\u00fcfer damit ab?', u: 'https:\/\/cad-kompass.de\/?p=2621', f: 'E', n: 5 },\n            F1: { t: 'Die Gemeinsame Datenumgebung', q: 'Ist eine Cloud-Ablage schon eine Gemeinsame Datenumgebung?', u: 'https:\/\/cad-kompass.de\/?p=2627', f: 'F', n: 6 },\n            F2: { t: 'Kollisionspr\u00fcfung im Tiefbau', q: 'Die Pr\u00fcfung meldet hunderte Treffer. Welche davon sind echt?', u: 'https:\/\/cad-kompass.de\/?p=2629', f: 'F', n: 6 },\n            F3: { t: 'Vorg\u00e4nge f\u00fchren', q: 'Wie gebe ich einen Treffer weiter, damit der andere ihn versteht?', u: 'https:\/\/cad-kompass.de\/?p=2631', f: 'F', n: 6 },\n            F4: { t: 'Pr\u00fcfen, bevor jemand anderes pr\u00fcft', q: 'Darf die Datei rausgehen?', u: 'https:\/\/cad-kompass.de\/?p=2633', f: 'F', n: 6 }\n        };\n        const ROLLEN = {\n            gf: { name: 'Gesch\u00e4ftsf\u00fchrung und Akquise', pfad: ['A1', 'A3', 'A4', 'A5', 'B2', 'B4', 'B5', 'E5'] },\n            pl: { name: 'Projektleitung und Koordination', pfad: ['A5', 'B1', 'B2', 'B3', 'C2', 'E1', 'F1', 'F2', 'F4'] },\n            km: { name: 'Konstruktion und Modellierung', pfad: ['A1', 'A2', 'C1', 'C3', 'D1', 'D2', 'D3', 'E2', 'E3'] }\n        };\n        const FELDER = {\n            A: { name: 'Zuerst verstehen', nr: 1 },\n            B: { name: 'Anbieten und zusagen', nr: 2 },\n            C: { name: 'Bevor das erste Bauteil entsteht', nr: 3 },\n            D: { name: 'Das Modell, das Information tr\u00e4gt', nr: 4 },\n            E: { name: 'Liefern', nr: 5 },\n            F: { name: 'Zusammenarbeiten und nachweisen', nr: 6 }\n        };\n        const STATIONEN = [\n            { titel: 'Der Vergabeordner', wann: 'Tag 0 bis 10', passiert: 'Die Gemeinde schreibt Objektplanung Stra\u00dfe und Kanal aus. In unserem Vergabeordner stehen drei Zeilen zu BIM, dazu die Auftraggeber-Informationsanforderungen (AIA) als Anlage 7 mit vierzig Seiten und zehn Tage Angebotsfrist. Angekreuzt sind bei uns die Anwendungsf\u00e4lle 010, 050 und 080, Nummern aus der Liste von BIM Deutschland f\u00fcr Bestandserfassung und -modellierung, Koordination der Fachgewerke und Ableitung von Planunterlagen.', lieferst: 'Unser Angebot mit einer Preiszeile f\u00fcr BIM-Leistungen und einem vorl\u00e4ufigen Abwicklungsplan.', weh: 'Beschrieben ist keiner der drei F\u00e4lle, und die Preiszeile im Formblatt hat keine Aufgliederung.', links: ['A5', 'B2'] },\n            { titel: 'Zuschlag und Abstimmung', wann: '2 Wochen', passiert: 'Der Abwicklungsplan wird mit dem Tiefbauamt abgestimmt, und bei uns verteilen sich die Rollen auf drei von acht Leuten.', lieferst: 'Unseren abgestimmten Abwicklungsplan mit Lieferplan und sieben Daten\u00fcbergabepunkten.', weh: 'Unsere AIA sagt, die Datenumgebung werde gestellt, ohne zu sagen von wem.', links: ['B3', 'F1'] },\n            { titel: 'Bestand annehmen', wann: 'LPH 1', passiert: 'Bei uns kommen das Gel\u00e4ndemodell des Landes, die Vermessung des Stra\u00dfenraums, der Kanalbestand aus der Datenbank des Betreibers, f\u00fcnf Leitungsausk\u00fcnfte und drei Schichtenverzeichnisse als PDF.', lieferst: 'Das Fachmodell Bestand mit Annahmeprotokoll und benanntem Vorbehalt.', weh: 'Unsere Spartenausk\u00fcnfte haben keine H\u00f6he oder eine pauschale mittlere Tiefe, und das Gel\u00e4ndemodell nennt kein Erfassungsjahr.', links: ['C2', 'C3'] },\n            { titel: 'Verorten und modellieren', wann: 'LPH 2 bis 3', passiert: 'Die Achse folgt dem Bestand, der H\u00f6henplan wird neu gelegt, die Fachmodelle f\u00fcr Stra\u00dfe und Kanal entstehen.', lieferst: 'In Leistungsphase 3 alle vierzehn Tage unsere Zwischenst\u00e4nde, dazu das Koordinationsmodell.', weh: 'Der Projektma\u00dfstab verk\u00fcrzt unsere 800 Meter um rund 33 Zentimeter, und Merkmale, die jetzt fehlen, kosten sp\u00e4ter Handarbeit an jedem Bauteil.', links: ['C1', 'D2'] },\n            { titel: 'Liefern und pr\u00fcfen', wann: 'Ende LPH 3', passiert: 'Koordinationsmodell mit Pr\u00fcfbericht, Mengenauszug, abgeleiteter Lageplan und L\u00e4ngsschnitt gehen an das Tiefbauamt.', lieferst: 'Die Exportdateien im vereinbarten Format plus den eigenen Pr\u00fcfvermerk.', weh: 'Im Export fehlen Eigenschaftss\u00e4tze, und die Kollisionspr\u00fcfung liefert Rauschen statt Treffern.', links: ['E3', 'F2'] },\n            { titel: 'Bauen und \u00fcbergeben', wann: 'LPH 5 bis 8', passiert: 'Absteckdaten und Gel\u00e4ndemodell gehen an die Maschine, am Ende will der Kanalbetrieb seine Daten f\u00fcr das Kataster.', lieferst: 'Achse, Kanten und Gel\u00e4ndemodell f\u00fcr die Maschinensteuerung, das Bestandsmodell, die Kanaldaten und eine Abweichungsliste.', weh: 'Die modellbasierte Abrechnung ist in unserem Vertrag nicht vereinbart, der Erdbau l\u00e4uft weiter \u00fcber das Prismenverfahren.', links: ['E5', 'E4'] }\n        ];\n        const ANLAESSE = [\n            { check: true, step: 'Selbstcheck', satz: '\u2026 keine Ahnung, ob uns BIM \u00fcberhaupt betrifft.', knopf: 'F\u00fcnf Fragen beantworten' },\n            { seite: 'A5', satz: '\u2026 eine Ausschreibung ge\u00f6ffnet, in der BIM steht.' },\n            { seite: 'B1', satz: '\u2026 eine dicke Anlage mit Informationsanforderungen im Vergabeordner, und die Frist l\u00e4uft.' },\n            { seite: 'B4', satz: '\u2026 eine Preiszeile \u201eBIM-Leistungen\u201c im Formblatt und wei\u00df nicht, was da hinein soll.' },\n            { seite: 'C2', satz: '\u2026 Bestandsdaten vom Auftraggeber bekommen.' },\n            { seite: 'C1', satz: '\u2026 ein Modell im fremden Programm ge\u00f6ffnet, und es liegt woanders.' },\n            { seite: 'E3', satz: '\u2026 eine IFC verschickt, und beim Empf\u00e4nger sind die Merkmale leer.' },\n            { seite: 'F2', satz: '\u2026 einen Pr\u00fcfbericht mit hunderten Treffern zur\u00fcck.' }\n        ];\n        const CHECK_URL = 'https:\/\/cad-kompass.de\/?p=2639';\n        const K_EINSTIEG = 'cadk_bim_einstieg_v1';\n        const K_ROLLE = 'cadk_bim_rolle_v1';\n        const K_GELESEN = 'cadk_bim_gelesen_v1';\n        const ROLLEN_HINWEIS = 'W\u00e4hle deine Rolle, dann erscheint hier dein Pfad in Lesereihenfolge. Den Haken je Seite setzt du selbst, er bleibt nur in deinem Browser.';\n\n        function lies(k) { try { return localStorage.getItem(k); } catch (e) { return null; } }\n        function schreib(k, v) { try { if (v === null) { localStorage.removeItem(k); } else { localStorage.setItem(k, v); } } catch (e) {} }\n        function liesGelesen() {\n            try {\n                const raw = localStorage.getItem(K_GELESEN);\n                if (!raw) { return []; }\n                const a = JSON.parse(raw);\n                return Object.prototype.toString.call(a) === '[object Array]' ? a : [];\n            } catch (e) { return []; }\n        }\n        function schreibGelesen(a) { schreib(K_GELESEN, JSON.stringify(a)); }\n        function leer(el) { while (el.firstChild) { el.removeChild(el.firstChild); } }\n        function mach(tag, cls, text) {\n            const e = document.createElement(tag);\n            if (cls) { e.className = cls; }\n            if (text !== undefined) { e.textContent = text; }\n            return e;\n        }\n        function aktuelleRolle() { const r = lies(K_ROLLE); return ROLLEN[r] ? r : null; }\n        function aktuellerModus() { const m = lies(K_EINSTIEG); return (m === 'rolle' || m === 'anlass' || m === 'projekt') ? m : 'alle'; }\n        function rolleZuAnsicht() {\n            const ziel = document.querySelector('[data-modus-block=\"rolle\"]');\n            if (!ziel) { return; }\n            ziel.scrollIntoView({ behavior: prefersReducedMotion ? 'auto' : 'smooth', block: 'start' });\n        }\n\n        \/* === Weiche: welche Ansicht sichtbar ist === *\/\n        const weichen = Array.prototype.slice.call(document.querySelectorAll('.cad-weiche[data-modus]'));\n        const bloecke = Array.prototype.slice.call(document.querySelectorAll('[data-modus-block]'));\n        function zeigeAnsicht() {\n            const m = aktuellerModus();\n            const rolle = aktuelleRolle();\n            weichen.forEach(function (b) { b.setAttribute('aria-pressed', b.getAttribute('data-modus') === m ? 'true' : 'false'); });\n            bloecke.forEach(function (b) {\n                const bm = b.getAttribute('data-modus-block');\n                let sichtbar = (bm === m);\n                if (m === 'rolle') { if (bm === 'alle') { sichtbar = !rolle; } }\n                b.hidden = !sichtbar;\n            });\n            baueRollenAnsicht();\n            maleHaken();\n            document.dispatchEvent(new CustomEvent('cad-ansicht-geaendert'));\n        }\n        weichen.forEach(function (b) {\n            b.addEventListener('click', function () { schreib(K_EINSTIEG, b.getAttribute('data-modus')); zeigeAnsicht(); });\n        });\n        const zeigeAlle = document.querySelector('[data-zeige-alle]');\n        if (zeigeAlle) { zeigeAlle.addEventListener('click', function () { schreib(K_EINSTIEG, 'alle'); zeigeAnsicht(); }); }\n        const leeren = document.querySelector('[data-speicher-leeren]');\n        if (leeren) {\n            leeren.addEventListener('click', function () {\n                schreib(K_ROLLE, null);\n                schreib(K_EINSTIEG, null);\n                schreib(K_GELESEN, null);\n                zeigeAnsicht();\n                const start = document.querySelector('.cad-weiche[data-modus]');\n                if (start) {\n                    start.scrollIntoView({ behavior: prefersReducedMotion ? 'auto' : 'smooth', block: 'center' });\n                    start.focus({ preventScroll: true });\n                }\n            });\n        }\n\n        \/* === Seitenkacheln: ein Bauer fuer alle Ansichten, Haken oben links traegt den gemeinsamen Lesestatus === *\/\n        const status = document.querySelector('[data-rolle-status]');\n        const progress = document.querySelector('[data-pfad-progress]');\n        const countEl = document.querySelector('[data-pfad-count]');\n        const barEl = document.querySelector('[data-pfad-bar]');\n        const kachelBox = document.querySelector('[data-pfad-kacheln]');\n        const fuss = document.querySelector('[data-pfad-fuss]');\n        const feldKarten = Array.prototype.slice.call(document.querySelectorAll('.cad-card[data-feld]'));\n\n        function checkButton(id, label) {\n            const btn = mach('button', 'cad-check');\n            btn.type = 'button';\n            btn.setAttribute('data-check', id);\n            btn.setAttribute('aria-pressed', 'false');\n            btn.setAttribute('aria-label', label + ' als gelesen markieren');\n            btn.title = 'Als gelesen markieren';\n            const svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n            svg.setAttribute('viewBox', '0 0 20 20');\n            svg.setAttribute('fill', 'none');\n            svg.setAttribute('stroke', 'currentColor');\n            svg.setAttribute('stroke-width', '2.4');\n            svg.setAttribute('stroke-linecap', 'round');\n            svg.setAttribute('stroke-linejoin', 'round');\n            svg.setAttribute('aria-hidden', 'true');\n            const path = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n            path.setAttribute('d', 'M5 10l3.5 3.5L15 6');\n            svg.appendChild(path);\n            btn.appendChild(svg);\n            btn.addEventListener('click', function () {\n                const gelesen = liesGelesen();\n                const i = gelesen.indexOf(id);\n                if (i === -1) { gelesen.push(id); } else { gelesen.splice(i, 1); }\n                schreibGelesen(gelesen);\n                maleHaken();\n            });\n            return btn;\n        }\n        \/* o: { id, step, titel, knopf, href, klick, start, hakenLabel }; kompakt ohne Ikone und Fliesstext *\/\n        function seitenKachel(o) {\n            const card = mach('div', 'cad-card cad-card--seite');\n            if (o.id) {\n                card.setAttribute('data-seite', o.id);\n                card.appendChild(checkButton(o.id, o.hakenLabel || o.titel));\n            }\n            if (o.start) { card.classList.add('cad-card--start'); }\n            const header = mach('div', 'cad-card-header');\n            header.appendChild(mach('div', 'cad-card-step', o.step));\n            header.appendChild(mach('div', 'cad-card-title', o.titel));\n            card.appendChild(header);\n            card.appendChild(mach('div', 'cad-card-divider'));\n            const footer = mach('div', 'cad-card-footer');\n            const a = mach('a', 'cad-card-btn', o.knopf);\n            a.href = o.href;\n            if (o.klick) {\n                a.setAttribute('data-check-oeffnen', '');\n                a.setAttribute('aria-controls', 'cad-selbstcheck');\n                a.setAttribute('aria-expanded', 'false');\n                a.addEventListener('click', function (e) { e.preventDefault(); o.klick(); });\n            }\n            footer.appendChild(a);\n            card.appendChild(footer);\n            return card;\n        }\n        \/* Seitenkachel aus SEITEN; schritt greater than 0 nur im Rollenpfad (\"Schritt n\"); Themenfeld sichtbar als Nummer *\/\n        function pfadKachel(id, schritt) {\n            const s = SEITEN[id];\n            return seitenKachel({\n                id: id,\n                step: (schritt ? 'Schritt ' + schritt + ' \u00b7 ' : '') + 'Themenfeld ' + s.n,\n                titel: s.t,\n                knopf: 'Seite \u00f6ffnen',\n                href: s.u,\n                start: schritt === 1\n            });\n        }\n        function maleHaken() {\n            const gelesen = liesGelesen();\n            Array.prototype.slice.call(document.querySelectorAll('.cad-card[data-seite]')).forEach(function (card) {\n                const on = gelesen.indexOf(card.getAttribute('data-seite')) !== -1;\n                card.classList.toggle('cad-card--done', on);\n                const btn = card.querySelector('[data-check]');\n                if (btn) { btn.setAttribute('aria-pressed', on ? 'true' : 'false'); }\n            });\n            const r = aktuelleRolle();\n            if (!r) { return; }\n            const pfad = ROLLEN[r].pfad;\n            let n = 0;\n            pfad.forEach(function (id) { if (gelesen.indexOf(id) !== -1) { n = n + 1; } });\n            if (countEl) { countEl.textContent = n + ' von ' + pfad.length + ' gelesen'; }\n            if (barEl) { barEl.style.width = pfad.length ? Math.round(n \/ pfad.length * 100) + '%' : '0%'; }\n        }\n\n        \/* === Rolle: der Pfad als nummerierte Seitenkacheln === *\/\n        const rollenButtons = Array.prototype.slice.call(document.querySelectorAll('.cad-rolle[data-rolle]'));\n        function baueRollenAnsicht() {\n            const r = aktuelleRolle();\n            const rolle = r ? ROLLEN[r] : null;\n            rollenButtons.forEach(function (b) { b.setAttribute('aria-pressed', b.getAttribute('data-rolle') === r ? 'true' : 'false'); });\n            feldKarten.forEach(function (k) {\n                const note = k.querySelector('[data-pfad-note]');\n                const feld = k.getAttribute('data-feld');\n                let n = 0;\n                if (rolle) { rolle.pfad.forEach(function (id) { if (id.charAt(0) === feld) { n = n + 1; } }); }\n                if (note) { note.textContent = n ? 'Auf deinem Pfad: ' + n + (n === 1 ? ' Seite' : ' Seiten') : ''; }\n            });\n            if (kachelBox) { leer(kachelBox); }\n            if (!rolle) {\n                if (status) { status.textContent = ROLLEN_HINWEIS; }\n                if (progress) { progress.hidden = true; }\n                if (fuss) { fuss.hidden = true; }\n                return;\n            }\n            if (status) {\n                leer(status);\n                status.appendChild(document.createTextNode('Dein Pfad ' + rolle.name + ': ' + rolle.pfad.length + ' Seiten in Lesereihenfolge, rund ' + (rolle.pfad.length * 6) + ' Minuten. '));\n                const reset = mach('button', 'cad-textlink', 'Rolle zur\u00fccksetzen');\n                reset.type = 'button';\n                reset.addEventListener('click', function () { schreib(K_ROLLE, null); zeigeAnsicht(); });\n                status.appendChild(reset);\n            }\n            if (kachelBox) {\n                rolle.pfad.forEach(function (id, i) { kachelBox.appendChild(pfadKachel(id, i + 1)); });\n            }\n            if (progress) { progress.hidden = false; }\n            if (fuss) { fuss.hidden = false; }\n        }\n        rollenButtons.forEach(function (b) {\n            b.addEventListener('click', function () {\n                const r = b.getAttribute('data-rolle');\n                schreib(K_ROLLE, aktuelleRolle() === r ? null : r);\n                schreib(K_EINSTIEG, 'rolle');\n                zeigeAnsicht();\n            });\n        });\n\n        \/* === Selbstcheck im Hub: aufklappen unter den Anlass-Kacheln, kein Seitenwechsel === *\/\n        const scBox = document.getElementById('cad-selbstcheck');\n        function oeffneCheck() {\n            schreib(K_EINSTIEG, 'anlass');\n            zeigeAnsicht();\n            if (!scBox) { return; }\n            scBox.hidden = false;\n            Array.prototype.slice.call(document.querySelectorAll('[data-check-oeffnen]')).forEach(function (a) { a.setAttribute('aria-expanded', 'true'); });\n            scBox.scrollIntoView({ behavior: prefersReducedMotion ? 'auto' : 'smooth', block: 'start' });\n            try { scBox.focus({ preventScroll: true }); } catch (e) { scBox.focus(); }\n        }\n        Array.prototype.slice.call(document.querySelectorAll('[data-check-oeffnen]')).forEach(function (a) {\n            a.addEventListener('click', function (e) { e.preventDefault(); oeffneCheck(); });\n        });\n\n        \/* === Anlass: acht Kacheln, Titel ist der Anlass-Satz, Knopf der Seitenname; die erste oeffnet den Selbstcheck === *\/\n        (function anlaesse() {\n            const box = document.querySelector('[data-anlass-kacheln]');\n            if (!box) { return; }\n            ANLAESSE.forEach(function (a) {\n                if (a.check) {\n                    box.appendChild(seitenKachel({ step: a.step, titel: a.satz, knopf: a.knopf, href: CHECK_URL, klick: oeffneCheck }));\n                    return;\n                }\n                const s = SEITEN[a.seite];\n                box.appendChild(seitenKachel({ id: a.seite, step: 'Themenfeld ' + s.n, titel: a.satz, knopf: s.t, href: s.u, hakenLabel: s.t }));\n            });\n        })();\n\n        \/* === Der Durchlauf: sechs Stationen, Stationstext, dann die Seiten der Station als Kacheln === *\/\n        (function durchlauf() {\n            const buttons = Array.prototype.slice.call(document.querySelectorAll('.cad-station[data-st]'));\n            const marken = Array.prototype.slice.call(document.querySelectorAll('.cad-st[data-st]'));\n            const text = document.querySelector('[data-station-text]');\n            const kacheln = document.querySelector('[data-station-kacheln]');\n            if (!text) { return; }\n            function zeile(label, inhalt) {\n                const p = mach('p');\n                p.appendChild(mach('strong', '', label + ' '));\n                p.appendChild(document.createTextNode(inhalt));\n                return p;\n            }\n            function zeige(n) {\n                const st = STATIONEN[n - 1];\n                if (!st) { return; }\n                buttons.forEach(function (b) { b.setAttribute('aria-pressed', b.getAttribute('data-st') === String(n) ? 'true' : 'false'); });\n                marken.forEach(function (m) { m.classList.toggle('cad-st--on', m.getAttribute('data-st') === String(n)); });\n                leer(text);\n                text.appendChild(mach('div', 'cad-station-titel', 'Station ' + n + ' \u00b7 ' + st.titel + ' \u00b7 ' + st.wann));\n                text.appendChild(zeile('Was passiert:', st.passiert));\n                text.appendChild(zeile('Was du lieferst:', st.lieferst));\n                text.appendChild(zeile('Wo es weh tut:', st.weh));\n                if (kacheln) {\n                    leer(kacheln);\n                    st.links.forEach(function (id) { kacheln.appendChild(pfadKachel(id, 0)); });\n                }\n                maleHaken();\n            }\n            buttons.forEach(function (b) { b.addEventListener('click', function () { zeige(parseInt(b.getAttribute('data-st'), 10)); }); });\n            marken.forEach(function (m) { m.addEventListener('click', function () { zeige(parseInt(m.getAttribute('data-st'), 10)); }); });\n            zeige(1);\n        })();\n\n        \/* === Selbstcheck: Fragen, Regeln und Texte aus _hub-inhalte.json (selbstcheck) === *\/\n        (function selbstcheck() {\n            if (!scBox) { return; }\n            function scHilfe(links) {\n                const w = mach('div', 'cad-sc-hilfe');\n                w.appendChild(mach('p', 'cad-sc-hilfe-label', SC_HILFE_LABEL));\n                const k = mach('div', 'cad-cards cad-cards--pfad');\n                links.forEach(function (id) { k.appendChild(pfadKachel(id, 0)); });\n                w.appendChild(k);\n                return w;\n            }\n            function scPfad(r) {\n                const p = mach('p', 'cad-sc-pfad');\n                p.appendChild(document.createTextNode(SC_PFAD_TEXT[r] + ' '));\n                const b = mach('button', 'cad-sc-btn', SC_KNOPF_PFAD + ROLLEN[r].name);\n                b.type = 'button';\n                b.addEventListener('click', function () {\n                    schreib(K_ROLLE, r);\n                    schreib(K_EINSTIEG, 'rolle');\n                    zeigeAnsicht();\n                    const ziel = document.querySelector('[data-modus-block=\"rolle\"]');\n                    if (ziel) {\n                        ziel.scrollIntoView({ behavior: prefersReducedMotion ? 'auto' : 'smooth', block: 'start' });\n                        try { ziel.focus({ preventScroll: true }); } catch (e) { ziel.focus(); }\n                    }\n                });\n                p.appendChild(b);\n                return p;\n            }\n            function scFertig() { maleHaken(); }\n            const SC_FRAGEN = ['form', 'ag', 'abgabe', 'stand', 'wer'];\n            const SC_STAND = ['Noch f\u00fcnf Fragen offen.', 'Noch eine Frage offen.', 'Noch {n} Fragen offen.'];\n            const SC_ERGEBNIS = {\n                E1: { titel: 'Bei euch steht BIM nur als Wort.', text: 'Ein Wort im Gespr\u00e4ch oder ein Satz in der Leistungsbeschreibung, ohne Anwendungsfall, ohne Anlage, ohne Lieferzeitpunkt: Daraus l\u00e4sst sich kein Preis bilden, und eine Pflicht entsteht nicht aus dem Nichts. Fragt nach, was gemeint ist, bevor ihr etwas zusagt.', links: ['A3', 'A5'] },\n                E2: { titel: 'Ihr habt eine Forderung, aber keine Beschreibung.', text: 'Das ist der kommunale Normalfall: Nummern ohne Katalog, eine Anlage aus dem Landesmuster, Liefergegenst\u00e4nde ohne Format. Die Bieterfrage ist eure Arbeit vor dem Preis, denn was offen bleibt, wird nach dem Zuschlag zur Streitfrage, was ihr schuldet.', links: ['A5', 'B2'] },\n                E3: { titel: 'Ihr habt eine vollst\u00e4ndige Anforderung.', text: 'Lest die Anlage nicht von vorn nach hinten, sondern auf die Stellen, an denen die Arbeitsmenge steht, und z\u00e4hlt die geforderten Merkmale je Bauteil. Daraus wird ein Preis, und die Preiszeile bekommt eine Grundlage.', links: ['B1', 'B4'] },\n                E4: { titel: 'Ihr habt den Zuschlag.', text: 'Jetzt gehen Abwicklungsplan und Lieferplan vor allem anderen, und die Ablage muss stehen, bevor der erste Daten\u00fcbergabepunkt kommt. Wer welche Rolle hat, steht ab jetzt im Abwicklungsplan und nicht mehr nur im Kopf.', links: ['B3', 'F1'] },\n                E5: { titel: 'Ihr modelliert schon, die Frage ist die Lieferung.', text: 'Fangt beim Bezugssystem an, denn ein Modell an der falschen Stelle hilft niemandem, und geht dann an die Merkmale, die der Empf\u00e4nger auslesen will. Was beim Export liegen bleibt, pr\u00fcft ihr, bevor der Empf\u00e4nger es tut.', links: ['C1', 'D2'] }\n            };\n            const SC_AG = {\n                kommune: 'F\u00fcr eine Gemeinde gibt es keine allgemeine BIM-Pflicht; was in den Unterlagen steht, wird mit dem Zuschlag trotzdem Vertrag.',\n                bund: 'Bei diesem Auftraggeber steht ein Regelwerk im Hintergrund. Welches, mit Stichtag und Fundstelle, sagt das Datenblatt Auftraggeber.',\n                land: 'F\u00fcr eine Landesstra\u00dfe gilt das eigene Regelwerk des Landes, das Rundschreiben des Bundes greift dort nicht; andere Landesbeh\u00f6rden haben eigene Vorgaben. Was bekannt ist, steht im Datenblatt Auftraggeber.',\n                bahn: 'Die Bahn f\u00fchrt eigene Vorgaben und eigene Steckbriefe der Anwendungsf\u00e4lle; was sie zu einer Nummer verlangt, steht dort und nicht in der Liste des Bundes.',\n                bundesbau: 'Der Bundesbau arbeitet mit Wertgrenzen, die sich nicht auf Stra\u00dfe und Kanal \u00fcbertragen lassen. Das Datenblatt Auftraggeber sortiert das.',\n                unbekannt: 'Wer ausschreibt, ist die erste Frage an die Vergabestelle, weil davon abh\u00e4ngt, ob ein Regelwerk im Hintergrund steht.'\n            };\n            const SC_FRIST_KURZ = 'Wenn nur noch wenige Tage bleiben, geht die Bieterfrage heute raus, denn eine sp\u00e4te Frage sichert weder eine Antwort noch mehr Zeit.';\n            const SC_REGELN = [\n                { feld: 'stand', werte: ['modellieren', 'rueckmeldung'], ergebnis: 'E5' },\n                { feld: 'stand', werte: ['zuschlag'], ergebnis: 'E4' },\n                { feld: 'form', werte: ['gar-nicht', 'satz'], ergebnis: 'E1' },\n                { feld: 'form', werte: ['nummern'], ergebnis: 'E2' },\n                { feld: 'abgabe', werte: ['nirgends'], ergebnis: 'E2' }\n            ];\n            const SC_SONST = 'E3';\n            const SC_HILFE_LABEL = 'Die zwei Seiten, die jetzt helfen:';\n            const SC_PFAD = { 'niemand': 'gf', 'ohne-merkmale': 'km', 'gemacht': 'pl' };\n            const SC_PFAD_TEXT = {\n                gf: 'Am besten beginnt bei euch die Gesch\u00e4ftsf\u00fchrung, weil zuerst entschieden werden muss, was angeboten wird.',\n                km: 'Wer schon dreidimensional arbeitet, steigt beim Modell ein: der Weg von der Geometrie zu den Merkmalen ist k\u00fcrzer, als er aussieht.',\n                pl: 'Wer so ein Projekt schon einmal gef\u00fchrt hat, steigt bei der Anforderung ein und geht das Projekt entlang.'\n            };\n            const SC_KNOPF_PFAD = 'Diesen Pfad nehmen: ';\n            const SC_DATENBLATT = 'https:\/\/cad-kompass.de\/?p=2562';\n            const scForm = document.querySelector('[data-sc-form]');\n            const scStand = document.querySelector('[data-sc-stand]');\n            const scOut = document.querySelector('[data-sc-out]');\n            const scReset = document.querySelector('[data-sc-reset]');\n            function scWert(name) {\n                const el = scForm.querySelector('input[name=\"' + name + '\"]:checked');\n                return el ? el.value : '';\n            }\n            function scEntscheide(v) {\n                for (let i = 0; i !== SC_REGELN.length; i = i + 1) {\n                    const r = SC_REGELN[i];\n                    if (r.werte.indexOf(v[r.feld]) !== -1) { return r.ergebnis; }\n                }\n                return SC_SONST;\n            }\n            function scZusatz(v) {\n                let z = SC_AG[v.ag] || '';\n                if (v.stand === 'frist-kurz') { z = z + ' ' + SC_FRIST_KURZ; }\n                return z.trim();\n            }\n            function scZusatzAbsatz(z) {\n                const p = mach('p', '');\n                const name = 'Datenblatt Auftraggeber';\n                const i = z.indexOf(name);\n                if (i === -1) { p.textContent = z; return p; }\n                p.appendChild(document.createTextNode(z.slice(0, i)));\n                const a = mach('a', '', name);\n                a.href = SC_DATENBLATT;\n                p.appendChild(a);\n                p.appendChild(document.createTextNode(z.slice(i + name.length)));\n                return p;\n            }\n            function scAuswerten() {\n                const v = {};\n                let offen = 0;\n                SC_FRAGEN.forEach(function (n) { v[n] = scWert(n); if (v[n] === '') { offen = offen + 1; } });\n                leer(scOut);\n                if (offen !== 0) {\n                    scStand.textContent = offen === SC_FRAGEN.length ? SC_STAND[0] : (offen === 1 ? SC_STAND[1] : SC_STAND[2].replace('{n}', String(offen)));\n                    return;\n                }\n                scStand.textContent = '';\n                const e = SC_ERGEBNIS[scEntscheide(v)];\n                const box = mach('div', 'cad-sc-ergebnis');\n                box.appendChild(mach('p', 'cad-sc-ergebnis-titel', e.titel));\n                box.appendChild(mach('p', '', e.text));\n                const z = scZusatz(v);\n                if (z) { box.appendChild(scZusatzAbsatz(z)); }\n                scOut.appendChild(box);\n                scOut.appendChild(scHilfe(e.links));\n                const r = SC_PFAD[v.wer];\n                if (r) { scOut.appendChild(scPfad(r)); }\n                scFertig();\n            }\n            scForm.addEventListener('change', scAuswerten);\n            if (scReset) { scReset.addEventListener('click', function () { scForm.reset(); scAuswerten(); }); }\n            scAuswerten();\n        })();\n\n        \/* === Kompassnadel als Wegweiser === *\/\n        (function compassWayfinder() {\n            var compass = document.querySelector('.cad-compass');\n            if (!compass) { return; }\n            var rose = compass.querySelector('.cad-compass-rose');\n            if (!rose) { return; }\n            var startCard = null;\n            var current = null;\n\n            function angleTo(el) {\n                if (!el) { return 0; }\n                var c = compass.getBoundingClientRect();\n                if (c.width === 0) { return 0; }\n                var t = el.getBoundingClientRect();\n                var cx = c.left + c.width \/ 2;\n                var cy = c.top + c.height \/ 2;\n                var tx = t.left + t.width \/ 2;\n                var ty = t.top + t.height \/ 2;\n                return Math.atan2(ty - cy, tx - cx) * 180 \/ Math.PI + 90;\n            }\n            function refresh() { rose.style.transform = 'rotate(' + angleTo(current).toFixed(2) + 'deg)'; }\n\n            \/* BIM-Ergaenzung: Die Weiche baut Karten je Ansicht neu. Darum wird das Ruheziel einmal je Ansicht\n               bestimmt und neue Karten werden nachgebunden. Hover bleibt mouseenter\/mouseleave pro Karte wie in der Vorlage. *\/\n            function sichtbar(el) { return el ? el.offsetParent !== null : false; }\n            function findeStart() {\n                var liste = Array.prototype.slice.call(document.querySelectorAll('.cad-card--start'))\n                    .concat(Array.prototype.slice.call(document.querySelectorAll('.cad-card')));\n                for (var i = 0; i !== liste.length; i += 1) { if (sichtbar(liste[i])) { return liste[i]; } }\n                return null;\n            }\n            function binde() {\n                startCard = findeStart();\n                current = startCard;\n                refresh();\n                if (prefersReducedMotion) { return; }\n                if (!hasFinePointer) { return; }\n                var cards = Array.prototype.slice.call(document.querySelectorAll('.cad-card'));\n                cards.forEach(function (card) {\n                    if (card.getAttribute('data-cad-nadel') === '1') { return; }\n                    card.setAttribute('data-cad-nadel', '1');\n                    card.addEventListener('mouseenter', function () { current = card; refresh(); });\n                    card.addEventListener('mouseleave', function () { current = startCard; refresh(); });\n                });\n            }\n            binde();\n            document.addEventListener('cad-ansicht-geaendert', binde);\n\n            if (prefersReducedMotion) { return; }\n            if (!hasFinePointer) { return; }\n            var ticking = false;\n            function onScroll() {\n                if (ticking) { return; }\n                ticking = true;\n                requestAnimationFrame(function () { ticking = false; refresh(); });\n            }\n            window.addEventListener('scroll', onScroll, { passive: true });\n            window.addEventListener('resize', onScroll);\n        })();\n\n        zeigeAnsicht();\n\n        \/* === Hero-Raster leicht parallax === *\/\n        (function heroParallax() {\n            if (prefersReducedMotion) { return; }\n            if (!hasFinePointer) { return; }\n            var hero = document.querySelector('.cad-hero');\n            if (!hero) { return; }\n            var lastX = 0, lastY = 0, ticking = false;\n            function apply() {\n                hero.style.setProperty('--cad-grid-x', lastX.toFixed(1) + 'px');\n                hero.style.setProperty('--cad-grid-y', lastY.toFixed(1) + 'px');\n                ticking = false;\n            }\n            hero.addEventListener('mousemove', function (e) {\n                var rect = hero.getBoundingClientRect();\n                var nx = (e.clientX - rect.left) \/ rect.width - 0.5;\n                var ny = (e.clientY - rect.top) \/ rect.height - 0.5;\n                lastX = nx * -16;\n                lastY = ny * -16;\n                if (!ticking) { requestAnimationFrame(apply); ticking = true; }\n            }, { passive: true });\n            hero.addEventListener('mouseleave', function () {\n                lastX = 0; lastY = 0;\n                if (!ticking) { requestAnimationFrame(apply); ticking = true; }\n            });\n        })();\n    })();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>BIM &middot; Weiter Horizont BIM im Tiefbau, wie es in der Ausschreibung steht und wie es in der Datei ankommt [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"disabled","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-2564","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":false,"author_link":"https:\/\/cad-kompass.de\/?author=1"},"uagb_comment_info":0,"uagb_excerpt":"BIM &middot; Weiter Horizont BIM im Tiefbau, wie es in der Ausschreibung steht und wie es in der Datei ankommt [&hellip;]","_links":{"self":[{"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/pages\/2564","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cad-kompass.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2564"}],"version-history":[{"count":4,"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/pages\/2564\/revisions"}],"predecessor-version":[{"id":2706,"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/pages\/2564\/revisions\/2706"}],"wp:attachment":[{"href":"https:\/\/cad-kompass.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2564"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}