TCL Command ABRDESIGNROW

Syntax

array set ret [ABRDESIGNROW rowid SETCOL colname value]

array set ret [ABRDESIGNROW rowid GETPACKED]

array set ret [ABRDESIGNROW GETCOUNT]

set rowid [ABRDESIGNROW GETROWID ioff]

Beschreibung

Setzen des Ergebnisses für eine bestimmte Spalte in der spezifizierten Zeile.

Abfrage der Ergebnisse in der spezifizierten Zeile. Die Ergebnisse werden in der Reihenfolge der Ergebnisspalten zurückgegeben. Das vereinfacht die tabellarische Auswertung und Weiterverarbeitung. Die Reihenfolge der Ergebnisse ist in der Liste der Spalten (vgl. TCL Command ABRDESIGN, Liste der Ergebnisse) ersichtlich.

Die gesamte Tabelle der Nachweisergebnisse kann ebenfalls durchlaufen werden. Die Reihenfolge der Zeilen ist durch deren Position in der Tabelle und dem gesetzten SQL-PRIMARY-KEY bestimmt.

Argument

Dimension

Bedeutung

rowid

OBJID

Zeilen-ID; Diese ID kann mit Hilfe anderer Kommandos ermittelt werden (vgl. TCL Command ABRELEM, Nachweisergebnisse).

SETCOL

KEYWORD

Ergebnis einer Spalte setzen

GETPACKED

KEYWORD

Ergebnisse aller Spalten abfragen

colname

TEXT

Spaltenname des Ergebnisses

value

INT, FLOAT, TEXT

Wert des Ergebnisses; Werte der Typen "BLOB" oder "NULL" können nicht gesetzt werden.

GETCOUNT

KEYWORD

Abfrage der Anzahl Ergebniszeilen in der Tabelle

GETROWID

KEYWORD

Abfrage der Zeilen-ID bei gegebenem Offset

ioff

INT

Zeilen-Offset in der Tabelle gemäß SQL-PRIMARY-KEY

Rückgabefeld für [ABRDESIGNROW ... SETCOL ... ]

Feldargument

Dimension

Bedeutung

error

INT

Fehlerstatus

info

TEXT

Fehlerinformation

Rückgabefeld für [ABRDESIGNROW ... GETPACKED]

Feldargument

Dimension

Bedeutung

error

INT

Fehlerstatus

info

TEXT

Fehlerinformation

elem

INT

Elementnummer

node

INT

Knotennummer

resname

TEXT

Name des Ergebnisses

resset

TEXT

Name des Ergebnis-Sets

resgroup

TEXT

Name der Ergebnisgruppe

values

LIST

Liste der Ergebniswerte in der Reihenfolge der Spalten gemäß ; Spalten mit dem Wert NULL werden als Text "NULL" und Spalten mit dem Wert BLOB werden als Text "BLOB" zurückgegeben. Ergebnisse des Typs FLOAT werden im Format "%-.9g" in die Liste eingetragen.

Rückgabefeld für [ABRDESIGNROW GETCOUNT]

Feldargument

Dimension

Bedeutung

error

INT

Fehlerstatus

info

TEXT

Fehlerinformation

count

INT

Anzahl der Ergebniszeilen in der Tabelle

Rückgabe für [ABRDESIGNROW GETROWID ... ]

Return

Dimension

Bedeutung

rowid

OBJID

Zeilen-ID oder 0

Scopes

All

Beispiele

# insert row

array unset insret

array set insret [ABRELEM 111 INS DESIGN "Combination X" "Foreign" "" ATNODE 1]

# update a value

array unset updret

array set updret [ABRDESIGNROW $insret(id) SETCOL "XResult" 111.222]

Eine Ergebniszeile für Element 111 und Knoten 1 wird für ein fiktives Ergebnis "Combination X" hinzugefügt. Anschließend wird der Wert für die existierenden Spalte "XResult" gesetzt.

# output table results in a packed way (the output rows follow the sequence of rescols

set rescols [ABRDESIGN GET RESULTS]

set count [llength $rescols]

