diff --git a/src/App.tsx b/src/App.tsx index c42d840..5267954 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -5212,7 +5212,10 @@ export default function App() { activeLayer={activeLayerName} lineMode={lineMode} onLineModeChange={setLineMode} - lineModeEnabled={planActive} + // Display/Print wirkt in ALLEN 2D-Darstellungen (Grundriss, Schnitt, + // Ansicht, Zeichnung — hairline fliesst überall hin); nur die + // 3D-Perspektive kennt keine Papier-Linienstärken. + lineModeEnabled={activeLevel.kind !== "floor" || viewType === "grundriss"} snap={snap} onSnapChange={setSnap} /> @@ -6841,8 +6844,11 @@ function SectionPlanView({ ); const sectionPlan = useMemo( - () => (!isElevation && output ? generateSectionPlan(output, mono) : null), - [isElevation, output, mono], + () => + !isElevation && output + ? generateSectionPlan(output, mono, { hiddenLines: level.hiddenLines }) + : null, + [isElevation, output, mono, level.hiddenLines], ); const plan = isElevation ? elevationPlan : sectionPlan; const effStatus = isElevation ? (elevationPlan ? "ready" : "empty") : status; diff --git a/src/i18n/de.ts b/src/i18n/de.ts index 342f660..67aab4b 100644 --- a/src/i18n/de.ts +++ b/src/i18n/de.ts @@ -515,6 +515,7 @@ export const de = { "objinfo.sectionLine.endX": "Ende X", "objinfo.sectionLine.endY": "Ende Y", "objinfo.sectionLine.depth": "Schnitt-Tiefe (m)", + "objinfo.sectionLine.hiddenLines": "Verdeckte Kanten", "objinfo.sectionLine.depthHint": "leer = unbegrenzt", "objinfo.sectionLine.delete": "Schnittlinie löschen", "objinfo.extrudedSolid.section": "Extrusion", diff --git a/src/i18n/en.ts b/src/i18n/en.ts index 0fe867c..06be379 100644 --- a/src/i18n/en.ts +++ b/src/i18n/en.ts @@ -512,6 +512,7 @@ export const en: Record = { "objinfo.sectionLine.endX": "End X", "objinfo.sectionLine.endY": "End Y", "objinfo.sectionLine.depth": "Section depth (m)", + "objinfo.sectionLine.hiddenLines": "Hidden lines", "objinfo.sectionLine.depthHint": "empty = unlimited", "objinfo.sectionLine.delete": "Delete section line", "objinfo.extrudedSolid.section": "Extrusion", diff --git a/src/model/types.ts b/src/model/types.ts index 8d8173b..2b92396 100644 --- a/src/model/types.ts +++ b/src/model/types.ts @@ -777,6 +777,11 @@ export interface DrawingLevel { * Verhalten). */ depth?: number; + /** + * Verdeckte Kanten im Schnitt zeichnen (gestrichelt). Default AUS — sie + * legen sich sonst als blasses Liniengewirr über Poché und Ansichtskanten. + */ + hiddenLines?: boolean; } /** diff --git a/src/panels/ObjectInfoPanel.tsx b/src/panels/ObjectInfoPanel.tsx index 0f6dd99..df8a7ad 100644 --- a/src/panels/ObjectInfoPanel.tsx +++ b/src/panels/ObjectInfoPanel.tsx @@ -420,6 +420,17 @@ export function SectionLineSection({ /> + {/* Verdeckte Kanten (gestrichelt) — Default aus (blasses Liniengewirr). */} +
+ {t("objinfo.sectionLine.hiddenLines")} + host.onSetSectionLinePatch({ hiddenLines: e.target.checked })} + title={t("objinfo.sectionLine.hiddenLines")} + /> +
+ {/* Löschen: linePoints zurücksetzen (die Ebene bleibt bestehen). */}