Commit Graph

125 Commits

Author SHA1 Message Date
y.wang b8e8d0b0a0 feat: Kettenfoerderer (Schraegfoerderer Stahl) als parametrische 3D-Baugruppe
Neues Modul KettenFoerderer.lsp: baut aus KF_UM_<winkel>, KF_LAENGE und
KF_AN_<winkel> (je KS_AUS auf KS_EIN) plus der Draufsicht KF_2D einen Block
KF_<n>. Die Bausteine werden aufgerichtet eingebaut (Rz*Rx(90)*Rz), die Hoehe
laeuft in Z; KF_2D liegt deckungsgleich mit der Kette. Der Einbauwinkel jedes
Folgebausteins wird aus der Richtung des KS_AUS seines Vorgaengers gemessen,
KF_LAENGE ueber die Einbauhoehe skaliert.

- Dialog (DCL-Vorlage, Typ als Radiobuttons), Hoehe per Zahl oder aus zwei
  Punkten, Doppelklick auf KF_n oeffnet KF_EDIT mit Neuaufbau
- eigenstaendiges Attribut-Schema, Auswahllisten mit Sivas-Optionstexten in
  data/json/kettenfoerderer.json
- Sivas-Export: Merkmale 350, 353-357, 359-361, 391, baugleiche Foerderer
  werden zu einer Zeile zusammengefasst (Artikelnummer 6120)
- ssg_ks_insert.lsp: neue Primitiven ks-xy-winkel, ks-block-messen,
  insert-block-ks-skaliert und insert-block-ks-matrix (freie 3x3-Rotation);
  ensure-block-loaded nimmt Bloecke ohne Dimensionssuffix unveraendert
- Menueeintrag KettenFoerderer aktiviert, toter Dummy OMNI_KettenFoerderer
  entfernt; KF_* im Export-Pattern, in der ID-Vergabe und im Dispatcher
  SSG_BLOCKEDIT (vor dem Omniflo-Zweig)
- Unit-Tests tu-tests-kf fuer die reinen Rechenkerne; Modul wird in der MNL
  vorgeladen, dbg-Schalter kf-zeit zur Laufzeitmessung

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-23 15:34:27 +02:00
s.hensch e528913fbf [ADD] Verbinder für Omniflo Fahrstrecke hinzugefügt 2026-10-21 10:24:49 +02:00
s.hensch 6b8f0f9ec3 [ADD] Kreiseldrehrichtungsanzeige hinzugefügt; [CHANGE] Insert des Kreisel mit Ausrichtung wird jetzt über die vom Benutzer gezeichnete Eingabelinie erreichnet; [FIX] Fehlende config Datei für die Positionierung der Stückliste hinzugefügt 2026-10-16 11:41:51 +02:00
s.ayadi 166c94f715 [FIX] Kreisel-Weichen: Ende-an-Ende-Raeder und Zeichentoleranz
- Rad/Rad an beiden Flanken gilt nur bei gleich ausgerichteten Raedern als
  "Seite an Seite"; in Gegenrichtung (Kreisel seitlich versetzt Ende an Ende)
  ist es eine Weiche
- toleranz_beruehrung von 1 auf 10 mm (Zeichenungenauigkeiten, Spalt und
  Ueberlappung)
- Unit-Tests fuer Ende-an-Ende, Seite-an-Seite und den Fall aus test.dxf (E3/C7)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 16:08:50 +02:00
s.hensch 8039251bb8 [FIX] Export: Schnittpunkte zwischen Kreiseln werden erkannt und Weichen entsprechend gezählt und als Teil mit Merkmalen im Export befüllt - nur Kreisel mit gleicher Höhe können einen Schnittpunkt für Weiche bilden - Funktion der Weichenzählung manuell aufrufbar; [FIX] Eckrad nun korrekt angelegt und exportiert 2026-10-14 07:42:08 +02:00
s.hensch 6044c35957 feat: Eckrad-Dialog, Kreiselname, Hoehen-Neuberechnung beim Export
- Eckrad: eigener DCL-Dialog (eckrad_edit.dcl) beim Einfuegen und per
  Doppelklick (EckradEdit); Sivas-Merkmale am Kreisel ausgerichtet
  (2950, 3381, 3992 Ja/Nein); bei Sep./Scanner-Zaehlung ausgenommen
