Neue Updates verfügbar

30. September 2010 20:18

Ab sofort sind neue Updates verfügbar: Es gibt das (monatlich) Update für die Baustatik, sowie Updates für Xrst, Xpla, Xscheibe, Xest, Xros, Xvos und Xwin. Die Details stehen wie immer im Update-Protokoll im Download-Bereich.

Hier ein kurzer Einblick in die wichtigsten neuen Funktionen der Baustatik:

Kleine Statistik zur Baustatik

30. September 2010 17:15

Weil ich gerade eine neue Version baue, habe ich mal wieder in unser Revision-Control System geschaut. Der aktuelle Stand des Quellcodes zur Baustatik sieht so aus:

Versionen: 47357
Anzahl Dateien: 17492 (und ca. 4000 gelöschte)
Anzahl Ordner: 2206 (und ca. 200 gelöschte)

Das ganze braucht (im nicht übersetzten Zustand) etwas über 1.1 GB auf der Platte des Build-Servers.

Zum Ausdruck von Stabergebnissen

29. September 2010 13:12

In der Baustatik kann man über die Ausgabesteuerung festlegen, was und wie gedruckt werden soll. Bei Ergebnissen für Stäbe konnte man da bisher unter anderem einstellen, ob alle Ntels-Punkte ausgegeben werden sollen, oder nur Stellen mit Maximalwerten.

Ab dem nächsten Update gibt es zusätzlich noch eine Option “Ergebnisse am Stabanfang und Stabende”. Diese Option wirkt gleichzeitig mit der für Maximalwerte: Schaltet man beide ein, dann bekommt man die Ergebnisse an den beiden Enden des Stabes, sowie die Ergebnisse in Ntelspunkten mit Maximalwerten. (Wenn die identisch sind, wir das natürlich nur einmal ausgegeben.)

image

Über den Unterschied von automatischen und manuellen Updates

29. September 2010 10:07

Für unsere Baustatik-Software gibt es einen monatlichen Update-Zyklus. Jeweils zum Anfang eines neuen Monats gibt es dabei eine neue Version der Programme mit einer Liste der Änderungen und Neuerungen.

Wenn man die “automatischen” Updates in der Programm-Optionen eingeschaltet hat (und das ist von Haus aus der Fall), dann untersucht die Software bei jedem Programmstart, ob eine neuere Version verfügbar ist. Ist das der Fall, dann meldet sich das Programm und zeigt ein Fenster an, mit dem man diese Version herunterladen kann.

Außerdem veröffentlichen wir bei jeder neuen Version einen Eintrag im RSS-Feed für Updates und versenden auch eine Benachrichtigungs-Email an alle Teilnehmer unserer Mailing-Liste. Wenn man auf den Feed oder die EMail reagiert, kann man sich im Download-Bereich unseres Webservers anmelden, und von dort das Update runterladen und installieren.

Die automatisch heruntergeladene Datei und die manuell heruntergeladene Datei unterscheiden sich allerdings.

Warum ist das so, und welche Konsequenzen hat das ?

Die Baustatik besteht im Wesentlichen aus zwei Teilen: Der eine Teil ist das eigentliche Programm, das sich monatlich ändert, der andere Teil besteht aus Laufzeitbibliotheken, die zu den von uns verwendeten Werkzeugen gehören – zum Beispiel die Microsoft C++ Runtime-Library. Dieser zweite Teil ändert sich also nur, wenn wir neue Werkzeuge einsetzen, und das passiert eigentlich immer nur dann, wenn es eine neue Compiler-Version gibt. Das passiert so ungefähr einmal alle 2 Jahre.

Das “manuelle” Download enthält immer alle Teile, also auch die, die sich “eigentlich” nicht ändern. das ist darum so, damit sich niemand darüber Gedanken machen muss, ob irgendwelche Systemvoraussetzungen bereits installiert sind oder nicht. Der Nachteil davon ist, das das Download dadurch allerdings auch deutlich größer ist.

