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.