- Kreisel: eigener Name bleibt in Bezeichnung + Beschriftung erhalten
- Sivas: Kreisel/Eckrad unterschiedlicher Hoehe nicht mehr zusammengefasst
- Export: Hoehen-Attribute in Z verschobener Kreisel/Eckrad/VF/GF neu
  berechnet
- GF-Edit: Einfuegehoehe aus aktueller Z-Koordinate
2026-10-13 14:24:01 +02:00
s.hensch ea0e46a441 feat: Omniflo-Fahrstrecke (OMNI_FAHRSTRECKE) + Geruest-Dialoge ueberarbeitet
Fahrstrecke:
- Neuer Befehl OMNI_FAHRSTRECKE (+ _BESCHRIFTEN) im Omniflo-Menue,
  Daten aus data/json/omniflo_fahrstrecke.json, Vorlage dcl/fahrstrecke.dcl
- Nutzt die Linien-Logik des Geruest-Traegers (geruest-linien-starten,
  Dialog/Einfuegen/Beschriftung je Baugruppe parametriert)
- Muffen-Dummy wie beim Traeger, farbig nur wo in der JSON gesetzt
- Stueckliste: eigene Klasse "Omniflo Fahrstrecke" (GR_Fahrstrecke_*)

Geruest-Dialoge:
- DCL als statische Vorlagen mit //@NAME@-Platzhaltern
  (ssg-dcl-vorlage-fuellen in ssg_core), dcl/geruest.dcl neu
- Ein Dialog je Bereich (keine Bereichsumschaltung mehr)
- Varianten als Radiobuttons mit Artikelnummern im Label,
  "disabled": true graut Varianten aus
- Eine Befestigungsspalte (Gesamtanzahl) + Zeile "Sonstiges",
  Art.-Nr. unter jedem Anbauteil
- Winkel Platte (0/90): Anbauteile gedreht eingefuegt
- Kennzeichnung geaenderter Konfiguration, Ueberspeichern per Enter
- Traeger: Querstreben nur bei "mit_querstrebe": true

Konfigurationen im alten Format (oben/unten) werden beim Laden
uebernommen. Unit-Tests ergaenzt (599 gruen).
2026-10-13 11:02:23 +02:00
s.hensch d3ddcb9d59 [ADD] weitere Gerüstkomponenten hinzugefügt 2026-10-09 14:38:11 +02:00
s.hensch fe5cb9664c [ADD] Gerüst Dummydateien sowie Zeichnungsdateien hinzugefügt; [FIX] Anzahl und menge der Baugruppenteile unterscheidet sich nun mit dem vorgabe wert für die Inputfelder; [CHANGE] Gerüstträger in separates JSON FIle ausgelagert, da andere Einfügelogik 2026-10-05 09:49:20 +02:00
s.hensch 6ec85905d4 [ADD] Gerüst Träger können nun über das Menü in Bricscad eingefügt werden wie durch die Bihler Bibliothek; Beschriftungsausrichtung nach Norm korrigiert; Nachträgliche Beschriftung über Makro für alle platzierten Träger möglich 2026-10-02 14:46:12 +02:00
s.hensch 7e98b85e5e [CHANGE] eine zusätzliche csv für den Sivas export wird erstellt, die alle identischen Zeilen summiert und in einer Zeile mit neuer Anzahl schreibt; [ADD] Neue Gerüstkomponenten für die Baugruppenerstellung on the fly durch hinzugefügt; [CHANGE] Testskripte angepasst 2026-09-29 17:08:14 +02:00
s.hensch 4e39c64ec1 [ADD] Geruest: Teile-DWGs (data/geruest/<artnr>.dwg) als Geometrie im GR_-Block; TEILEFARBE als Liste parallel zu ARTINR (Flag farbig in geruest.json), Sivas-Merkmal 108 aus cfg [Sivas]; Menue-Befehle GERUEST_SAEULEN/_ROHRABHAENGER/_WANDBEFESTIGUNG
[FIX] Sivas-Export las nicht existierendes Attribut FARBE
2026-09-29 12:07:00 +02:00
s.hensch dabf9e4f8a [CHANGE] Sivas Export schaut nun nur noch auf die kommaseparierte Liste im Attribut ARTINR und fügt die Artikelnummern in die Export-Liste ein; [ADD] Menü und dwg für Omniflo Ladeschleifen 2026-09-28 13:53:46 +02:00
s.hensch 38ddc5dd70 [ADD] ILS Blockattribute in als JSON vervollständigt 2026-09-21 07:37:21 +02:00
m.stangl 1d082ccde7 feat: Eingang/Ausgang-Symbole als eigene CSV-Zeile + in TrackIds
Die Materialfluss-Ein-/Ausgangssymbole (Bloecke Eingang_<DIM>/Ausgang_<DIM>,
eingefuegt ueber ils-insert-station) erscheinen jetzt NUR im CSV-Export als
eigene TeileArt-Zeile ("Eingang"/"Ausgang", Merkmale wie BTMT). Wie
Separator/AS/ES nehmen sie als freie Umlauf-Punkte (KREISEL_UMLAUF_TEILEARTEN)
an der TrackIds-Spalte teil und tauchen so auch auf Kreiseln auf, auf deren
Bahn sie liegen. Der Sivas-Export schliesst sie bewusst aus.