set head2 " "

set head3 " ---------------------------------------------------------------------------------------"

set format3 " %7s %4s %-13s %-13s %-13s"

set format4 " %13s"

set format5 $format3

set head1 [format $format3 "Element" "Node" "Result name" "Result set" "Result group"]

foreach colname $rescols {

array unset column

array set column [ABRDESIGN $colname GET]

append head1 [format $format4 $column(longname)]

append head2 [format $format4 $column(usymb)]

append head3 "--------------"

}

# get all rows for element 111

set rows [ABRELEM 111 GETROWID DESIGN]

set nrow [llength $rows]

for { set irow 0 } { $irow < $nrow } { incr irow } {

set rowID [lindex $rows $irow]

if { $rowID == 0 } { break }

array unset row

array set row [ABRDESIGNROW $rowID GETPACKED]

set outline [format $format5 $row(elem) $row(node) $row(resname) $row(resset) $row(resgroup)]

set nvalue [llength $row(values)]

foreach value $row(values) { append outline [format $format4 $value] }

puts $outfile $outline

}

Es wird angenommen, dass eine Textdatei outfile zum Schreiben geöffnet wurde. Die Ergebnisdaten werden formatiert in die Textdatei geschrieben. Hier werden alle Ergebnisse des Elements 111 abgefragt und ausgegeben. Die Ausgaben in der Textdatei sind projektabhängig und könnten wie folgt aussehen:

Element Node Result name Result set Result group ASuser ASmax Aswuser My result

[cm²] [cm²] [cm²/m] [kN/m²]

--------------------------------------------------------------------------------------------------------------

111 1 NULL NULL NULL NULL

111 1 Long-Bott Reinforcement 109.9 109.9 NULL NULL

111 1 Long-Top Reinforcement 0 0 NULL NULL

111 1 Long-WebL Reinforcement 0 0 NULL NULL

111 1 Long-WebR Reinforcement 0 0 NULL NULL

111 1 Shear-WebL Reinforcement NULL NULL 40.212386 NULL

111 1 Shear-WebR Reinforcement NULL NULL 40.212386 NULL

111 1 Torsion Reinforcement NULL NULL 26.8082573 NULL

111 1 Combination X Foreign NULL NULL NULL 111.222

111 2 NULL NULL NULL NULL

111 2 Long-Bott Reinforcement 109.9 109.9 NULL NULL

111 2 Long-Top Reinforcement 0 0 NULL NULL

111 2 Long-WebL Reinforcement 0 0 NULL NULL

111 2 Long-WebR Reinforcement 0 0 NULL NULL

111 2 Shear-WebL Reinforcement NULL NULL 40.212386 NULL

111 2 Shear-WebR Reinforcement NULL NULL 40.212386 NULL

111 2 Torsion Reinforcement NULL NULL 26.8082573 NULL

111 2 Combination X Foreign NULL NULL NULL 222.333

array set retval [ABRDESIGNROW GETCOUNT]

set count $retval(count)

puts $outfile ""

puts $outfile "---------------------------------------------"

puts $outfile "Number of design result rows in table: $count"

puts $outfile "---------------------------------------------"

puts $outfile ""

puts $outfile $head1

puts $outfile $head2

puts $outfile $head3

for { set irow 0 } { $irow < $count } { incr irow } {

set rowID [ABRDESIGNROW GETROWID $irow]

if { $rowID == 0 } { break }

array unset row

array set row [ABRDESIGNROW $rowID GETPACKED]

set outline [format $format5 $row(elem) $row(node) $row(resname) $row(resset) $row(resgroup)]

set nvalue [llength $row(values)]

foreach value $row(values) { append outline [format $format4 $value] }

puts $outfile $outline

}

Es wird angenommen, dass eine Textdatei outfile zum Schreiben geöffnet wurde. Die Kopfzeilen sind wir in obigem Beispiel gesetzt. Es erfolgt die tabellarische Ausgabe der Nachweisergebnisse aller Elemente in eine Textdatei, vergleiche auch obiges Beispiel.