Das “automatische” Download kennt aber die bereits installierte Version der Baustatik (die schaut ja schließlich selbst nach), und darum bekommt man da entweder das Komplettpaket oder nur ein kleineres, in dem die Laufzeitbibliotheken nicht enthalten sind. Das ist schön, weil die Menge der herunterzuladenen Daten dadurch geringer wird, was die Sache beschleunigt.

Jetzt kommt das Problem: Auch das “automatische” Download ist letztlich nur eine Datei, die an der Stelle auf dem eigenen Rechner liegt, an die man sie kopiert hat. Wenn man nun einen neuen Rechner installiert, und dann dort das “automatische” Update installiert – in der Ansicht, da wären ja “alle” neuesten Teile drin – dann kann man die Programme danach nicht starten. Grund: Die Systemvoraussetzungen fehlen, denn die sind ja im “automatischen” Download nicht drin.

Lange Rede kurzer Sinn: Wenn man die Baustatik auf einem neuen Rechner installieren will, dann muss man das mit dem “manuellen” Download (oder von CD) tun, sonst gehts nicht.

Kommende Attraktionen

28. September 2010 18:42

Ab dem nächsten Update der Baustatik gibt es in den Ansichten (und der Draufsicht) ein zusätzliches Lineal:

image

Kann man natürlich auch mit ausdrucken…

Außerdem: Man kann dann die auszudruckenden Elemente besser einschränken:

image

In der Spalte, in der man per Komma getrennt die Namen der auszudruckenden Elemente eingibt, kann in jedem Komma-getrennten Feld folgendes eingegeben werden:

  • Ein Name eines Objektes (das ist das Objekt, das mit ausgedruckt wird)
  • Ein einleitender Text, gefolgt vom Zeichen ‘*’: Dabei werden alle Elemente ausgedruckt, deren Namen mit dem einleitenden Text beginnen.
  • Ein Bereich, also zum Beispiel 1-500: Dabei werden alle Objekte ausgedruckt, deren Namen in den angegebenen Bereich passen. (Die Namen der Objekte müssen dazu natürlich Zahlen sein.)

Ergebnisse für nur einen Teil der Struktur anzeigen

27. September 2010 20:39

Besonders bei großen Strukturen wird die graphische Anzeige der Berechnungsergebnisse schnell etwas unübersichtlich. Aus diesem Grund kann man die Anzeige einschränken. Dafür gibt es zwei Methoden. Zum einen kann man jedem Objekt ein “Darstellungsobjekt” zuordnen, und darüber steuern, ob die Ergebnisse angezeigt werden oder nicht.

Die zweite Möglichkeit besteht darin, ein Fenster zu öffnen, in dem nur noch die Elemente angezeigt werden, für die man Ergebnisse sehen möchte. Dazu wählt man zunächst die gewünschten Elemente aus und klickt dann mit der rechten Maustaste auf die Auswahl. Es öffnet sich dann ein Objektmenü, und das enthält einen Befehl, mit dem man ein Fenster öffnen kann, das nur noch die ausgewählten Objekte enthält.

image

Im neuen Fenster kann man dann einfach das Ergebnis auswählen, das angezeigt werden soll.

(Tipp: Wenn man davon dann einen Navigationspunkt anlegt, kann man das Fenster zu einem späteren Zeitpunkt auch wieder herstellen.)

Baustatik startet schneller

24. September 2010 15:43

Aufgrund einiger Umbauarbeiten in der Baustatik startet das Programm ab dem nächsten Update deutlich schneller. Die aktuelle Version braucht (auch meinem Rechner) etwa 4 Sekunden bis sie vollständig geladen ist. Ab dem nächsten Update sind es noch etwa 2 Sekunden – und damit liegt die Startzeit der Baustatik in gleichen Rahmen wie Xrst oder Xpla.

Tatsächlich glaube ich, das wir das noch ein bisschen schneller hinbekommen werden, aber das braucht noch ein paar weitergehende Untersuchungen: Nachdem es nun aber nur noch um Sekundenbruchteile geht, ist das nicht wirklich besonders weit oben in der Todo-Liste…

Unterhaltung fürs Wochenende

24. September 2010 11:11

Ergebnisse in festem Raster anzeigen

22. September 2010 19:01