- cfg/export.cfg: pattern_eingang/pattern_ausgang
- Lisp/export.lsp: csv:collect-export-blocks sammelt beide Muster
- Lisp/ssg_id.lsp: ssg-id-collect-blocks erfasst sie (ssg-id-check-all fuellt
  das nachgetragene ID-ATTDEF, dokumentiert in data/ils/allocations.json)
- lib/export_csv.py: Klassifikations-Zweige Eingang/Ausgang
- lib/export_neighbors.py: KREISEL_UMLAUF_TEILEARTEN um Eingang/Ausgang erweitert
- lib/export_sivas.py: Eingang/Ausgang uebersprungen (kein Sivas-Eintrag)
- Tests: test_export_eingang_ausgang.py + Kreisel-Umlauf-Test

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-09-16 11:55:57 +02:00
m.stangl 3fdbfa4cb1 ID zu Ein und Ausgang hinzugefügt 2026-09-16 11:20:27 +02:00
s.hensch 5193f4018c [ADD] Gerüstoptionen werden nun mit dem Befehl GERUEST in Bricscad aufgerufen; Über ein Dropdown in den Oberflächen kann zwischen verschiedenen Arten (Säulen, Abhänger,...) umgeschaltet werden, dann erscheint ein neues Menü; Zusammenstellung der Anbauteile über die Oberfläche mit Anzahl und Checkbox; Speichern von konfigurierten Zusammenstellungen noch fehlerhaft 2026-09-16 09:54:13 +02:00
m.stangl 1590f8f7ed feat: GR_-Geruest-Baugruppen in EXPORTCSV/EXPORTSIVAS aufnehmen
GR_-Bloecke werden jetzt wie BTMT eigenstaendig gesammelt (LISP: neues
pattern_geruest in cfg/export.cfg, csv:collect-export-blocks,
ssg-id-collect-blocks + ID-ATTDEF in *geruest-attrib-defs*) und in beiden
Python-Exporten als eigene TeileArt-Zeile ausgegeben: ARTINR/BEZEICHNUNG/
TEILEART/LAENGE in festen Spalten, restliche Attribute (FARBE/LAYER) im
Merkmale-/details-JSON.

Dabei zwei Bugs behoben, die beim ersten echten GR_-Export sichtbar wurden:
- csv:json-escape nutzte vl-string-subst (ersetzt nur das erste Vorkommen)
  statt des global ersetzenden ssg-str-replace-all - bei Attributwerten mit
  mehreren Anfuehrungszeichen blieb ein Zeichen unescaped und brach die
  JSON-Struktur beim Python-Parsen.
- Gradzeichen (°) in data/json/geruest.json durch "Grad" ersetzt, um das
  Encoding-Risiko (cp1252 vs. UTF-8 beim LISP-Export) zu vermeiden.
