Warum man beim FEM Plattenprogramm den Zoom-Ausschnitt nicht per Scrollbar verschieben kann


Thomas Wölfer
Thomas Wölfer

07. Mai 2004


... und wie das beim Faltwerk und anderen zukünftigen Programmen sein wird.

Die kurze Erklärung: Der zuständige Entwickler hat lange gebraucht um das Problem zu verstehen.

Der lange Erklärung: Der zuständige Entwickler bin ich, und ich habe wirklich sehr lange daran rumgeknabbert. Dabei sieht die Sache eigentlich ganz einfach aus: Man hat einen Detail-Ausschnitt des Bauwerkes am Bildschirm und will nun den Teil sehen der rechts (links, oben oder unten) vom momentan angezeigten Detail liegt. Was wäre da einfacher, als eben den Scrollbar zu verschieben - und damit auch den angezeigten Ausschnitt des Tragwerkes am Bildschirm. Welcher Ausschnitt das ist, kann man dabei recht gut an der Position des Buttons innerhalb des Scrollbars ablesen.

So einfach ist das aber gar nicht. In Wirklichkeit ist es nämlich so, das es zwei völlig unterschiedliche Fälle gibt, die beim verschieben des Ausschnittes per Scrollbar eintreten können.

Der eine Fall ist tatsächlich der eben geschilderte: Dabei sieht man einen Teil des Bauwerkes und kann dann einen Ausschnitt in der momentanen Größe sozusagen über das Bauwerk bewegen: Dabei sieht man dann eben immer einen Teil der Konstruktion.

Der zweite Fall ist hingegen der, das das gesamte Bauwerk vollständig auf dem Bildschirm zu sehen ist.

Nun könnte man argumentieren das man in diesem Fall ja gar keine Scrollbars braucht - schliesslich gibt es nichts zu verschieben: Es ist ja alles sichtbar.

Das stimmt aber nicht. Woher sollte die Software denn wissen was 'alles' ist? Angenommen, es ist am Bildschirm nur ein einzelner Träger sichtbar weil bisher noch nicht mehr eingegeben wurde: Will man dann etwas nicht auch neben diesen Träger scrollen können? Und wenn ja - wie weit eigentlich?

Letztlich läuft das darauf hinaus, das man sich um das vorhandene Bauwerk eine Art Rand denken muss, und der muss groß genug sein um den Teil der Konstruktion der noch gar nicht eingegeben wurde aufnehmen zu können.

Mit anderen Worten: Die Software muss erraten wie groß das Bauwerk sein wird, wenn es fertig eingegeben wurde. Denn nur dann können auch die Scrollbars richtig positioniert werden.

Hinter die Lösung dieses Problems bin ich erst im letzten Jahr gekommen, als der Programmcode für die 3d-Ansichten beim Faltwerksprogramm entstanden ist: Und dort (und in anderen kommenden Programmen) ist die Sache dann auch so gelöst: Ist nur ein Detail des Tragwerkes sichtbar, dann kann man innerhalb des Bauwerkes scrollen. Ist alles sichtbar, dann kann man das gesamte Bauwerk innerhalb eines deutlich größeren Bereiches bewegen. Bei der Gelegenheit hat sich sowieso eine Menge an der Logik getan, mit der man Zoom, Scrollen und die 3d-Ansichten einstellen kann: Doch dazu gibts ein anderes Mal mehr Informationen - jetzt muss ich erstmal wieder an die Arbeit. :-)