Die Baustatik kann die Ergebnisse in verschiedenen unterschiedlichen Arten darstellen. Eine Darstellungsform ist die Darstellung als Zahlenfeld. Wo die Zahlen im Zahlenfeld stehen, ist von einer bestimmten Einstellung abhängig. Von Haus aus werden die Ergebnisse in FE-Knoten angezeigt.

image

Mit dieser Option sieht die Graphik dann beispielsweise so aus:

image

Nun kann man statt dessen auch eine Darstellung im Ergebnis-Raster auswählen:

image

Danach sind die Darstellung zunächst wie folgt aus:

image

Das sind natürlich ein bisschen wenig Zahlen. Der Grund dafür besteht darin, das noch keine Abmessungen für das Raster angegeben wurden. In diesem Fall verwendet das Programm ein Raster mit einer Kantenlänge von einem Meter.

Das kann man aber ändern: Man legt dazu ein Objekt vom Typ Ergebnisraster an, und legt dieses Raster als “Standard” fest:

image

Resultat:

image

So exportiert man ein Dach

21. September 2010 16:30

Man kann in der Baustatik übrigens auch Dächer “als Faltwerk speichern”. Dazu gibt es im Dach-Designer einen passenden Befehl:

image

Wenn man das tut, erhält man ein Faltwerks-Dokument mit allen benötigten Einwirkungen in den richtigen Lastfällen, sowie allen nichtlinearen Lastfallgruppen:
image

Mehr Lastweiterleitung in der Baustatik

20. September 2010 19:47

Ich hatte kürzlich über eine Erweiterung der Baustatik berichtet, die ab dem nächsten Update verfügbar sein wird. Folgendes hatte ich da nicht erwähnt (und zwar, weil es das letzte Woche noch nicht gab.)

  • Beim exportieren werden nicht nur die Ergebnisse für Einzellastfälle, sondern auch die aus Lastfallgruppen (mit Berechnung nach Theorie 1. und 2. Ordnung) exportiert.
  • Beim importieren können die Ziel-Lastfälle automatisch angelegt werden. Dabei sucht das Programm nach einem Lastfall mit dem gleichen Namen wie der, der angezeigt wird: Gibt es so einen Lastfall, dann wird der verwendet, ansonsten wird einer angelegt.
    image
  • Ist die Option für die automatische Vergabe der Ziellastfälle ausgeschaltet, dann erscheint im Auswahl-Fenster neben jedem Original-Lastfall eine Auswahlmöglichkeit für den gewünschten Ziellastfall. Man kann dann also selbst entscheiden, wo die neuen Einwirkungen landen.
    image
  • Und dann gibt es noch eine Möglichkeit die neuen Einwirkungen bezogen auf ihre alten Positionen zu verschieben.
    image

Lastweiterleitung in der Baustatik

18. September 2010 19:54

Ab der nächsten Version der Baustatik gibt es eine einfache Methode der Lastweiterleitung. Dabei können Einzel- und Streckenlagerreaktionen aus Einzellastfällen in einem Dokument als Einzel- und Streckeneinwirkungen in einem anderen Dokument aufgebracht werden. Das geht sowohl im Faltwerk als auch in der Platte und funktioniert so:

Zunächst wählt man im ersten Dokument den Befehl zum exportieren der Auflagerreaktionen.

image

Die Baustatik führt dann die Berechnung durch.  Wenn das  geht, dann gibt man eine Datei an, in die die Lagerkräfte exportiert werden sollen.

image

Das wars beim exportieren. (Bzw: man kann, wenn man in einem Gesamtgebäudemodell arbeitet, auch mehrere Stockwerke nacheinander exportieren.)

Jetzt wechselt man in das andere Dokument und wählt den Befehl zum importieren der Einwirkungen.

image

Dann wählt man die Datei aus, in der sich die exportierten Lagerreaktionen befinden. die Baustatik zeigt dann ein Fenster an, in dem alle Lastfälle angezeigt werden, die vorhanden sind. Daraus kann man einen oder mehrere auswählen. Für eine bessere Übersicht werden dann die Kräfte symbolisch in der Graphik angezeigt.

image

