Thomas Woelfers Baustatik Blog

Baustatik-Software und was sonst des Weges kommt

So fasst man Element der Ausgabesteuerung zusammen

Mit der Ausgabesteuerung legt man in der Baustatik fest, welche Inhalte ausgedruckt werden sollen. Dabei kann man diese Inhalte auch grupperien - von Haus aus passiert das mit allen Tabellen deren Inhalt. Es ist aber auch möglich, eigene Gruppen anzulegen - zum Beispiel von Navigationspunkten. Solche Gruppen kann man dann komplett ein- oder ausschalten.

Dazu ist folgendes zu tun:

1.) Auf "Erweitert" klicken. Das öffnet den normalerweise nicht sichtbaren linken Bereich der Ausgabesteuerung.

2.) Dort das Symbol "Ordner" suchen. Das kann dann einmal mit der Maus in den rechten Bereich gezogen werden.

3.) Dort dann die Elemente in den Ordner ziehen, die man gruppieren will. Will man mehrere Gruppen anlegen, macht man das einfach mehrfach.

Punkte nach Dxf exportieren

In der Baustatik gibt es im Datei-Menü einen Befehl zum exportieren von Daten: Unter anderem kann man Zeichnungen nach Dxf exportieren. Dabei werden aber im wesentlichen die Kanten von Faltwerkselementen exportiert. Nun braucht man manchmal aber einfach alle Knoten - dafür gibt es aber keinen Befehl.

Weil ein Kunde das aber "auf die Schnelle" brauchte, habe ich heute ein kurzes Makro geschrieben, mit dem man alle Punkte eines Faltwerksdokumentes nach Dxf exportieren kann. Das Makro steht bereits zum download bereit und kann verwendet werden.

Dazu ist folgendes zu tun:

  • Optionen -> Makro -> Makro herunterladen
  • Das Makro "PunktNachDxf" auswählen und auf "Speichern" drücken
  • Dann das zu exportierende Dokument laden
  • Dann Optionen -> Makro -> Makro ausführen, "PunktNachDxf" auswählen, und "Ausführen" drücken
  • Das Makro fragt dann nach der Datei, in der die Dxf-Daten laden sollen und exportiert alle Knoten.
  • Am Ende kommt die Meldung"Fertig".

Wer mag, kann sich natürlich auch den Quelltext zum Makro ansehen. Das geht mit Optionen -> Makro bearbeiten.

Zum elastisch gebetteten Balken

Seit geraumer Zeit liefern wir einen elastisch gebetteten Balken als Teil der Baustatik aus. Wei der "alte" elastisch gebettete Balken (Xelb) auf veralteten Normen basiert, liefern wir diesen seit dem (vor)letzten Update nicht mehr mit aus. Nun will man aber vielleicht manchmal auch alte Dateien nachrechnen - was ein bisschen schwierig ist, wenn man das alten Programm gar nicht mehr hat.

Für solche Fälle habe ich hier einen Download zur Verfügung gestellt, mit dem man wieder an das "alte" Programm kommt, wenn man es benötigt.

xelb_alt.zip (1.39 MB)

Folgendes ist zu tun:

  • Download runterladen: Man bekommt eine .zip-Datei
  • Zip-Datei entpacken: Man bekommt "xelb.exe"
  • Programm nach \Programme\DIE\SYS kopieren
  • Irgendwo eine Verknüpfung zu diesem Programm anlegen

Über diese Verknüpfung kann es dann gestartet werden.

Fehler beim installieren: Error 1001

Beim installieren von Programmen die mit dem Microsoft Systems Installer (MSI) installiert werden, gibt es ein paar "generische" Fehlermeldungen. Das sind solche auf die der Hersteller der Software (zum Beispiel wir) keinen echten Einfluss haben und bei denen der Hersteller des Installers (Microsoft) nicht so recht weiss, was schief gegangen ist - aber es ist eben was schief gegangen.

Das äußert sich bei der Installation gern als "Error 1001" - mit variablen Fehlermeldungstexten. In allen Fällen die mir bisher über den Weg gelaufen sind, konnte man diesen "Error 1001" dadurch loswerden, indem man vor dem installieren eines Updates die vorliegende Version der installierten Software über die Systemsteuerung entfernt hat, und erst dann das Update installierte.