2026-09-14 14:22:45 +02:00
s.hensch d19bac7a1f [ADD] Erste Einbindung eines Menüs zum Konfigurieren und Einfügen von Gerüstkomponenten; TODOs: Anzahl der Gerüstkompnenten Variabel machen und für den Benutzer die Anzahl der Baugruppe sichtbar machen; Vorkonfigurierte Baugruppen anbieten; Einfachere Auswahl mit Checkbox oder Input (Anzahl) 2026-09-14 12:43:17 +02:00
y.wang ca5c21686f chore: Vario_Bogen_ab_3_TEF_rechts_2D.dwg aktualisiert
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-14 08:46:28 +02:00
y.wang 1b49bd3c3b feat: Option 5 "QC Linie mit GF und U-Form" implementiert (Fa/S dynamisch, Kolinearitaet exakt)
Linienzug-Modus 5: AS(90 Grad) -> Richtung+E1 in einem Klick -> 90-Grad-
GF-U-Turn (Gegenseite von AS) -> Fa(fallend, unbekannt)+Sep -> Bogen-auf-6
-> S(steigend, dynamisch 3/6/9/...Grad, flachster passender Winkel wird
automatisch gewaehlt) -> Bogen-ab-6 -> ES, mit exakter Kolinearitaets-
Rueckkehr zur AS-Eintrittsachse (2x2-Gleichungssystem Hoehe+Lage, analog
zu Option 4's E2-Loesung). E1 nutzt AS's real gemessene KS_AUS-Neigung
(neue vf-element-plan-neigung) statt der angenommenen 3 Grad - das macht
Fa/S ueberhaupt erst ueber E1 steuerbar. Bei "nicht baubar" wird eine
exakte Mindest-E1-Laenge vorgeschlagen (wie Option 4's Mindest-
Gesamtlaenge). Zusaetzlich: Bogen-Seite = Gegenseite der AS-Seite (Option 4
und 5), Fehler in vf-element-plan-neigung-Vorzeichen behoben, fehlender
Separator-Fussabdruck in der Hoehen-/Lage-Bilanz ergaenzt.

Neue GF-eigene Vertikalbogen-Bloecke (Vario_Bogen_auf/ab_3/6_rechts, 2D+3D)
fuer die Uebergaenge.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-14 08:36:17 +02:00
s.ayadi f4edb7339d new seplist added 2026-09-11 11:57:39 +02:00
m.stangl 810cbd087d Neue Tos Nummer für BTMT Be und Entladung in den sivas Export rein 2026-09-07 17:32:45 +02:00
m.stangl 6e95bb535a Ein paar Koordinatenanpassungen an den Symbolen und Ein und Ausgängen. INsertpoints der Symbole auf das Rechteck gesetzt 2026-09-07 16:52:23 +02:00
m.stangl 294fd6a8d7 [ADD] Eingang-/Ausgang-Symbole ueber BTMT-Stationen + Drehung im CSV-Export gerundet
ILS_EINGANG_INSERT/ILS_AUSGANG_INSERT (Menue SPS > Connections) setzen
das Eingang-/Ausgang-Symbol automatisch lotrecht ueber eine gewaehlte
BTMT-Beladung/-Entladung-Instanz statt per freiem Einfuegepunkt.
Blockdateien Eingang_2D/3D.dwg und Ausgang_2D/3D.dwg ins Flach-Schema
von data/ils kopiert (Quellen in data/ils/2D|3D bleiben unangetastet).
Mubea-Testdaten um ein Eingang-Symbol ueber der Beladung und je ein
Ausgang-Symbol ueber beiden Entladungen erweitert.

Zusaetzlich: BTMT-Drehung im CSV-Export (export_csv.py) auf ganze
Grad gerundet (90/180/... statt z.B. 90.4078), da Kommastellen dort
keine Bedeutung haben.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-07 16:17:41 +02:00
s.ayadi b66c4e5dae update mubea with BTMT information 2026-09-07 15:38:39 +02:00
m.stangl e12a25785f Test.dxf braucht man nicht 2026-09-04 09:40:31 +02:00
s.ayadi e7ce72459d [FIX] mubea.json Separator-Drehung 90->270 + Debug-Exporte gf.dxf/test.dxf
Erwartete Drehung fuer den Separator in Kreisel_rechts korrigiert
(entdeckt beim Nachverfolgen der Separator-Rotation im GF-Export).
gf.dxf/test.dxf sind Testzeichnungen aus der Fehlersuche.
2026-09-04 09:25:09 +02:00
s.ayadi bbc9e9b9f9 [FEAT] Werkzeuge zum Auslesen fremder Zeichnungen und der VF-Eingabe-Journale
Grundlage fuer reproduzierbare Nachbau-Testfaelle aus echten Projekt-
zeichnungen (HundM05).

- lib/vf_journal_export.py (neu): liest die Eingabe-Journale der VF_n-Bloecke
  aus der XDATA (App SSG_VF_EDIT, Marker "linienzug") und schreibt sie als
  Frage-Antwort-Protokoll im Schema von tests/testdata/linienzug_tests.json -
  Gegenstueck zu vfl-entry->string, ohne ezdxf (reine Gruppencode-Lesung).
  Optional --csv fuer Strecken-ID und Erwartungswerte je Kette.
- lib/extract_polylines.py (neu): LWPOLYLINE-Objekte als JSON, inkl.
  OCS->Welt-Umrechnung fuer gekippte Ebenen (Handles, Segment-/Gesamtlaengen).
- lib/dxf_scan_components.py: erkennt jetzt zusaetzlich, ob ein Block ein
  2D-Schema oder ein 3D-Modell ist (TYPEN_3D, ist_3d_block/darstellung_von) -
  eine Anlagenzeichnung enthaelt beides. Dazu Sensor-Erfassung,
  Zwillings-Zusammenfuehrung und Hoehenschaetzung aus der Umgebung.
- lib/dxf_abbild.py: gibt die erkannte Darstellung je Element mit aus.
- tests/test_vf_journal_grammatik.py (neu): prueft den Journal-Dekoder gegen
  handgebaute Journale - ohne CAD und ohne die grosse DXF. Deckt die zwei
  Zweige ab, die in den echten Ketten nicht vorkommen: Glied "Linie-VF" und
  eine VF-Einheit mit gewinkeltem Erstkoerper (dort fragt vfl-vf-einheit
  KEINE Separator-/Endpunkt-Fragen vorab, anders als beim horizontalen).
- data/polylines.md, tests/testdata/hundm05_linienzug_polylines.json:
  ausgewertete Streckenzuege der Quellzeichnung.
- .gitignore: die Quellzeichnungen selbst (data/polylines.dxf 124 MB,
  data/polylines.dwg, tests/HM5.dwg) bleiben draussen - eingecheckt ist die
  Auswertung, nicht die Zeichnung.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-03 10:13:56 +02:00
s.hensch 699744e817 [CHANGE] Separatoren in den 300mm Staustreckenblöcken für Varioförderer sind nun als eigenständiger Block eingefügt worden, um eine einheitliche Zählung durchführen zu können. 2026-09-02 10:50:00 +02:00
s.hensch 311595822b [CHANGE] Separator-Zeichenelement zu 300mm Gefällestücke hinzugefügt 2026-08-31 15:10:37 +02:00
s.hensch 97edec5b28 [FIX] Korrektur und Vereinheitlichung der Position von Koordinatensystemen und Trajektorie für ES und AS Elemente 2026-08-31 14:43:09 +02:00
s.hensch cd31380a91 [ADD] Trajektorie für Carrier in AS Elementen hinzugefügt 2026-08-28 13:47:33 +02:00
s.hensch dd5b7b0b3b [FIX] Korrektur der ES/AS Elemente, sodass die Position und Orientierung der KSysteme für 2d und 3d identisch sind 2026-08-28 13:28:59 +02:00
s.hensch df2b4f1709 [CHANGE] Attribute für ILS Blöcke korrigiert - Artikelnummern für 30 Grad ES AS Elemente hinzugefügt, ZUORDNUNG als Attribut nur bei Scanner und Separator, ID als Attribut für alle Blöcke hinzugefügt 2026-08-28 10:10:19 +02:00
s.hensch deffdca8a2 [ADD] BTMT Beladung als 2D Element 2026-08-27 15:49:48 +02:00
s.hensch a5350760e2 [FIX] Korrektur und Reduzierung der 2D und 3D DWGs für die Be- und Entladung ILS 2026-08-27 15:48:34 +02:00
m.stangl 5cb0b00ce5 Artikelnummern der AS und ES Elemente für 30 Grad rechts und links eingetragen 2026-08-26 08:35:30 +02:00
m.stangl c1802630c4 Eingang und Ausgangssymbol des Materialflusses hinzu 2026-08-25 11:01:50 +02:00
s.hensch 49652b2744 [ADD] ILS Zusatzmodule Einfügefunktion und 3D Modelle implementiert 2026-08-04 11:23:40 +02:00
s.hensch 1374f67f1c [CHANGE] Ausschleuselemente mit vereinfachten 30° Bögen erstellt, um größe der Dateien einzuschränken 2026-07-30 08:39:43 +02:00
m.stangl f6461aab0f [ADD] Kreisel-Split (links/rechts) bei Kollisionspruefung + Separator/Scanner-Zuordnung
- export_neighbors.py: kreisel_half_bboxes() teilt die Kreisel-BBox entlang
  der Achse durch Antriebs-/Spannstation (AN8/SP8) in eine linke und eine
  rechte Haelfte (je ca. 400mm breit, siehe [Kreisel] durchmesser_mm in
  cfg/export.cfg, gespiegelt von component_defaults.json). compute_neighbor_ids
  ersetzt jeden Kreisel-Eintrag in der Kollisionsgruppe durch dieses Paar
  (TeileId-L/-R) statt einer einzelnen BBox - Nachbarn einer Gefaellestrecke/
  eines Foerderers zeigen jetzt, welche Haelfte tatsaechlich beruehrt.
- compute_sensor_zuordnung(): ordnet jeden Separator/Scanner per BBox-
  Ueberschneidung seiner Gefaellestrecke, seinem Foerderer oder einer
  Kreiselhaelfte zu (Prioritaet in dieser Reihenfolge), ersetzt die
  ZUORDNUNG-Attribut-Merkmale im CSV-Export bei Treffer.
- compute_scanner_nearest_separator(): sucht zusaetzlich, unabhaengig von der
  Zuordnung, zu jedem Scanner den raeumlich naechstgelegenen Separator.
- ssg_id.lsp: ssg-id-collect-blocks erfasst jetzt auch Separator_SP/S-LP/
  Scanner-Bloecke, damit ssg-id-check-all ihr (neues) ID-Attribut vor jedem
  Export befuellt; export_csv.py bevorzugt dieses echte ID-Attribut als
  TeileId und faellt nur bei leerem Attribut auf eine laufende SEP-/SCN-
  Ersatznummer zurueck.
- data/ils/Scanner_2D.dwg, Scanner_3D.dwg, Separator_SP_2D.dwg: ID-ATTDEF
  ergaenzt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 11:21:16 +02:00
m.stangl dc23a5f1a0 fix 2026-07-28 16:27:36 +02:00
s.hensch 8c6f0bd9bb [FIX] ILS verschachtelte Blöcke mit _2D und _3D umbenannt, damit beim Umschalten zwischen 2d und 3d nicht die selbe Blockreferenz benutzt wird 2026-07-28 15:27:07 +02:00
s.hensch 2d6fab2aa9 [FIX] Koordinatensysteme Blocknamen vereinheitlicht bzw korrigiert: KSYS_EIN->KS_EIN, KSYS_AUS->KS_AUS 2026-07-28 12:05:09 +02:00
s.hensch c2e3e5ec16 [FIX] ILS dwg Blöcke bereinigt, unbenutzte Blockreferenzen und Layer entfernt 2026-07-28 11:49:24 +02:00
m.stangl b27744009f Die Erzeugung von Geraden benötigt diese Files. Habe sie wieder aus der Historie geholt 2026-07-28 11:01:32 +02:00
s.hensch 3e459e009b [MERGE] Merge für 30 Grad AE / EE 2026-07-27 11:05:11 +02:00
s.hensch 8f64e24ca2 [FIX] Attribute der ILS Blöcke für 2d und 3d vereinheitlicht 2026-07-27 09:57:10 +02:00
y.wang 446c9b08a2 KS_AUS Geometrie von AS_Element und ES_Element korrigiert. 2026-07-27 09:15:50 +02:00