Mann kann also die Lastfälle auswählen, die man importieren möchte. Schließlich drückt man auf “Jetzt importieren”, und die Einwirkungen werden dann in den zugehörigen Lastfällen erzeugt. (Bei Bedarf werden die Lastfälle gleich mit angelegt.)

image

FileNotFoundException beim XmlSerializer

17. September 2010 16:56

Folgendes passiert: Man versucht Instanzen mit dem XmlSerializer zu serialisieren, bekommt aber im Konstruktor der Serializers eine FileNotFoundException. Was ist zu tun?

Dazu muss man zunächst mal wissen, das es im Wesentlichen zwei Methoden gibt, die Serialisierungs-Assemblies zu erzeugen:

  1. Zur Kompilierzeit, also beim bauen des Projektes
  2. Zur Laufzeit der Anwendung

Der erste Fall ist manchmal ganz gut dafür geeignet, die Ladezeit der Anwendung zu verkürzen: In diesem Fall ist die DLL aber garantiert da, denn wenn das nicht der Fall wäre, wäre bereits beim bauen der Anwendung ein Fehler aufgetreten.

Es geht also um den zweiten Fall. Da passiert folgendes: Der Konstruktor des XmlSerializers versucht zunächst eine passende Assembly zu finden (die hat den Namen der DLL, in der der zu serialisierende Typ steckt, plus die Erweiterung “Xmlserializer.dll”). Findet er die nicht, wird zur Laufzeit Code zum serialisieren erzeugt und übersetzt – und die daraus resultierende Assembly wird dann geladen und zum serialisieren eingesetzt.

Die FileNotFound Exception kommt dann, wenn das erzeugen der Serialisierungs-Assembly nicht geklappt hat. Dafür kann es jede Menge Gründe geben – nicht zuletzt Fehler in der Struktur der zu serialisierenden Klassen oder deren Auszeichnung.

Wie findet man nun das Problem? So:

  1. Einen (Visual Studio) Command-Prompt öffnen
  2. In das Verzeichnis wechseln, in der sich die Anwendung befindet
  3. “sgen NameDerAusgabgsDll.Dll /v” eingben

Sgen gibt dann eine im allgemeinen einfach verständliche Fehlermeldung aus: Korrigiert man den Fehler, ist man auch die FileNotFoundException los.

Unterhaltung fürs Wochenende

17. September 2010 12:19

Diesmal: Full Metal DisneyArthur C Clarke sagt 1964 die Zukunft voraus und Agent 008-Ball. (Der letzte Link wird wohl nur mit dem IE9 Beta funktionieren.)

Hübsch: Internet Explorer 9 (Beta)

15. September 2010 20:35

image

Ausprobieren? Gibts hier.

Wir wir die Performance verbessern

14. September 2010 15:00

Ich hatte in den letzten Tagen mehrfach darauf hingewiesen, das wir die Performance der Baustatik spürbar verbessert haben. Das ist natürlich schön – aber wie macht man das eigentlich ?

image

Es gibt verschiedene Möglichkeiten, aber im Wesentlichen läuft es darauf hinaus, das man die Zeit misst, die die einzelnen Funktionen des Programms brauchen. Dann sucht man die Funktion die am langsamsten ist und überlegt sich, ob die benötigte Zeit “angemessen” ist, oder nicht. Wenn nicht, hat man einen Kandidaten für die Optimierung. Die kann daraus bestehen, das man einfach nur den Code ein bisschen umstellt (hauptsächlich in Fällen, in denen Funktionen extrem oft aufgerufen werden), oder auch daraus, das man tatsächlich einen völlig neuen Algorithmus verwendet.

Das wichtige ist aber immer das Messen – vor allem auch das erneute Messen nach der Änderung: Die Dinge sollen ja nicht langsamer werden…

Damit man sowas messen kann, wird das Programm nicht direkt, sondern unter der Kontrolle eines anderen Programmes gestartet. Das kontrollierende Programm, das auch die Messungen durchführt, nennt man Profiler. Davon gibt es eine ganz Reihe – in unserem konkreten Fall haben wir das Programm GlowCode verwendet. (Das übrigens wirklich erstaunlich schnell ist, wenn ich dessen Performance mit anderen Profilern vergleiche, die ich ausprobiert habe.)