Lieber wäre es mir zu wissen, was diese Meldung eigentlich ursprünglich auslöst - aber mit dem einmaligen manuellen deinstallieren scheint man das zumindest los zu werden: Immerhin etwas.

Ein aktuelles Problem bei der Anzeige von Ergebnissen

Seit der letzten Version der Baustatik kann man Ergebnisse nicht nur in FE-Knotenpunkten sondern auch in einem Raster anzeigen lassen. Dabei gibt es ein Problem: Wenn man sich die Ergebnisse auf diese Weise anzeigen lässt, und dann die Platte von der Seite ansieht (so, das man eben nur eine Kante, aber keine Fläche sieht), dann bekommt man statt der Graphik eine Fehlermeldung. Wir haben das fürs nächste Update bereits beseitigt - bis dahin kann man sich damit behelfen, entweder diese Seitenansicht nicht anzuwerfen (in der man aber ohnehin nichts sehen kann) oder aber nicht die Raster-Ergebnisse zu verwenden.

Wie man Progamme aus der Taskleiste startet

Unter Windows 7 kann man Icons zum starten von Programmen relativ einfach in der Taskleiste unterbringen. Dazu klickt man einfach im Start-Menü auf das gewünschte Programm und wählt den Befehl "Pin to Taskbar". (Heist auf deutsch irgendwie anders, habe aber gerade nur ein englisches 7 laufen...).

Unter XP ist das ein bisschen komplizierter. Es gibt aber trotzdem 2 Wege das zu tun:

1.) Mit einem Icon in der Taskleiste

  • Rechtsklicke auf Tasksleiste -> Symbolleisten -> "Schnellstart" einschalten. Das macht die Schnellstart-Leiste sichtbar. Die enthält von Haus aus ein paar Icons (u.a. eines für den Internet Explorer) und befindet sich direkt rechts neben dem Start-Button.
  • Nochmals rechtsklick auf Taskleiste und ""Taskleiste fixieren" ausschalten. Dadurch kann man die Schnellstart-Leiste breiter machen. (Die bekommt dann "Anfasser" mit denen man die Größe verändern kann.)
  • Dann "Taskleiste fixieren" wieder einschalten. (Ansonsten verschiebt man die recht leicht irrtümlich mit der Maus)
  • Jetzt das gewünschte Programm suchen (Also die Datei aus "Program Files", nicht einen Link aus dem Start-Menü.) Das Programm zieht man dann mit der rechten Maustasten in den Bereich der Schnellstart-Leiste und lässt die Maus dann los. Es geht ein Menü auf, und man wählt "Verknüpfung hier anlegen".

2.) Als Menü in der Taskleiste

  • Dazu legt man zunächste einen Ordner an. Wo, ist egal. Der Name des Ordners wird später der Name des Menüs.
  • In diesem Ordner legt man Verknüpfungen zu allen Programmen an, die im Menü drin sein sollen.
  • Jetzt klickt man mit der rechten Maustaste auf die Taskleiste, wählt "Symbolleisten" und dann "Neue Symbolleiste". Es geht ein Fenster auf, in dem man einen Ordner auswählen kann. Man wählt den, in dem man die Verknüpfungen angelegt hat.

Mehrere Navigationspunkte bearbeiten

Beim bearbeiten von mehreren Navigationspunkte (in der Ausgabesteuerung) gleichzeitig, gab es bisher ein paar Probleme. Die sind ab dem nächsten Update alle weg:

  • Man kann das zugehörige Fenster (und die Bereiche darin) in der Größe verändern
  • Die Texte werden nicht mehr plötzlich englisch, sobald mehr als ein Navigationspunkt ausgewählt ist
  • Es gibt nun eine Mehrfach auswahl wie im Explorer (Also mit Shift und Strg)

Ein "Trick" für Javascript

Ich musste kürzlich ein bisschen was an unsere Online-Dokumentation ändern. Dabei bin ich über folgendes Problem gestossen: Im Event-Modell von Browsern gibt es innerhalb einer Fensters das "Onload" Ereignis: Das wird aufgerufen, wenn die Seite komplett geladen ist. Zu diesem Zeitpunkt kann man prima im DOM rumändern - zum Beispiel nachträglich irgendwelche Dinge einfügen, die während des normalen Ladens des Dokument die Anzeige verzögern würden.

