Schnitt/Ansicht-Feinschliff: Kantenfilter, Print-Toggle, echte Fenster in der Ansicht

Vier Nutzer-Punkte:
1. Editieren im Schnitt funktioniert (Klick auf die Poché wählt das Bauteil,
   headless verifiziert) — die Störung waren die Kanten GESCHNITTENER
   Bauteile: der Extraktor projizierte auch deren Restkörper (Deckel-/
   Bodenkanten quer durch die eigene Poché). computeSection filtert sie jetzt;
   Ansichtskanten ungeschnittener Bauteile (Rückwand-Fenster etc.) bleiben.
2. Verdeckte Kanten (gestrichelt) sind Standard AUS — zuschaltbar je Ebene
   (DrawingLevel.hiddenLines, Checkbox in der Schnittlinien-Sektion).
3. Display/Print-Umschalter wirkt jetzt in ALLEN 2D-Darstellungen (Grundriss,
   Schnitt, Ansicht, Zeichnung) — war fälschlich auf den Grundriss begrenzt.
4. Fenster/Türen in der Ansicht als echtes Bauteil: Blendrahmen-Fläche →
   Flügelfelder (aus der Flügeltabelle, ungleiche Breiten/Pfosten) → Glas,
   Kämpfer/Oberlicht-Teilung, DIN-Öffnungssymbol (dezent gestrichelt,
   Dreh/Kipp/Drehkipp je Anschlag); Türen mit Rahmen + Blatt-Fläche.
737/737 grün; headless verifiziert (Schnitt A + Ansicht Süd).
This commit is contained in:
2026-07-11 02:18:09 +02:00
parent fe0aa1b389
commit b9a7451eb2
8 changed files with 229 additions and 16 deletions
+9 -3
View File
@@ -959,7 +959,11 @@ const SECTION_HATCH: HatchRender = {
* zur Plan-Y — die PlanView zeigt Y nach oben, also erscheint der Schnitt
* aufrecht. Rein darstellend; kennt das Projekt nicht.
*/
export function generateSectionPlan(output: SectionOutput, mono = false): Plan {
export function generateSectionPlan(
output: SectionOutput,
mono = false,
opts: { hiddenLines?: boolean } = {},
): Plan {
const primitives: Primitive[] = [];
let minX = Infinity,
minY = Infinity,
@@ -1014,8 +1018,10 @@ export function generateSectionPlan(output: SectionOutput, mono = false): Plan {
});
}
// Verdeckte Kanten zuerst (liegen unter den sichtbaren), gestrichelt.
for (const e of output.hiddenEdges) {
// Verdeckte Kanten zuerst (liegen unter den sichtbaren), gestrichelt —
// Standard AUS (VW-üblich): sie legen sich sonst als blasses Liniengewirr
// über Poché und Ansichtskanten. Zuschaltbar je Schnitt-/Ansichts-Ebene.
for (const e of opts.hiddenLines ? output.hiddenEdges : []) {
acc(e.a[0], e.a[1]);
acc(e.b[0], e.b[1]);
primitives.push({