Letzten Endes ist es also ganz einfach: Messen, ändern, wieder messen: Wenn es dann schneller ist – prima, sonst zurück zum Anfang.

Auflagerkräfte in der Draufsicht

14. September 2010 13:16

Seit dem letzten Update der Baustatik gibt es eine neue Darstellungsart für Auflagerreaktionen in der Draufsicht. Das ganze sieht nun folgendermaßen aus:

image bzw. image

Zusätzliche neue Optionen dafür gibt es unter Optionen –> Ergebnisdarstellung.

image

Probleme beim Export in FEM-Dateien

13. September 2010 19:10

Die Baustatik kann berechnete Bewehrungsmengen in ein FEM-Datei exportieren. Diese kann von verschiedenen CAD-Systemen geladen werden – zum Beispiel von ISB-Cad.

In der aktuellen Version der Baustatik gibt es ein Problem das unter den “richtigen” Voraussetzungen dazu führt, das nicht die vollständigen As-Werte exportiert werden. Im CAD-System erscheinen dann andere Zahlen, als in der Baustatik.

Ab dem nächsten Update ist das aber behoben und es sollten dann immer die richtigen Daten übergeben werden.

Wie das Internet mein Leben vereinfacht

11. September 2010 18:51

Ich wollte in Kino, und der Film läuft im Mathäser. (Das ist so ein Multiplex-Kino in München.)… Mich schaudert es jedes Mal, wenn ich da Karten bestellen will. Denn das geht so:

Zunächst geht man auf die Startseite vom Kino. Da kann man das auswählen zwischen “home” (ok), “filmpalast” (versteh’ ich), “gastronomie” (naja) – und außerdem “shopping” (häh?), office (ahem…) und – tada: “healthcare”.

Also “healthcare” kommt schon mal nicht in Frage, es wird also auf “filmpalast” geklickt. Und man bekommt… – fast wie erwartet – keine Seite mit dem Kinoprogramm, sondern irgend so eine Art Feature-Seite für einen der aktuellen Filme. Aber nur für einen. Welche sonst laufen, wird hier erstmal nicht verraten.

Jetzt klickt man auf “Tickets online” und dann bekommt man tatsächlich ein Kinoprogramm. Man sucht den Film, den Saal und die Uhrzeit aus, klickt auf die Uhrzeit und bekommt – wieder eine Vorschaltseite. Diesmal zum wichtigen Thema “Tickets online”. Die enthält unter anderem den netten Satz:

Die Kontingente für Reservierungen können beschränkt sein! Sollten online keine Plätze mehr reservierbar sein, stehen in den meisten Fällen noch Tickets zum Online-Kauf, bzw. Kauf an unseren Kassen vor Ort zur Verfügung.

Klingt völlig schwachsinnig, ist es aber nicht, wenn man weiss (was ich aber immer vergesse), das das Reservierungssystem strikt zwischen Karten-Reservierungen und Karten-Kauf trennt. Ist aber nicht so wichtig, wichtiger ist folgendes: Man muss jetzt den richtigen Button finden. Hier eine kleine optische Hilfestellung: (Übrigens: Alle Bilder in meinem Blog kann man anklicken – dann bekommt man sie in der “echten” Größe, oder zumindest in “größer”.)

image

Zum reservieren muss man auf den grün markierten Kasten drücken. Die grüne Markierung ist übrigens von mir. Der Pfeil auch.

Links daneben ist ein ähnlicher Kasten, es bringt aber nix da drauf zu drücken, denn dann müsste man einen “CineCard” haben. Oder eine CineCard Premium. Hab ich aber beides nicht. Ich kenne auch niemanden der sowas hat – habe dafür aber bei praktisch jedem Besuch dieser Seite draufgeklickt, weil ich das immer vergesse und auch beim besten Willen nicht kapiere, warum es da zwei völlig unterschiedliche Bestellsysteme für braucht.

Aber, na gut. Geh’ ich halt aus dem “CineCard” Bereich wieder raus und klickt auf das andere Textfutzelchen.