Das Problem dabei ist, das man sich an verschiedenen Stellen an "document.onload" dranhängen will - das das aber eigentlich nicht möglich ist: Anders als in C# kann man nicht einfach "document.onload += function()" schreiben, denn nur die Zuweisung "=" ist zulässig. Die überschreibt aber vorher gesetzte Handler. Was es also braucht ist ein Mechanismus, mit dem man "onload" Handler verketten kann. Ein Lösung dafür sieht so aus:

  function X() { alert ("X"); }
  function Y() { alert ("Y"); }

  var _allOnload = new Array();
  function AddOnload(f)
  {
    if (window.onload)
    {
      if (window.onload != Onload)
      {
        _allOnload[0] = window.onload;
        window.onload = Onload;
      }
      _allOnload[_allOnload.length] = f;
    }
    else
    {
      window.onload = f;
    }
  }
 
  function Onload()
  {
    for (var i=0;i<_allOnload.length;i++)
    {
      _allOnload[i]();
    }
  } 
 
   AddOnload( X );
   AddOnload( Y );

Über die Lastfallfilter-Ansicht und das merken von Zuständen

Mit der Lastfallfilter-Ansicht kann man in der Baustatik festlegen, welche Lastfälle im aktuellen Fenster sichtbar sein sollen. Sind nur ein paar Lastfälle eingeschaltet, dann werden nur die Einwirkungen angezeigt, die sich in diesen Lastfällen befinden.

Wechselt man in ein anderes Fenster, dann kann man in diesem andere Lastfälle sichtbar machen. Letztend Endes hat man am Ende der Arbeit mehrere Fenster offen, in denen jeweils unterschiedliche Lastfälle angezeigt werden.

Beendet man die Baustatik und startet Sie später, dann lädt sie automatisch das letzte Projekt, und stellt dazu auch alle Fenster wieder her. Und in allen Fenstern sind dann auch die Lastfälle sichtbar, dort beim beenden sichtbar waren. Das ist schön.

Lädt man dann aber eine Datei für die kein Fenster geöffnet war, dann werden von dieser Datei alle Lastfälle angezeigt. Es stellt sich die Frage: Wieso ist das so, und warum bekommt man nicht die Lastfälle, die angezeigt wurden, als man das betroffene Dokument zuletzt geschlossen hat?

Kurze Antwort: Weil es dafür zur Zeit keinen Programmcode gibt (woran wir aber arbeiten.).

Lange Antwort: Im wesentlichen läuft es darauf hinaus, das der Mechanismus zum merken der Zustände über die Projektdatei läuft: Darin wird sich eben nicht nur gemerkt, welche Dokumente zum Projekt gehören, sondern eben auch, welche Dokumenten geöffnet waren. (Und auch die Position von deren Fenstern, sowie die Position und Größe des Hauptfensters.) Wäre das nicht so, dann könnten wir auch die Fensterzustände pro Projekt nicht wieder herstellen.

Und in diesen Fensterzuständen befinden sich eben auch die Informationen, welche Lastfälle sichtbar waren: Das muss so sein, denn würde man sich diese Sichtbarkeit nur pro Dokument (und nicht pro Fenster) merken, dann könnte man nicht mehrere Fenster mit unterschiedlichen Sichtbarkeiten merken (und wiederherstellen.).

Schließt man aber nun nicht die komplette Baustatik sondern nur das "letzte" Fenster eines Dokumentes, dann gibts darüber auch keine Informationen in der Projektdatei - es gibt ja schließlich kein Fenster mehr für dieses Dokument.

Wir werden versuchen das so zu erweitern, das für den Fall, das das letzte Fenster geschlossen wird, die Baustatik selbst aber nicht, zusätzliche Sichtbarkeitsinformationen gespeichert werden - die dann fürs Wiederherstellen der Sichtbarkeit von Lastfällen verwendet werden kann, wenn ein Dokument einfach über die Projektansicht geöffnet wird.