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:
@@ -1141,6 +1141,19 @@ export async function computeSection(
|
||||
plane.normal[2],
|
||||
);
|
||||
const output = JSON.parse(json) as SectionOutput;
|
||||
// Kanten GESCHNITTENER Bauteile verwerfen: der Extraktor projiziert auch die
|
||||
// Restkörper der geschnittenen Wände/Decken (Deckel-/Bodenkanten laufen quer
|
||||
// durch die eigene Schnitt-Poché — die „komischen Linien über den
|
||||
// Schnittlinien"). Die Schnittgeometrie trägt die Poché-Kontur selbst; die
|
||||
// Ansichtskanten UNGESCHNITTENER Bauteile (z. B. Fenster der Rückwand)
|
||||
// bleiben erhalten.
|
||||
const cutOwners = new Set(
|
||||
output.cutPolygons.map((cp) => `${cp.component.kind}:${cp.component.index}`),
|
||||
);
|
||||
const notCut = (e: SectionEdge): boolean =>
|
||||
!cutOwners.has(`${e.component.kind}:${e.component.index}`);
|
||||
output.visibleEdges = output.visibleEdges.filter(notCut);
|
||||
output.hiddenEdges = output.hiddenEdges.filter(notCut);
|
||||
// Dächer TS-seitig ergänzen (der Rust-Extraktor kennt nur Wände + Decken).
|
||||
appendRoofSections(output, project, plane);
|
||||
attachCutStyles(output, project, plane);
|
||||
|
||||
Reference in New Issue
Block a user