Dann bekommt man das hier präsentiert:

image

Das hängt wohl damit zusammen, das man sich beim Kinobetreiber nicht so recht entscheiden konnte, welche Teile nun per HTTPS ausgeliefert werden sollten, und welche nur per HTTP. Kann ich auch mit leben. Man klickt also auf irgendeine der angebotenen Optionen (Sorry: Kann beim besten Willen nicht sagen ob das eine oder das andere das richtige ist.). Scheint aber egal zu sein, oder ich klicke immer zufälligerweise auf das “richtige”.

Dann bekommt man die folgende Seite:

image

Das ist eigentlich schön, denn man sieht, das man was in einem Kinocenter reserviert hat und nicht zufälligerweise bei der “Healthcare”. Und man kann auch sehen, welchen Film man ausgesucht hat. Außerdem kann man die Anzahl an Karten auswählen, die man haben will. Supi.

Und dann hört es bei mir immer irgendwie auf, denn jetzt muss man sich anmelden. Kein Witz: Um in diesem  Kino eine Karte kaufen zu können, braucht man einen Mitglieder-Account. Ich habe mehrere, weil ich die Zugangsdaten immer vergessen – und darum meine alten Accounts “gesperrt” sind -  und darum jedes Mal einen neuen anlege. Ungelogen: Weil man das Passwort für einen völlig sinnfreien Account nicht kennt, kann man da keine Karten kaufen.

Das äußert sich dann so:

image

Unterschied nicht gesehen? Dann nochmal ganz genau hinsehen…:

image 

Also schön: Wieder mal ein neuer Account fällig. Und da muss man dann folgendes angeben:

image

Mal im Ernst: Ich möchte eine Kinokarte kaufen, und dafür muss ich unter anderem folgendes angeben:

  • Eine Anrede (Ist allen ernstes ein Zwangsfeld)
  • Meinen Vornamen (Bin aber am Kinoeingang noch nie geprüft worden, ob ich wirklich “Peter” heiße. Bin schon gespannt wann die rauskriegen, das das gelogen war…)
  • Meinen Nachnamen (Ich habe nachgesehen: Die Karten sind nicht personalisiert. Steht mein Name gar nicht drauf.)
  • Mein Geburtsdatum (!)
  • Sowie die volle Anschrift mit Straße, Hausnummer, Ort und PLZ.

Wofür zum Teufel brauchen die eine Anschrift um mir eine Kinokarte zu verkaufen? Wenn man da einfach zur Kasse geht, gehts auch ohne. Hab ich schon ausprobiert.

Achso, fast vergessen: Man muss sich auch mit den Allgemeinen Geschäftsbedingungen einverstanden erklären.

image

Das Leben ist echt so viel einfacher, wenn man die tägliche Kleinarbeit mit Hilfe des Internet machen kann. Das macht alles irgendwie soviel einfacher.

Performance-Verbesserungen

10. September 2010 13:05

Ich habe die letzten paar Tage mit dem Quellcode der Baustatik, einem Profiler und einigen Testsystemen verbracht. Ein Profiler ist ein Software-Entwicklungswerkzeug, mit dem man die Ausführungszeiten eines Programms messen kann: Es ist damit möglich herauszufinden, welche Funktionen besonders lange brauchen. Man findet also quasi die Bremsen im Programm.

Die Untersuchungen haben sich gelohnt und ich habe ein paar Dinge verbessert. Das Tragwerkssystem, mit dessen Hilfe ich vor ein paar Tagen die Nützlichkeit von Mehrkern-Systemen beschrieben hatte, und das im schnellsten Fall circa 21. Sekunden für die Bemessung benötigte, braucht jetzt noch 11 Sekunden. (Bei mehr als 1800 Stäben und circa 3000 Einwirkungen in 12 Lastfällen.)

Ich bin mir ziemlich sicher, das das noch schneller zu machen wäre: Aber irgendwann muss auch die Winkelstützmauer mal wieder in Angriff genommen werden….

Kalender

<<  Februar 2012  >>
MoDiMiDoFrSaSo
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

View posts in large calendar