{"id":1972,"date":"2026-04-20T21:17:06","date_gmt":"2026-04-20T19:17:06","guid":{"rendered":"https:\/\/cad-kompass.de\/?p=1972"},"modified":"2026-06-26T17:50:13","modified_gmt":"2026-06-26T15:50:13","slug":"gradientenelement-finder","status":"publish","type":"post","link":"https:\/\/cad-kompass.de\/?p=1972","title":{"rendered":"Gradientenelement-Finder"},"content":{"rendered":"\n<style>\n    .ge-box {\n        --ge-primary: #3f5f75;\n        --ge-primary-dark: #2c4a5e;\n        --ge-primary-deep: #1e3548;\n        --ge-ink: #1e293b;\n        --ge-text: #334155;\n        --ge-muted: #64748b;\n        --ge-faint: #94a3b8;\n        --ge-border: #c8d6e0;\n        --ge-surface: #f7f9fb;\n        background: var(--ge-surface);\n        border: 3px solid var(--ge-primary);\n        border-radius: 8px;\n        margin: 28px 0;\n        overflow: hidden;\n        position: relative;\n        font-family: inherit;\n        color: var(--ge-text);\n        line-height: 1.6;\n    }\n    .ge-box *, .ge-box *::before, .ge-box *::after { box-sizing: border-box; }\n\n    \/* Header *\/\n    .ge-header {\n        background: linear-gradient(135deg, var(--ge-primary-deep) 0%, var(--ge-primary-dark) 100%);\n        padding: 20px 28px 18px;\n        position: relative;\n        overflow: hidden;\n    }\n    .ge-header::after {\n        content: '';\n        position: absolute;\n        bottom: 0; left: 0; right: 0;\n        height: 3px;\n        background: repeating-linear-gradient(90deg, var(--ge-primary) 0px, var(--ge-primary) 8px, transparent 8px, transparent 12px);\n    }\n    .ge-header-top { display: flex; align-items: center; gap: 12px; margin-bottom: 6px; }\n    .ge-header-icon { width: 36px; height: 36px; flex-shrink: 0; opacity: 0.85; }\n    .ge-box .ge-box-title {\n        font-size: 1.15rem; font-weight: 700; color: #fff;\n        margin: 0; padding: 0; letter-spacing: 0.02em; display: inline;\n    }\n    .ge-box .ge-box-desc {\n        font-size: 0.85rem; color: rgba(255,255,255,0.65);\n        margin: 0; padding: 0; line-height: 1.5; display: block;\n    }\n\n    \/* Body *\/\n    .ge-body { padding: 22px 28px 24px; }\n\n    \/* Privacy *\/\n    .ge-privacy {\n        background: #f0fdf4;\n        border: 1px solid #bbf7d0;\n        border-radius: 3px;\n        padding: 9px 14px;\n        margin-bottom: 16px;\n        font-size: 0.8rem;\n        color: #15803d;\n        line-height: 1.5;\n        display: flex; align-items: center; gap: 8px;\n    }\n    .ge-privacy::before { content: '\\1F512'; flex-shrink: 0; font-size: 0.9rem; }\n\n    \/* Legende *\/\n    .ge-legend {\n        background: #fff;\n        border: 1px solid var(--ge-border);\n        border-radius: 3px;\n        margin-bottom: 16px;\n        overflow: hidden;\n    }\n    .ge-legend > summary {\n        list-style: none;\n        cursor: pointer;\n        padding: 10px 14px;\n        font-size: 0.82rem;\n        font-weight: 600;\n        color: var(--ge-primary);\n        background: #f0f5fa;\n        user-select: none;\n        display: flex;\n        align-items: center;\n        gap: 10px;\n    }\n    .ge-legend > summary::-webkit-details-marker { display: none; }\n    .ge-legend > summary::before {\n        content: \"\\25B8\";\n        font-size: 0.8rem;\n        transition: transform 0.2s;\n        display: inline-block;\n        width: 0.9em;\n    }\n    .ge-legend[open] > summary::before { transform: rotate(90deg); }\n    .ge-legend-body { padding: 14px 16px 16px; font-size: 0.85rem; }\n    .ge-legend-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 12px;\n        margin-bottom: 12px;\n    }\n    .ge-legend-item {\n        border-left: 3px solid var(--ge-primary);\n        padding: 4px 10px;\n        background: #f7f9fb;\n    }\n    .ge-legend-item.fest { border-left-color: #059669; }\n    .ge-legend-item.koppel { border-left-color: #7c3aed; }\n    .ge-legend-item.puffer { border-left-color: #0891b2; }\n    .ge-legend-item strong {\n        display: block;\n        font-size: 0.82rem;\n        color: var(--ge-ink);\n        margin-bottom: 2px;\n    }\n    .ge-legend-item span {\n        font-size: 0.78rem;\n        color: var(--ge-muted);\n        line-height: 1.45;\n    }\n    .ge-legend-note {\n        font-size: 0.8rem;\n        color: var(--ge-muted);\n        line-height: 1.55;\n        padding-top: 10px;\n        border-top: 1px dashed var(--ge-border);\n    }\n    .ge-legend-schema {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 18px;\n        padding: 10px 0 0;\n        margin-top: 10px;\n        border-top: 1px dashed var(--ge-border);\n        font-size: 0.8rem;\n        color: var(--ge-muted);\n        line-height: 1.45;\n    }\n    .ge-legend-schema > div { display: flex; align-items: center; gap: 8px; }\n    .ge-legend-schema .sw {\n        display: inline-block;\n        width: 22px;\n        height: 3px;\n        border-radius: 2px;\n    }\n    .ge-legend-schema .sw-primary { background: #e8913a; height: 3px; }\n    .ge-legend-schema .sw-context { background: #3f5f75; height: 2px; }\n\n    \/* Search *\/\n    .ge-search {\n        width: 100%;\n        padding: 10px 14px;\n        font-size: 0.92rem;\n        border: 1px solid var(--ge-border);\n        border-radius: 2px;\n        font-family: inherit;\n        color: var(--ge-ink);\n        background: #fff;\n        transition: border-color 0.15s, box-shadow 0.15s;\n        margin-bottom: 14px;\n        -webkit-appearance: none;\n    }\n    .ge-search:focus {\n        outline: none;\n        border-color: var(--ge-primary);\n        box-shadow: 0 0 0 2px rgba(63,95,117,0.12);\n    }\n    .ge-search::placeholder { color: var(--ge-faint); }\n\n    \/* Filter *\/\n    .ge-filter-group { margin-bottom: 10px; }\n    .ge-filter-label {\n        font-size: 0.78rem;\n        font-weight: 600;\n        color: var(--ge-muted);\n        text-transform: uppercase;\n        letter-spacing: 0.05em;\n        margin-bottom: 6px;\n        display: block;\n    }\n    .ge-filters { display: flex; flex-wrap: wrap; gap: 6px; }\n    .ge-btn {\n        padding: 5px 12px;\n        font-size: 0.82rem;\n        font-family: inherit;\n        border: 1px solid var(--ge-border);\n        border-radius: 2px;\n        background: #fff;\n        color: var(--ge-muted);\n        cursor: pointer;\n        transition: background 0.15s, color 0.15s, border-color 0.15s;\n        line-height: 1.4;\n    }\n    .ge-btn:hover { background: #eef2f6; border-color: var(--ge-primary); color: var(--ge-ink); }\n    .ge-btn.active { background: var(--ge-primary); color: #fff; border-color: var(--ge-primary); }\n    .ge-btn.ge-fest.active { background: #059669; border-color: #059669; }\n    .ge-btn.ge-koppel.active { background: #7c3aed; border-color: #7c3aed; }\n    .ge-btn.ge-puffer.active { background: #0891b2; border-color: #0891b2; }\n\n    \/* Count + reset *\/\n    .ge-count-row {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        margin: 14px 0 10px;\n        font-size: 0.84rem;\n        color: var(--ge-muted);\n    }\n    .ge-reset {\n        background: transparent;\n        border: 0;\n        color: var(--ge-primary);\n        font-size: 0.8rem;\n        font-family: inherit;\n        cursor: pointer;\n        padding: 0;\n        text-decoration: underline;\n    }\n    .ge-reset:hover { color: var(--ge-primary-dark); }\n\n    \/* Results *\/\n    .ge-results { display: flex; flex-direction: column; gap: 10px; }\n    .ge-card {\n        background: #fff;\n        border: 1px solid var(--ge-border);\n        border-left: 3px solid var(--ge-primary);\n        padding: 14px 18px;\n        border-radius: 0 2px 2px 0;\n        display: grid;\n        grid-template-columns: 168px 1fr;\n        gap: 18px;\n        align-items: start;\n    }\n    .ge-card.kat-Festelement { border-left-color: #059669; }\n    .ge-card.kat-Koppelelement { border-left-color: #7c3aed; }\n    .ge-card.kat-Pufferelement { border-left-color: #0891b2; }\n    .ge-card-schema {\n        width: 168px;\n        height: 92px;\n        background: #f7f9fb;\n        border: 1px solid var(--ge-border);\n        border-radius: 2px;\n        padding: 8px;\n    }\n    .ge-card-schema svg { width: 100%; height: 100%; display: block; }\n    .ge-card-main { min-width: 0; }\n    .ge-card-header {\n        display: flex;\n        align-items: baseline;\n        gap: 8px;\n        flex-wrap: wrap;\n        margin-bottom: 6px;\n    }\n    .ge-card-name {\n        font-size: 0.98rem;\n        font-weight: 700;\n        color: var(--ge-ink);\n        line-height: 1.35;\n    }\n    .ge-badge {\n        display: inline-block;\n        font-size: 0.7rem;\n        font-weight: 600;\n        padding: 2px 7px;\n        border-radius: 2px;\n        background: #f0f5fa;\n        color: var(--ge-primary);\n        border: 1px solid var(--ge-border);\n        white-space: nowrap;\n        text-transform: uppercase;\n        letter-spacing: 0.04em;\n    }\n    .ge-badge-fest { background: #ecfdf5; color: #059669; border-color: #bbf7d0; }\n    .ge-badge-koppel { background: #f5f3ff; color: #7c3aed; border-color: #ddd6fe; }\n    .ge-badge-puffer { background: #ecfeff; color: #0891b2; border-color: #a5f3fc; }\n    .ge-badge-geo { background: #f8fafc; color: var(--ge-muted); border-color: var(--ge-border); }\n    .ge-card-desc {\n        font-size: 0.85rem;\n        color: var(--ge-text);\n        line-height: 1.6;\n        margin-bottom: 6px;\n    }\n    .ge-card-usecase {\n        font-size: 0.8rem;\n        color: var(--ge-muted);\n        line-height: 1.55;\n        margin-bottom: 4px;\n    }\n    .ge-card-usecase strong { color: var(--ge-primary); font-weight: 600; }\n\n    \/* Detail accordion *\/\n    .ge-detail {\n        margin-top: 8px;\n        border-top: 1px dashed var(--ge-border);\n        padding-top: 6px;\n    }\n    .ge-detail > summary {\n        list-style: none;\n        cursor: pointer;\n        font-size: 0.78rem;\n        font-weight: 600;\n        color: var(--ge-primary);\n        padding: 4px 0;\n        display: flex;\n        align-items: center;\n        gap: 6px;\n        user-select: none;\n    }\n    .ge-detail > summary::-webkit-details-marker { display: none; }\n    .ge-detail > summary::before {\n        content: \"\\25B8\";\n        font-size: 0.72rem;\n        transition: transform 0.2s;\n        display: inline-block;\n    }\n    .ge-detail[open] > summary::before { transform: rotate(90deg); }\n    .ge-detail dl {\n        display: grid;\n        grid-template-columns: 130px 1fr;\n        gap: 3px 10px;\n        margin: 6px 0 0;\n        font-size: 0.8rem;\n        line-height: 1.55;\n    }\n    .ge-detail dt {\n        color: var(--ge-muted);\n        font-weight: 600;\n        text-transform: uppercase;\n        font-size: 0.7rem;\n        letter-spacing: 0.04em;\n        padding-top: 3px;\n    }\n    .ge-detail dd {\n        color: var(--ge-text);\n        margin: 0;\n    }\n    .ge-detail dd code {\n        font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n        font-size: 0.76rem;\n        background: #f0f5fa;\n        padding: 1px 5px;\n        border-radius: 2px;\n        color: var(--ge-primary-dark);\n    }\n    .ge-detail a {\n        color: var(--ge-primary);\n        text-decoration: underline;\n        text-underline-offset: 2px;\n    }\n    .ge-detail a:hover { color: var(--ge-primary-dark); }\n\n    .ge-empty {\n        text-align: center;\n        padding: 32px 16px;\n        color: var(--ge-muted);\n        font-size: 0.9rem;\n        background: #fff;\n        border: 1px dashed var(--ge-border);\n        border-radius: 2px;\n    }\n\n    \/* Responsive *\/\n    @media (max-width: 900px) {\n        .ge-header { padding: 16px 20px 14px; }\n        .ge-body { padding: 18px 20px 20px; }\n        .ge-filters { gap: 5px; }\n        .ge-btn { font-size: 0.78rem; padding: 4px 9px; }\n        .ge-legend-grid { grid-template-columns: 1fr; gap: 8px; }\n        .ge-card { grid-template-columns: 140px 1fr; gap: 12px; padding: 12px 14px; }\n        .ge-card-schema { width: 140px; height: 80px; }\n        .ge-detail dl { grid-template-columns: 1fr; gap: 0; }\n        .ge-detail dt { padding-top: 6px; }\n    }\n<\/style>\n\n<svg class=\"ge-sprite\" width=\"0\" height=\"0\" style=\"position:absolute\" aria-hidden=\"true\">\n    <defs>\n        <symbol id=\"ge-sch-tan-2pt\" viewBox=\"0 0 168 92\">\n            <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"14\" y1=\"82\" x2=\"158\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"20\" y1=\"70\" x2=\"150\" y2=\"30\" stroke=\"#e8913a\" stroke-width=\"2\"\/>\n            <circle cx=\"20\" cy=\"70\" r=\"3\" fill=\"#3f5f75\"\/>\n            <circle cx=\"150\" cy=\"30\" r=\"3\" fill=\"#3f5f75\"\/>\n        <\/symbol>\n        <symbol id=\"ge-sch-tan-bestfit\" viewBox=\"0 0 168 92\">\n            <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"14\" y1=\"82\" x2=\"158\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"22\" y1=\"68\" x2=\"150\" y2=\"28\" stroke=\"#e8913a\" stroke-width=\"1.6\" stroke-dasharray=\"4 3\"\/>\n            <circle cx=\"28\" cy=\"66\" r=\"1.8\" fill=\"#3f5f75\"\/>\n            <circle cx=\"52\" cy=\"58\" r=\"1.8\" fill=\"#3f5f75\"\/>\n            <circle cx=\"74\" cy=\"52\" r=\"1.8\" fill=\"#3f5f75\"\/>\n            <circle cx=\"96\" cy=\"42\" r=\"1.8\" fill=\"#3f5f75\"\/>\n            <circle cx=\"120\" cy=\"36\" r=\"1.8\" fill=\"#3f5f75\"\/>\n            <circle cx=\"142\" cy=\"32\" r=\"1.8\" fill=\"#3f5f75\"\/>\n        <\/symbol>\n        <symbol id=\"ge-sch-tan-koppel\" viewBox=\"0 0 168 92\">\n            <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"14\" y1=\"82\" x2=\"158\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <path d=\"M22 72 Q 52 72, 60 58\" stroke=\"#3f5f75\" stroke-width=\"1.2\" fill=\"none\"\/>\n            <line x1=\"60\" y1=\"58\" x2=\"150\" y2=\"24\" stroke=\"#e8913a\" stroke-width=\"2\"\/>\n            <circle cx=\"60\" cy=\"58\" r=\"2.5\" fill=\"#3f5f75\"\/>\n            <circle cx=\"150\" cy=\"24\" r=\"2.5\" fill=\"#3f5f75\"\/>\n        <\/symbol>\n        <symbol id=\"ge-sch-tan-between\" viewBox=\"0 0 168 92\">\n            <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"14\" y1=\"82\" x2=\"158\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <path d=\"M22 70 Q 36 70, 50 58\" stroke=\"#3f5f75\" stroke-width=\"1.2\" fill=\"none\"\/>\n            <line x1=\"50\" y1=\"58\" x2=\"112\" y2=\"32\" stroke=\"#e8913a\" stroke-width=\"2\"\/>\n            <path d=\"M112 32 Q 128 32, 148 42\" stroke=\"#3f5f75\" stroke-width=\"1.2\" fill=\"none\"\/>\n        <\/symbol>\n        <symbol id=\"ge-sch-tan-resolve\" viewBox=\"0 0 168 92\">\n            <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"14\" y1=\"82\" x2=\"158\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <path d=\"M22 70 L80 38 L140 58\" stroke=\"#3f5f75\" stroke-width=\"1\" stroke-dasharray=\"3 2\" fill=\"none\" opacity=\"0.5\"\/>\n            <path d=\"M22 70 Q 80 42, 140 58\" stroke=\"#e8913a\" stroke-width=\"2\" fill=\"none\"\/>\n            <circle cx=\"80\" cy=\"38\" r=\"3.5\" fill=\"#fef2f2\" stroke=\"#dc2626\" stroke-width=\"1.2\"\/>\n        <\/symbol>\n        <symbol id=\"ge-sch-arc-3pt\" viewBox=\"0 0 168 92\">\n            <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"14\" y1=\"82\" x2=\"158\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <path d=\"M22 72 Q 84 10, 150 72\" stroke=\"#e8913a\" stroke-width=\"2\" fill=\"none\"\/>\n            <circle cx=\"22\" cy=\"72\" r=\"2.5\" fill=\"#3f5f75\"\/>\n            <circle cx=\"84\" cy=\"28\" r=\"2.5\" fill=\"#3f5f75\"\/>\n            <circle cx=\"150\" cy=\"72\" r=\"2.5\" fill=\"#3f5f75\"\/>\n        <\/symbol>\n        <symbol id=\"ge-sch-arc-2pt-param\" viewBox=\"0 0 168 92\">\n            <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"14\" y1=\"82\" x2=\"158\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <path d=\"M22 72 Q 84 20, 150 72\" stroke=\"#e8913a\" stroke-width=\"2\" fill=\"none\"\/>\n            <circle cx=\"22\" cy=\"72\" r=\"2.5\" fill=\"#3f5f75\"\/>\n            <circle cx=\"150\" cy=\"72\" r=\"2.5\" fill=\"#3f5f75\"\/>\n            <text x=\"76\" y=\"42\" font-family=\"sans-serif\" font-size=\"10\" fill=\"#3f5f75\" font-weight=\"600\">P<\/text>\n        <\/symbol>\n        <symbol id=\"ge-sch-arc-from-tan\" viewBox=\"0 0 168 92\">\n            <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"14\" y1=\"82\" x2=\"158\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"22\" y1=\"70\" x2=\"65\" y2=\"45\" stroke=\"#3f5f75\" stroke-width=\"1.4\"\/>\n            <path d=\"M65 45 Q 95 35, 135 56\" stroke=\"#e8913a\" stroke-width=\"2\" fill=\"none\"\/>\n            <circle cx=\"65\" cy=\"45\" r=\"2.5\" fill=\"#3f5f75\"\/>\n            <circle cx=\"135\" cy=\"56\" r=\"2.5\" fill=\"#3f5f75\"\/>\n        <\/symbol>\n        <symbol id=\"ge-sch-arc-slope-start\" viewBox=\"0 0 168 92\">\n            <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"14\" y1=\"82\" x2=\"158\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"22\" y1=\"70\" x2=\"55\" y2=\"50\" stroke=\"#3f5f75\" stroke-width=\"1\" stroke-dasharray=\"3 2\"\/>\n            <path d=\"M55 50 Q 95 26, 150 58\" stroke=\"#e8913a\" stroke-width=\"2\" fill=\"none\"\/>\n            <circle cx=\"55\" cy=\"50\" r=\"2.5\" fill=\"#3f5f75\"\/>\n            <circle cx=\"150\" cy=\"58\" r=\"2.5\" fill=\"#3f5f75\"\/>\n            <text x=\"22\" y=\"42\" font-family=\"sans-serif\" font-size=\"9\" fill=\"#3f5f75\">s1<\/text>\n        <\/symbol>\n        <symbol id=\"ge-sch-arc-slope-end\" viewBox=\"0 0 168 92\">\n            <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"14\" y1=\"82\" x2=\"158\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <path d=\"M22 70 Q 78 30, 112 42\" stroke=\"#e8913a\" stroke-width=\"2\" fill=\"none\"\/>\n            <line x1=\"112\" y1=\"42\" x2=\"148\" y2=\"22\" stroke=\"#3f5f75\" stroke-width=\"1\" stroke-dasharray=\"3 2\"\/>\n            <circle cx=\"22\" cy=\"70\" r=\"2.5\" fill=\"#3f5f75\"\/>\n            <circle cx=\"112\" cy=\"42\" r=\"2.5\" fill=\"#3f5f75\"\/>\n            <text x=\"130\" y=\"16\" font-family=\"sans-serif\" font-size=\"9\" fill=\"#3f5f75\">s2<\/text>\n        <\/symbol>\n        <symbol id=\"ge-sch-arc-peak-parabel\" viewBox=\"0 0 168 92\">\n            <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"14\" y1=\"82\" x2=\"158\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <path d=\"M22 64 Q 84 14, 150 64\" stroke=\"#e8913a\" stroke-width=\"2\" fill=\"none\"\/>\n            <circle cx=\"84\" cy=\"24\" r=\"3.2\" fill=\"#e8913a\" stroke=\"#3f5f75\" stroke-width=\"1.4\"\/>\n            <text x=\"72\" y=\"18\" font-family=\"sans-serif\" font-size=\"9\" fill=\"#3f5f75\">Scheitel<\/text>\n        <\/symbol>\n        <symbol id=\"ge-sch-arc-peak-circle\" viewBox=\"0 0 168 92\">\n            <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"14\" y1=\"82\" x2=\"158\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <path d=\"M22 64 A 65 65 0 0 1 150 64\" stroke=\"#e8913a\" stroke-width=\"2\" fill=\"none\"\/>\n            <circle cx=\"84\" cy=\"16\" r=\"3.2\" fill=\"#e8913a\" stroke=\"#3f5f75\" stroke-width=\"1.4\"\/>\n            <text x=\"92\" y=\"18\" font-family=\"sans-serif\" font-size=\"9\" fill=\"#3f5f75\">R<\/text>\n        <\/symbol>\n        <symbol id=\"ge-sch-arc-bestfit\" viewBox=\"0 0 168 92\">\n            <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"14\" y1=\"82\" x2=\"158\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <path d=\"M22 70 Q 84 14, 150 70\" stroke=\"#e8913a\" stroke-width=\"1.6\" fill=\"none\" stroke-dasharray=\"4 3\"\/>\n            <circle cx=\"30\" cy=\"64\" r=\"1.8\" fill=\"#3f5f75\"\/>\n            <circle cx=\"54\" cy=\"46\" r=\"1.8\" fill=\"#3f5f75\"\/>\n            <circle cx=\"78\" cy=\"30\" r=\"1.8\" fill=\"#3f5f75\"\/>\n            <circle cx=\"100\" cy=\"32\" r=\"1.8\" fill=\"#3f5f75\"\/>\n            <circle cx=\"122\" cy=\"46\" r=\"1.8\" fill=\"#3f5f75\"\/>\n            <circle cx=\"144\" cy=\"62\" r=\"1.8\" fill=\"#3f5f75\"\/>\n        <\/symbol>\n        <symbol id=\"ge-sch-arc-ts\" viewBox=\"0 0 168 92\">\n            <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"14\" y1=\"82\" x2=\"158\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"20\" y1=\"70\" x2=\"84\" y2=\"18\" stroke=\"#3f5f75\" stroke-width=\"1\" stroke-dasharray=\"3 2\"\/>\n            <line x1=\"84\" y1=\"18\" x2=\"150\" y2=\"70\" stroke=\"#3f5f75\" stroke-width=\"1\" stroke-dasharray=\"3 2\"\/>\n            <path d=\"M40 60 Q 84 30, 130 60\" stroke=\"#e8913a\" stroke-width=\"2\" fill=\"none\"\/>\n            <circle cx=\"84\" cy=\"18\" r=\"3\" fill=\"#fff\" stroke=\"#e8913a\" stroke-width=\"1.6\"\/>\n            <text x=\"90\" y=\"22\" font-family=\"sans-serif\" font-size=\"9\" fill=\"#3f5f75\">TS<\/text>\n        <\/symbol>\n        <symbol id=\"ge-sch-arc-asym\" viewBox=\"0 0 168 92\">\n            <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"14\" y1=\"82\" x2=\"158\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"20\" y1=\"70\" x2=\"100\" y2=\"18\" stroke=\"#3f5f75\" stroke-width=\"1\" stroke-dasharray=\"3 2\"\/>\n            <line x1=\"100\" y1=\"18\" x2=\"150\" y2=\"68\" stroke=\"#3f5f75\" stroke-width=\"1\" stroke-dasharray=\"3 2\"\/>\n            <path d=\"M35 62 Q 100 28, 134 60\" stroke=\"#e8913a\" stroke-width=\"2\" fill=\"none\"\/>\n            <circle cx=\"100\" cy=\"18\" r=\"3\" fill=\"#fff\" stroke=\"#e8913a\" stroke-width=\"1.6\"\/>\n            <text x=\"38\" y=\"84\" font-family=\"sans-serif\" font-size=\"8\" fill=\"#3f5f75\">L1<\/text>\n            <text x=\"114\" y=\"84\" font-family=\"sans-serif\" font-size=\"8\" fill=\"#3f5f75\">L2<\/text>\n        <\/symbol>\n        <symbol id=\"ge-sch-arc-puffer-fill\" viewBox=\"0 0 168 92\">\n            <line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"14\" y1=\"82\" x2=\"158\" y2=\"82\" stroke=\"#c5d5e0\" stroke-width=\"1\"\/>\n            <line x1=\"20\" y1=\"72\" x2=\"68\" y2=\"38\" stroke=\"#3f5f75\" stroke-width=\"1.4\"\/>\n            <path d=\"M68 38 Q 84 30, 100 38\" stroke=\"#e8913a\" stroke-width=\"2\" fill=\"none\"\/>\n            <line x1=\"100\" y1=\"38\" x2=\"150\" y2=\"72\" stroke=\"#3f5f75\" stroke-width=\"1.4\"\/>\n        <\/symbol>\n    <\/defs>\n<\/svg>\n\n<div class=\"ge-box\">\n    <div class=\"ge-header\">\n        <div class=\"ge-header-top\">\n            <svg class=\"ge-header-icon\" viewBox=\"0 0 36 36\" fill=\"none\">\n                <line x1=\"6\" y1=\"6\" x2=\"6\" y2=\"30\" stroke=\"rgba(255,255,255,0.45)\" stroke-width=\"1.2\" stroke-linecap=\"round\"\/>\n                <line x1=\"6\" y1=\"30\" x2=\"32\" y2=\"30\" stroke=\"rgba(255,255,255,0.45)\" stroke-width=\"1.2\" stroke-linecap=\"round\"\/>\n                <path d=\"M8 24 L15 19 Q19 14 24 18 L32 11\" stroke=\"rgba(255,255,255,0.9)\" stroke-width=\"1.8\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                <circle cx=\"15\" cy=\"19\" r=\"1.6\" fill=\"rgba(255,255,255,0.9)\"\/>\n                <circle cx=\"24\" cy=\"18\" r=\"1.6\" fill=\"rgba(255,255,255,0.9)\"\/>\n                <line x1=\"6\" y1=\"33\" x2=\"32\" y2=\"33\" stroke=\"rgba(255,255,255,0.3)\" stroke-width=\"0.7\" stroke-dasharray=\"2 2\"\/>\n            <\/svg>\n            <span class=\"ge-box-title\">Gradienten-Element-Finder<\/span>\n        <\/div>\n        <span class=\"ge-box-desc\">Alle Element-Varianten der Civil&nbsp;3D-Gradiente durchsuchbar und filterbar &ndash; Fest-, Koppel- und Pufferelemente mit Schema, Men&uuml;pfad, Originalbezeichnung, Eingabeschritten und Einsatzhinweis.<\/span>\n    <\/div>\n\n    <div class=\"ge-body\">\n        <div class=\"ge-privacy\">Dieses Tool l&auml;uft komplett in deinem Browser. Keine Daten werden gesendet.<\/div>\n\n        <details class=\"ge-legend\">\n            <summary>Legende &ndash; Element-Kategorien und Geometrien<\/summary>\n            <div class=\"ge-legend-body\">\n                <div class=\"ge-legend-grid\">\n                    <div class=\"ge-legend-item fest\">\n                        <strong>Festelement<\/strong>\n                        <span>Bleibt starr. Grundlage der Gradiente, keine Abh&auml;ngigkeit von Nachbarn.<\/span>\n                    <\/div>\n                    <div class=\"ge-legend-item koppel\">\n                        <strong>Koppelelement<\/strong>\n                        <span>Tangential an das vorherige Element gekoppelt, passt sich dort an.<\/span>\n                    <\/div>\n                    <div class=\"ge-legend-item puffer\">\n                        <strong>Pufferelement<\/strong>\n                        <span>Beidseitig an beide Nachbarn gebunden &ndash; f&uuml;llt L&uuml;cken zwischen zwei Elementen.<\/span>\n                    <\/div>\n                <\/div>\n                <div class=\"ge-legend-note\">\n                    <strong>Geometrien:<\/strong> Tangente (Gerade) und Ausrundung (Bogen). Ausrundungen werden als <em>Parabel<\/em> (Standard nach RAS-L) oder als <em>Kreisbogen<\/em> ausgef&uuml;hrt; Asymmetrische Parabeln sind eine Sonderform. <strong>Werkzeugkasten:<\/strong> Die Elemente liegen in den Dropdowns <em>Element&nbsp;1<\/em> (Tangente) und <em>Element&nbsp;2<\/em> (Ausrundung) der Gradiente-Werkzeugleiste, dazu die Werkzeuge <em>Tangentenschnittpunkt aufl&ouml;sen<\/em> sowie <em>Profil aus Objekten<\/em>.\n                <\/div>\n                <div class=\"ge-legend-schema\">\n                    <div><span class=\"sw sw-primary\"><\/span> <strong style=\"color:var(--ge-ink);font-weight:600;\">Orange<\/strong> &ndash; das vom Befehl erzeugte Element<\/div>\n                    <div><span class=\"sw sw-context\"><\/span> <strong style=\"color:var(--ge-ink);font-weight:600;\">Dunkelblau<\/strong> &ndash; Kontext: St&uuml;tzpunkte, Nachbarobjekte, Achskreuz Station\/H&ouml;he<\/div>\n                <\/div>\n            <\/div>\n        <\/details>\n\n        <input type=\"text\" class=\"ge-search\" id=\"geSearch\" placeholder=\"Element suchen (z.B. Parabel, Zwangspunkt, Ausgleichseinrechnung, Scheitel ...)\" oninput=\"geFilter()\">\n\n        <div class=\"ge-filter-group\">\n            <span class=\"ge-filter-label\">Kategorie<\/span>\n            <div class=\"ge-filters\">\n                <button type=\"button\" class=\"ge-btn ge-fest\" onclick=\"geToggle(this,'kat','Festelement')\" data-active=\"0\">Festelement<\/button>\n                <button type=\"button\" class=\"ge-btn ge-koppel\" onclick=\"geToggle(this,'kat','Koppelelement')\" data-active=\"0\">Koppelelement<\/button>\n                <button type=\"button\" class=\"ge-btn ge-puffer\" onclick=\"geToggle(this,'kat','Pufferelement')\" data-active=\"0\">Pufferelement<\/button>\n            <\/div>\n        <\/div>\n\n        <div class=\"ge-filter-group\">\n            <span class=\"ge-filter-label\">Geometrie<\/span>\n            <div class=\"ge-filters\">\n                <button type=\"button\" class=\"ge-btn\" onclick=\"geToggle(this,'geo','Tangente')\" data-active=\"0\">Tangente (Gerade)<\/button>\n                <button type=\"button\" class=\"ge-btn\" onclick=\"geToggle(this,'geo','Ausrundung')\" data-active=\"0\">Ausrundung (Bogen)<\/button>\n            <\/div>\n        <\/div>\n\n        <div class=\"ge-filter-group\">\n            <span class=\"ge-filter-label\">Form<\/span>\n            <div class=\"ge-filters\">\n                <button type=\"button\" class=\"ge-btn\" onclick=\"geToggle(this,'form','Gerade')\" data-active=\"0\">Gerade<\/button>\n                <button type=\"button\" class=\"ge-btn\" onclick=\"geToggle(this,'form','Parabel')\" data-active=\"0\">Parabel<\/button>\n                <button type=\"button\" class=\"ge-btn\" onclick=\"geToggle(this,'form','Kreisbogen')\" data-active=\"0\">Kreisbogen<\/button>\n            <\/div>\n        <\/div>\n\n        <div class=\"ge-count-row\">\n            <span id=\"geCount\">0 Elemente<\/span>\n            <button type=\"button\" class=\"ge-reset\" onclick=\"geResetAll()\">Filter zur&uuml;cksetzen<\/button>\n        <\/div>\n        <div class=\"ge-results\" id=\"geResults\"><\/div>\n    <\/div>\n<\/div>\n\n<script>\n(function() {\n\n    var DATA = [\n        \/\/ ===== Element 1: Tangente (Gerade) =====\n        { name:\"Tangente \\u2013 Zwei Punkte\", kat:\"Festelement\", geo:\"Tangente\", form:\"Gerade\", schema:\"ge-sch-tan-2pt\",\n          en:\"Fixed Tangent (Two Points)\",\n          path:\"Profil-Werkzeuge \\u203A Element 1 \\u203A Festelement (Tangente \\u2013 Zwei Punkte)\",\n          eingaben:[\"Anfangspunkt (Station\/H\\u00F6he)\",\"Endpunkt (Station\/H\\u00F6he)\"],\n          desc:\"Tangente zwischen zwei festen TS-Punkten. Die Neigung ergibt sich aus der H\\u00F6hendifferenz geteilt durch die Stationsdifferenz.\",\n          einsatz:\"Einfachste Gradienten-Tangente, wenn beide Enden aus Sollh\\u00F6hen fix sind (z.B. Anschluss an Br\\u00FCcke).\",\n          tags:\"zwei punkte tangente gerade fest station h\\u00F6he anfang ende fixed tangent two points\" },\n\n        { name:\"Tangente \\u2013 Ausgleichseinrechnung (Fest)\", kat:\"Festelement\", geo:\"Tangente\", form:\"Gerade\", schema:\"ge-sch-tan-bestfit\",\n          en:\"Fixed Tangent \\u2013 Best Fit\",\n          path:\"Profil-Werkzeuge \\u203A Element 1 \\u203A Festelement (Tangente \\u2013 Best-Fit)\",\n          eingaben:[\"Regressionspunkte (Civil-3D-Punkte oder Klicks)\"],\n          desc:\"Best-Fit-Tangente durch eine Punktwolke nach der Methode der kleinsten Quadrate.\",\n          einsatz:\"Anpassung an Bestandstrasse aus Vermessungspunkten oder an ein gescanntes Bestandsprofil.\",\n          tags:\"best fit ausgleich ausgleichseinrechnung regression punktwolke vermessung tangente fest\" },\n\n        { name:\"Tangente \\u2013 Neigung und L\\u00E4nge\", kat:\"Koppelelement\", geo:\"Tangente\", form:\"Gerade\", schema:\"ge-sch-tan-koppel\",\n          en:\"Floating Tangent (Slope and Length)\",\n          path:\"Profil-Werkzeuge \\u203A Element 1 \\u203A Koppelelement (Tangente \\u2013 Neigung, L\\u00E4nge)\",\n          eingaben:[\"Anschlusselement w\\u00E4hlen\",\"Neigung (%)\",\"L\\u00E4nge (m)\"],\n          desc:\"Tangente koppelt tangential an das Vorg\\u00E4ngerelement, Neigung und L\\u00E4nge sind fest vorgegeben.\",\n          einsatz:\"Standardfall bei Entwurfsneigungen aus Richtlinie (z.B. +2,5 % \\u00FCber 120 m nach einer Kuppe).\",\n          tags:\"koppel tangente neigung l\\u00E4nge prozent richtlinie anschluss tangential floating slope length\" },\n\n        { name:\"Tangente \\u2013 Zwangspunkt\", kat:\"Koppelelement\", geo:\"Tangente\", form:\"Gerade\", schema:\"ge-sch-tan-koppel\",\n          en:\"Floating Tangent (Through Point)\",\n          path:\"Profil-Werkzeuge \\u203A Element 1 \\u203A Koppelelement (Tangente \\u2013 Zwangspunkt)\",\n          eingaben:[\"Anschlusselement w\\u00E4hlen\",\"Zielpunkt (Station\/H\\u00F6he)\"],\n          desc:\"Tangente koppelt tangential an den Vorg\\u00E4nger, Endpunkt ist fest. Neigung und L\\u00E4nge ergeben sich aus der Geometrie.\",\n          einsatz:\"Anschluss an einen Sollpunkt (Deckelh\\u00F6he eines Schachts, Anschlussh\\u00F6he einer Br\\u00FCcke).\",\n          tags:\"koppel tangente zwangspunkt zielpunkt sollh\\u00F6he anschluss tangential through point\" },\n\n        { name:\"Tangente \\u2013 Ausgleichseinrechnung (Koppel)\", kat:\"Koppelelement\", geo:\"Tangente\", form:\"Gerade\", schema:\"ge-sch-tan-bestfit\",\n          en:\"Floating Tangent \\u2013 Best Fit\",\n          path:\"Profil-Werkzeuge \\u203A Element 1 \\u203A Koppelelement (Tangente \\u2013 Best-Fit)\",\n          eingaben:[\"Anschlusselement w\\u00E4hlen\",\"Regressionspunkte\"],\n          desc:\"Best-Fit-Tangente, die tangential an das vorherige Element gekoppelt bleibt.\",\n          einsatz:\"Anpassung an Bestandspunkte nach einem bereits gesetzten Element der Gradiente.\",\n          tags:\"koppel tangente best fit ausgleich regression punktwolke tangential floating\" },\n\n        { name:\"Tangente zwischen zwei Ausrundungen\", kat:\"Pufferelement\", geo:\"Tangente\", form:\"Gerade\", schema:\"ge-sch-tan-between\",\n          en:\"Free Tangent (Between Two Curves)\",\n          path:\"Profil-Werkzeuge \\u203A Element 1 \\u203A Pufferelement (Tangente zwischen zwei Ausrundungen)\",\n          eingaben:[\"Vorg\\u00E4nger-Ausrundung\",\"Nachfolger-Ausrundung\"],\n          desc:\"Gerade Tangente, die tangential zwei Ausrundungen verbindet. Richtung und L\\u00E4nge folgen den Nachbarn.\",\n          einsatz:\"Zwischengerade zwischen zwei Kuppen oder zwischen Kuppe und Wanne.\",\n          tags:\"puffer tangente zwischen ausrundungen verbindung zwischenstrecke tangential free between\" },\n\n        { name:\"Tangentenschnittpunkt aufl\\u00F6sen\", kat:\"Pufferelement\", geo:\"Tangente\", form:\"Gerade\", schema:\"ge-sch-tan-resolve\",\n          en:\"Resolve PVI (Apply Vertical Curve)\",\n          path:\"Profil-Werkzeuge \\u203A Werkzeug (TS-Punkt aufl\\u00F6sen \/ Ausrundung einf\\u00FCgen)\",\n          eingaben:[\"TS-Punkt w\\u00E4hlen\",\"Parameter \/ Halbmesser aus Voreinstellung\"],\n          desc:\"Ersetzt einen harten Knick (TS-Punkt) durch eine Ausrundung, die automatisch tangential an beide Nachbarn anschlie\\u00DFt.\",\n          einsatz:\"Schnelle Gl\\u00E4ttung bereits gezeichneter Gradienten, ohne das Ausrundungs-Dropdown zu \\u00F6ffnen.\",\n          tags:\"puffer ts-punkt tangentenschnittpunkt aufl\\u00F6sen knick gl\\u00E4tten ausrundung schnell pvi resolve werkzeug\" },\n\n        \/\/ ===== Element 2: Ausrundung (Bogen) =====\n        { name:\"Ausrundung \\u2013 Drei Punkte\", kat:\"Festelement\", geo:\"Ausrundung\", form:\"Parabel\", schema:\"ge-sch-arc-3pt\",\n          en:\"Fixed Vertical Curve (Three Points)\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Festelement (Ausrundung \\u2013 Drei Punkte)\",\n          eingaben:[\"Anfangspunkt\",\"Durchgangspunkt\",\"Endpunkt\"],\n          desc:\"Parabolische Ausrundung durch drei beliebige TS-Punkte. Parameter ergibt sich aus den drei Lagen.\",\n          einsatz:\"Schneller Einstieg, wenn drei Punkte auf dem Bogen festliegen.\",\n          tags:\"drei punkte ausrundung parabel fest station h\\u00F6he durchgang fixed vertical curve three\" },\n\n        { name:\"Ausrundung \\u2013 Zwei Punkte, Parameter\", kat:\"Festelement\", geo:\"Ausrundung\", form:\"Parabel\", schema:\"ge-sch-arc-2pt-param\",\n          en:\"Fixed Vertical Curve (Two Points and Parameter)\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Festelement (Ausrundung \\u2013 Zwei Punkte, Parameter)\",\n          eingaben:[\"Anfangspunkt\",\"Endpunkt\",\"Parabelparameter K oder Halbmesser H\"],\n          desc:\"Ausrundung zwischen zwei festen Stationen mit vorgegebenem Parameter. Parameter K = L\\u00B2 \/ (8h) bei symmetrischer Parabel.\",\n          einsatz:\"Standardfall, wenn Anfangs- und Endstation fix sind und der Halbmesser aus der Richtlinie kommt.\",\n          tags:\"zwei punkte parameter halbmesser parabel radius fest k wert station h\\u00F6he fixed vertical\" },\n\n        { name:\"Ausrundung \\u2013 Anschlusselement, Zwangspunkt\", kat:\"Festelement\", geo:\"Ausrundung\", form:\"Parabel\", schema:\"ge-sch-arc-from-tan\",\n          en:\"Fixed Vertical Curve (Entity End and Through Point)\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Festelement (Ausrundung \\u2013 Anschluss, Zwangspunkt)\",\n          eingaben:[\"Anschlusstangente\",\"Zwangspunkt (Station\/H\\u00F6he)\"],\n          desc:\"Ausrundung tangential an einer bestehenden Tangente, verl\\u00E4uft durch einen Zwangspunkt. Als Festelement bleibt die Lage erhalten.\",\n          einsatz:\"Tangentialer Anschluss mit definiertem Durchgangspunkt, wenn Position fix bleiben soll.\",\n          tags:\"anschluss zwangspunkt tangential tangente ausrundung durchgang fest entity through point\" },\n\n        { name:\"Ausrundung \\u2013 Zwei Punkte, Neigung am Anfang\", kat:\"Festelement\", geo:\"Ausrundung\", form:\"Parabel\", schema:\"ge-sch-arc-slope-start\",\n          en:\"Fixed Vertical Curve (Two Points, Grade at Start)\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Festelement (Ausrundung \\u2013 Zwei Punkte, Neigung Anfang)\",\n          eingaben:[\"Anfangspunkt\",\"Endpunkt\",\"Eingangsneigung (%)\"],\n          desc:\"Ausrundung beginnt mit einer definierten Neigung am Anfangspunkt, endet an einer festen Station und H\\u00F6he.\",\n          einsatz:\"Gradienten-Anschluss mit bekannter Eingangsneigung (z.B. aus Vorg\\u00E4ngerabschnitt).\",\n          tags:\"zwei punkte neigung anfang eingang ausrundung parabel fest grade start\" },\n\n        { name:\"Ausrundung \\u2013 Zwei Punkte, Neigung am Ende\", kat:\"Festelement\", geo:\"Ausrundung\", form:\"Parabel\", schema:\"ge-sch-arc-slope-end\",\n          en:\"Fixed Vertical Curve (Two Points, Grade at End)\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Festelement (Ausrundung \\u2013 Zwei Punkte, Neigung Ende)\",\n          eingaben:[\"Anfangspunkt\",\"Endpunkt\",\"Ausgangsneigung (%)\"],\n          desc:\"Ausrundung endet mit einer definierten Neigung am Endpunkt, beginnt an einer festen Station und H\\u00F6he.\",\n          einsatz:\"Vorbereitung auf einen Abschnitt mit bekannter Zielneigung.\",\n          tags:\"zwei punkte neigung ende ausgang ausrundung parabel fest grade end\" },\n\n        { name:\"Ausrundung \\u2013 Parabolisch, Hoher oder tiefer Punkt\", kat:\"Festelement\", geo:\"Ausrundung\", form:\"Parabel\", schema:\"ge-sch-arc-peak-parabel\",\n          en:\"Fixed Vertical Curve \\u2013 Parabolic (High\/Low Point)\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Festelement (Ausrundung \\u2013 Parabolisch, Scheitelpunkt)\",\n          eingaben:[\"Scheitelpunkt (Station\/H\\u00F6he)\",\"Parabelparameter\",\"L\\u00E4nge\"],\n          desc:\"Parabel um einen vorgegebenen Hoch- (Kuppe) oder Tiefpunkt (Wanne). Symmetrisch zur Scheitelstation.\",\n          einsatz:\"Ausrundung mit bekanntem Scheitelpunkt, etwa f\\u00FCr eine Wanne \\u00FCber einem Kanalschacht.\",\n          tags:\"parabolisch hoher tiefer punkt scheitel kuppe wanne parameter l\\u00E4nge fest high low\" },\n\n        { name:\"Ausrundung \\u2013 Kreisf\\u00F6rmig, Hoher oder tiefer Punkt\", kat:\"Festelement\", geo:\"Ausrundung\", form:\"Kreisbogen\", schema:\"ge-sch-arc-peak-circle\",\n          en:\"Fixed Vertical Curve \\u2013 Circular (High\/Low Point)\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Festelement (Ausrundung \\u2013 Kreisf\\u00F6rmig, Scheitelpunkt)\",\n          eingaben:[\"Scheitelpunkt\",\"Halbmesser R\",\"L\\u00E4nge\"],\n          desc:\"Kreisbogen um einen vorgegebenen Hoch- oder Tiefpunkt. Halbmesser ist konstant \\u00FCber die ganze Ausrundungsl\\u00E4nge.\",\n          einsatz:\"Wenn eine Richtlinie oder Norm einen Kreisbogen statt Parabel vorschreibt (selten im deutschen Stra\\u00DFenbau).\",\n          tags:\"kreisf\\u00F6rmig hoher tiefer punkt scheitel kreisbogen halbmesser fest circular\" },\n\n        { name:\"Ausrundung \\u2013 Ausgleichseinrechnung (Fest)\", kat:\"Festelement\", geo:\"Ausrundung\", form:\"Parabel\", schema:\"ge-sch-arc-bestfit\",\n          en:\"Fixed Vertical Curve \\u2013 Best Fit\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Festelement (Ausrundung \\u2013 Best-Fit)\",\n          eingaben:[\"Regressionspunkte\"],\n          desc:\"Best-Fit-Ausrundung durch eine Punktwolke.\",\n          einsatz:\"Nachrechnung einer Bestandstrasse, deren Ausrundungsparameter nicht dokumentiert sind.\",\n          tags:\"best fit ausgleich ausrundung regression punktwolke nachrechnung bestand parabel fest fixed\" },\n\n        { name:\"Ausrundung \\u2013 Parameter, Zwangspunkt\", kat:\"Koppelelement\", geo:\"Ausrundung\", form:\"Parabel\", schema:\"ge-sch-arc-from-tan\",\n          en:\"Floating Vertical Curve (Parameter and Through Point)\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Koppelelement (Ausrundung \\u2013 Parameter, Zwangspunkt)\",\n          eingaben:[\"Anschlusstangente\",\"Parameter\",\"Zielpunkt (Station\/H\\u00F6he)\"],\n          desc:\"Ausrundung tangential vom Vorg\\u00E4nger mit festem Parameter, endet an einem Zwangspunkt.\",\n          einsatz:\"Pr\\u00E4zise Ausrundung mit Parameter aus Richtlinie und Zielpunkt aus Sollh\\u00F6henvorgabe.\",\n          tags:\"koppel ausrundung parameter zwangspunkt halbmesser tangential zielpunkt floating through\" },\n\n        { name:\"Ausrundung \\u2013 Zwangspunkt, Neigung\", kat:\"Koppelelement\", geo:\"Ausrundung\", form:\"Parabel\", schema:\"ge-sch-arc-from-tan\",\n          en:\"Floating Vertical Curve (Through Point and Grade)\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Koppelelement (Ausrundung \\u2013 Zwangspunkt, Neigung)\",\n          eingaben:[\"Anschlusstangente\",\"Zielpunkt\",\"Endneigung (%)\"],\n          desc:\"Ausrundung vom Vorg\\u00E4nger zu einem Zielpunkt mit definierter Ausgangsneigung. Parameter wird automatisch berechnet.\",\n          einsatz:\"\\u00DCbergang zwischen zwei Tangentenneigungen mit exaktem Zielpunkt.\",\n          tags:\"koppel ausrundung zwangspunkt neigung ausgang ziel tangential floating grade\" },\n\n        { name:\"Ausrundung \\u2013 Ausgleichseinrechnung (Koppel)\", kat:\"Koppelelement\", geo:\"Ausrundung\", form:\"Parabel\", schema:\"ge-sch-arc-bestfit\",\n          en:\"Floating Vertical Curve \\u2013 Best Fit\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Koppelelement (Ausrundung \\u2013 Best-Fit)\",\n          eingaben:[\"Anschlusstangente\",\"Regressionspunkte\"],\n          desc:\"Best-Fit-Ausrundung, die tangential an den Vorg\\u00E4nger gekoppelt bleibt.\",\n          einsatz:\"Anpassung an Bestandspunkte nach einem bereits gesetzten Element.\",\n          tags:\"koppel ausrundung best fit ausgleich regression tangential parabel floating\" },\n\n        { name:\"Ausrundung \\u2013 Parabel (Puffer)\", kat:\"Pufferelement\", geo:\"Ausrundung\", form:\"Parabel\", schema:\"ge-sch-arc-puffer-fill\",\n          en:\"Free Vertical Parabola (Between Two Tangents)\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Pufferelement (Ausrundung \\u2013 Parabel)\",\n          eingaben:[\"Vorg\\u00E4ngertangente\",\"Nachfolgertangente\",\"Parameter\"],\n          desc:\"Parabolische Ausrundung, die tangential zwei vorhandene Tangenten verbindet. Passt sich beidseitig an.\",\n          einsatz:\"Standard-Ausrundung zwischen zwei gegebenen Tangenten, Parameter aus Richtlinie.\",\n          tags:\"puffer parabel zwischen tangenten ausrundung parameter tangential f\\u00FCllen free vertical parabola\" },\n\n        { name:\"Ausrundung \\u2013 Kreisf\\u00F6rmig (Puffer)\", kat:\"Pufferelement\", geo:\"Ausrundung\", form:\"Kreisbogen\", schema:\"ge-sch-arc-puffer-fill\",\n          en:\"Free Vertical Curve \\u2013 Circular\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Pufferelement (Ausrundung \\u2013 Kreisf\\u00F6rmig)\",\n          eingaben:[\"Vorg\\u00E4ngertangente\",\"Nachfolgertangente\",\"Halbmesser R\"],\n          desc:\"Kreisf\\u00F6rmige Ausrundung, die tangential zwei Tangenten verbindet.\",\n          einsatz:\"Kreisbogen-Ausrundung, wenn das Regelwerk (z.B. Schienenbau) es verlangt.\",\n          tags:\"puffer kreisbogen kreisf\\u00F6rmig zwischen tangenten halbmesser radius ausrundung free circular\" },\n\n        { name:\"Ausrundung \\u2013 Vertikale Parabel, TS-basiert\", kat:\"Pufferelement\", geo:\"Ausrundung\", form:\"Parabel\", schema:\"ge-sch-arc-ts\",\n          en:\"Free Vertical Parabola (PVI based)\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Pufferelement (Ausrundung \\u2013 Vertikale Parabel, TS-basiert)\",\n          eingaben:[\"TS-Punkt\",\"Parameter\",\"L\\u00E4nge\"],\n          desc:\"Symmetrische vertikale Parabel, deren Scheitel auf einen vorhandenen TS-Punkt bezogen ist.\",\n          einsatz:\"Schnelle Ausrundung eines TS-Punkts mit gegebenem Parameter und symmetrischer L\\u00E4nge.\",\n          tags:\"puffer vertikale parabel ts-punkt basiert symmetrisch parameter l\\u00E4nge scheitel pvi\" },\n\n        { name:\"Ausrundung \\u2013 Asymmetrische Parabel, TS-basiert\", kat:\"Pufferelement\", geo:\"Ausrundung\", form:\"Parabel\", schema:\"ge-sch-arc-asym\",\n          en:\"Free Asymmetric Parabola (PVI based)\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Pufferelement (Ausrundung \\u2013 Asymmetrische Parabel, TS-basiert)\",\n          eingaben:[\"TS-Punkt\",\"L\\u00E4nge L1 (vor Scheitel)\",\"L\\u00E4nge L2 (nach Scheitel)\",\"Parameter\"],\n          desc:\"Asymmetrische Parabel mit unterschiedlichen L\\u00E4ngen vor und nach dem Scheitelpunkt.\",\n          einsatz:\"Ausrundung, bei der Anfangs- und Endneigung ungleich sind und die Wirkungsl\\u00E4ngen voneinander abweichen.\",\n          tags:\"puffer asymmetrische parabel ts-punkt l1 l2 unterschiedliche l\\u00E4nge scheitel asymmetric pvi\" },\n\n        { name:\"Ausrundung \\u2013 Kreisf\\u00F6rmiger Bogen, TS-basiert\", kat:\"Pufferelement\", geo:\"Ausrundung\", form:\"Kreisbogen\", schema:\"ge-sch-arc-ts\",\n          en:\"Free Vertical Circular Curve (PVI based)\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Pufferelement (Ausrundung \\u2013 Kreisf\\u00F6rmig, TS-basiert)\",\n          eingaben:[\"TS-Punkt\",\"Halbmesser R\",\"L\\u00E4nge\"],\n          desc:\"Kreisf\\u00F6rmige Ausrundung zentriert um einen vorhandenen TS-Punkt.\",\n          einsatz:\"Kreis-Ausrundung mit TS-Bezug, z.B. in Kombination mit asymmetrischer Parabel im Sonderfall.\",\n          tags:\"puffer kreisf\\u00F6rmig ts-punkt basiert halbmesser zentriert ausrundung circular pvi\" },\n\n        { name:\"Ausrundung \\u2013 Ausgleichseinrechnung (Puffer)\", kat:\"Pufferelement\", geo:\"Ausrundung\", form:\"Parabel\", schema:\"ge-sch-arc-bestfit\",\n          en:\"Free Vertical Curve \\u2013 Best Fit\",\n          path:\"Profil-Werkzeuge \\u203A Element 2 \\u203A Pufferelement (Ausrundung \\u2013 Best-Fit)\",\n          eingaben:[\"Vorg\\u00E4ngertangente\",\"Nachfolgertangente\",\"Regressionspunkte\"],\n          desc:\"Best-Fit-Ausrundung zwischen zwei bestehenden Tangenten.\",\n          einsatz:\"Nachrechnung eines Bestandsbogens aus Messpunkten bei gegebenen Vorg\\u00E4nger- und Nachfolgertangenten.\",\n          tags:\"puffer ausrundung best fit ausgleich regression zwischen tangenten parabel free\" }\n    ];\n\n    var activeKat = null;\n    var activeGeo = null;\n    var activeForm = null;\n\n    function esc(s) {\n        return String(s == null ? \"\" : s).replace(\/&\/g, '&amp;').replace(\/<\/g, '&lt;').replace(\/>\/g, '&gt;').replace(\/\"\/g, '&quot;');\n    }\n\n    window.geToggle = function(btn, type, val) {\n        var isActive = btn.getAttribute('data-active') === '1';\n        var siblings = btn.parentElement.querySelectorAll('.ge-btn');\n        for (var i = 0; i < siblings.length; i++) {\n            siblings[i].classList.remove('active');\n            siblings[i].setAttribute('data-active', '0');\n        }\n        if (!isActive) {\n            btn.classList.add('active');\n            btn.setAttribute('data-active', '1');\n            if (type === 'kat') activeKat = val;\n            else if (type === 'geo') activeGeo = val;\n            else if (type === 'form') activeForm = val;\n        } else {\n            if (type === 'kat') activeKat = null;\n            else if (type === 'geo') activeGeo = null;\n            else if (type === 'form') activeForm = null;\n        }\n        window.geFilter();\n    };\n\n    window.geResetAll = function() {\n        activeKat = null; activeGeo = null; activeForm = null;\n        var btns = document.querySelectorAll('.ge-box .ge-btn');\n        for (var i = 0; i < btns.length; i++) {\n            btns[i].classList.remove('active');\n            btns[i].setAttribute('data-active', '0');\n        }\n        var search = document.getElementById('geSearch');\n        if (search) search.value = '';\n        window.geFilter();\n    };\n\n    window.geFilter = function() {\n        var searchEl = document.getElementById('geSearch');\n        var q = (searchEl ? searchEl.value : '').toLowerCase().trim();\n        var words = q ? q.split(\/\\s+\/) : [];\n        var results = [];\n        for (var i = 0; i < DATA.length; i++) {\n            var d = DATA[i];\n            if (activeKat !== null) { if (d.kat !== activeKat) continue; }\n            if (activeGeo !== null) { if (d.geo !== activeGeo) continue; }\n            if (activeForm !== null) { if (d.form !== activeForm) continue; }\n            if (words.length > 0) {\n                var haystack = (d.name + ' ' + d.desc + ' ' + d.tags + ' ' + d.kat + ' ' + d.geo + ' ' + d.form +\n                                ' ' + d.einsatz + ' ' + d.en + ' ' + d.path).toLowerCase();\n                var match = true;\n                for (var w = 0; w < words.length; w++) {\n                    if (haystack.indexOf(words[w]) === -1) { match = false; break; }\n                }\n                if (!match) continue;\n            }\n            results.push(d);\n        }\n\n        var countEl = document.getElementById('geCount');\n        if (countEl) {\n            countEl.textContent = results.length + ' von ' + DATA.length + ' Element' + (DATA.length !== 1 ? 'en' : '');\n        }\n\n        var html = '';\n        if (results.length === 0) {\n            html = '<div class=\"ge-empty\">Keine Elemente gefunden. Probiere andere Suchbegriffe oder setze die Filter zur\\u00FCck.<\/div>';\n        } else {\n            for (var r = 0; r < results.length; r++) {\n                var item = results[r];\n                var badgeClass = item.kat === 'Festelement' ? 'ge-badge-fest'\n                               : item.kat === 'Koppelelement' ? 'ge-badge-koppel'\n                               : 'ge-badge-puffer';\n                var eingabenHtml = '';\n                if (item.eingaben) { if (item.eingaben.length) {\n                    var parts = [];\n                    for (var e = 0; e < item.eingaben.length; e++) {\n                        parts.push((e + 1) + '. ' + esc(item.eingaben[e]));\n                    }\n                    eingabenHtml = parts.join('<br>');\n                } }\n                html += '<div class=\"ge-card kat-' + item.kat + '\">';\n                html += '<div class=\"ge-card-schema\"><svg><use href=\"#' + item.schema + '\"><\/use><\/svg><\/div>';\n                html += '<div class=\"ge-card-main\">';\n                html += '<div class=\"ge-card-header\">';\n                html += '<span class=\"ge-card-name\">' + esc(item.name) + '<\/span>';\n                html += '<span class=\"ge-badge ' + badgeClass + '\">' + esc(item.kat) + '<\/span>';\n                html += '<span class=\"ge-badge ge-badge-geo\">' + esc(item.geo) + '<\/span>';\n                html += '<span class=\"ge-badge ge-badge-geo\">' + esc(item.form) + '<\/span>';\n                html += '<\/div>';\n                html += '<div class=\"ge-card-desc\">' + esc(item.desc) + '<\/div>';\n                html += '<div class=\"ge-card-usecase\"><strong>Einsatz:<\/strong> ' + esc(item.einsatz) + '<\/div>';\n                html += '<details class=\"ge-detail\">';\n                html += '<summary>Details &middot; Men\\u00FCpfad, Original (EN), Eingaben<\/summary>';\n                html += '<dl>';\n                html += '<dt>Men\\u00FCpfad<\/dt><dd>' + esc(item.path) + '<\/dd>';\n                html += '<dt>Original (EN)<\/dt><dd><code>' + esc(item.en) + '<\/code><\/dd>';\n                html += '<dt>Eingaben<\/dt><dd>' + eingabenHtml + '<\/dd>';\n                html += '<\/dl>';\n                html += '<\/details>';\n                html += '<\/div>';\n                html += '<\/div>';\n            }\n        }\n        var resultsEl = document.getElementById('geResults');\n        if (resultsEl) resultsEl.innerHTML = html;\n    };\n\n    window.geFilter();\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>P s1 s2 Scheitel R TS L1 L2 Gradienten-Element-Finder Alle Element-Varianten der Civil&nbsp;3D-Gradiente durchsuchbar und filterbar &ndash; Fest-, Koppel- und [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","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":""},"categories":[27],"tags":[],"class_list":["post-1972","post","type-post","status-publish","format-standard","hentry","category-hoehenplan"],"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":"P s1 s2 Scheitel R TS L1 L2 Gradienten-Element-Finder Alle Element-Varianten der Civil&nbsp;3D-Gradiente durchsuchbar und filterbar &ndash; Fest-, Koppel- und [&hellip;]","_links":{"self":[{"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/posts\/1972","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"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=1972"}],"version-history":[{"count":4,"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/posts\/1972\/revisions"}],"predecessor-version":[{"id":1984,"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/posts\/1972\/revisions\/1984"}],"wp:attachment":[{"href":"https:\/\/cad-kompass.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1972"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cad-kompass.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1972"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cad-kompass.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1972"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}