TCL Command ABASECTION
Syntax
array set sect [ABASECTION sectid GET]
array set unit [ABASECTION sectid GET GET UNIT iunit]
array set unit [ABASECTION sectid GET GET UIDX uidx]
Beschreibung
Abfrage der Querschnittsdaten.
Abfrage der Teildaten im Querschnitts
|
Argument |
Dimension |
Bedeutung |
|
sectid |
OBJID |
Objekt-ID des Querschnitts |
|
GET |
KEYWORD |
Daten abfragen |
|
UNIT |
KEYWORD |
Daten des angegebenen Teils abfragen |
|
iunit |
INT |
Teilnummer > 0 |
|
UIDX |
KEYWORD |
Daten des angegebenen Teils abfragen |
|
uidx |
INT |
Index des Teils, 0-basiert |
Rückgabefeld für [ABASECTION sectid GET]
|
Feldargument |
Dimension |
Bedeutung |
|
error |
INT |
Fehlerstatus |
|
info |
TEXT |
Objekt- oder Fehlerinformation |
|
id |
OBJID |
Objekt-ID |
|
name |
TEXT |
Querschnittsname |
|
refname |
TEXT |
Referenzname als Rückbezug auf den Eingabequerschnitt |
|
variant |
TEXT |
Name der Variante |
|
number |
INT |
Querschnittsnummer |
|
zlmin |
LCROSSD |
Z-Minimum der umschließenden Box |
|
ylmin |
LCROSSD |
Y-Minimum der umschließenden Box |
|
zlmax |
LCROSSD |
Z-Maximum der umschließenden Box |
|
ylmax |
LCROSSD |
Y-Maximum der umschließenden Box |
|
nunit |
INT |
Anzahl der Teile im Querschnitt |
|
children |
LIST |
Liste der Teilnummern |
Rückgabefeld für [ABASECTION sectid GET UNIT iunit]
Rückgabefeld für [ABASECTION sectid GET UIDX uidx]
|
Feldargument |
Dimension |
Bedeutung |
|
error |
INT |
Fehlerstatus |
|
info |
TEXT |
Objekt- oder Fehlerinformation |
|
id |
OBJID |
Objekt-ID des Querschnitts |
|
number |
INT |
Teilnummer > 0 |
|
uidx |
INT |
Index des Teils, 0-basiert |
|
utype |
ENUM |
Typ des Teils aus {"NONE", "SBEAM", "SCOMP", "SNODE", "SLOAD", "SPRING"} |
|
zc |
LCROSSD |
Z-Koordinate des Schwerpunktes |
|
yc |
LCROSSD |
Y-Koordinate des Schwerpunktes |
|
z0 |
LCROSSD |
Z-Koordinate des Teilknotens |
|
y0 |
LCROSSD |
Y-Koordinate des Teilknotens |
|
bidx |
INT |
Index der Randlinie, 0-basiert |
|
aprinc |
ANGLED |
Hauptachsenrichtung (utype = "SBEAM" oder utype = "SCOMP") |
|
nchild |
LIST |
Anzahl der Teilstäbe eines Verbundstabes (utype = "SBEAM" oder utype = "SCOMP") |
|
childidx |
LIST |
Liste der Teilstäbe eines Verbundstabes, 0-basierte Liste von Indexes (utype = "SBEAM" oder utype = "SCOMP") |
|
Ax |
LCROSSD^2 |
Fläche |
|
Ay |
LCROSSD^2 |
Schubfläche in y (utype = "SBEAM" oder utype = "SCOMP") |
|
Az |
LCROSSD^2 |
Schubfläche in z (utype = "SBEAM" oder utype = "SCOMP") |
|
zs |
LCROSSD |
Z-Koordinate des Schubmittelpunktes (utype = "SBEAM" oder utype = "SCOMP") |
|
ys |
LCROSSD |
Y-Koordinate des Schubmittelpunktes (utype = "SBEAM" oder utype = "SCOMP") |
|
Uo |
LCROSSD |
Länge der äußeren Umrandung |
|
Ui |
LCROSSD |
Länge der inneren Umrandung |
|
zlmin |
LCROSSD |
Z-Minimum der umschließenden Box |
|
ylmin |
LCROSSD |
Y-Minimum der umschließenden Box |
|
zlmax |
LCROSSD |
Z-Maximum der umschließenden Box |
|
ylmax |
LCROSSD |
Y-Maximum der umschließenden Box |
|
I1 |
LCROSSD^4 |
Trägheitsmoment um die 1. Hauptachse (z) (utype = "SBEAM" oder utype = "SCOMP") |
|
I2 |
LCROSSD^4 |
Trägheitsmoment um die 2. Hauptachse (y) (utype = "SBEAM" oder utype = "SCOMP") |
|
It |
LCROSSD^2 |
Torsionsträgheitsmoment (utype = "SBEAM" oder utype = "SCOMP") |
|
Izz |
LCROSSD^4 |
Trägheitsmoment um Z (utype = "SBEAM" oder utype = "SCOMP") |
|
Iyy |
LCROSSD^4 |
Trägheitsmoment um Y (utype = "SBEAM" oder utype = "SCOMP") |
|
Iyz |
LCROSSD^4 |
Deviationsträgheitsmoment (utype = "SBEAM" oder utype = "SCOMP") |
|
Asl |
LCROSSD^2 |
Fläche (Mitwirkende Plattenbreite, utype = "SBEAM" oder utype = "SCOMP") |
|
zcsl |
LCROSSD |
Z-Koordinate des Schwerpunktes (Mitwirkende Plattenbreite, utype = "SBEAM" oder utype = "SCOMP") |
|
ycsl |
LCROSSD |
Y-Koordinate des Schwerpunktes (Mitwirkende Plattenbreite, utype = "SBEAM" oder utype = "SCOMP") |
|
Izzsl |
LCROSSD^4 |
Trägheitsmoment um Z (Mitwirkende Plattenbreite, utype = "SBEAM" oder utype = "SCOMP") |
|
Iyysl |
LCROSSD^4 |
Trägheitsmoment um Y (Mitwirkende Plattenbreite, utype = "SBEAM" oder utype = "SCOMP") |
Scopes
All
Beispiele
# units
array set uc [ABMUNIT LCROSSD GET]
array set uf [ABMUNIT FORCE GET]
array set um [ABMUNIT MOMENT GET]
array set ua [ABMUNIT ANGLED GET]
array set ut [ABMUNIT TEMP GET]
array set uc2 [ABMUNIT LCROSSD GET POWER 2]
array set uc4 [ABMUNIT LCROSSD GET POWER 4]
# list of sections
array set sects [ABASECTIONS GET LIST]
# section data
set ID $sects(first)
for { set isect 0 } { $isect < $sects(count) } { incr isect } {
if { $isect > 0 } { set ID [OBJNEXT $ID] }
array unset sect
array set sect [ABASECTION $ID GET]
puts $outfile ""
puts $outfile [format " Section Name : %s" $sect(name)]
puts $outfile [format " Reference : %s" $sect(refname)]
puts $outfile [format " Variant : %s" $sect(variant)]
puts $outfile [format " Global Number : %d" $sect(number)]
puts $outfile [format " Bounding Box, Min. : %8.3f%s %8.3f%s" $sect(zlmin) $uc(symb) $sect(ylmin) $uc(symb)]
puts $outfile [format " Bounding Box, Max. : %8.3f%s %8.3f%s" $sect(zlmax) $uc(symb) $sect(ylmax) $uc(symb)]
puts $outfile [format " Number of Units : %d" $sect(nunit)]
set text " Unit Numbers :"
for { set i 0 } { $i < $sect(nunit) } { incr i } {
set child [lindex $sect(children) $i]
append text [format " %2d" $child]
}
puts $outfile $text
for { set iu 0 } { $iu < $sect(nunit) } { incr iu } {
array unset unit
array set unit [ABASECTION $ID GET UIDX $iu]
puts $outfile ""
puts $outfile [format " Unit : %d" $unit(number)]
puts $outfile " -----------------------------------------------------------"
puts $outfile [format " Type : %s" $unit(utype) ]
puts $outfile [format " Index : %s" $unit(uidx) ]
puts $outfile [format " CoG : %8.3f%s %8.3f%s" $unit(zc) $uc(symb) $unit(yc) $uc(symb)]
puts $outfile [format " Origin : %8.3f%s %8.3f%s" $unit(z0) $uc(symb) $unit(y0) $uc(symb)]
puts $outfile [format " Boundary Index : %s" $unit(bidx)]
puts $outfile [format " Perimeter, out : %10.5f%s" $unit(Uo) $uc(symb)]
puts $outfile [format " Perimeter, in : %10.5f%s" $unit(Ui) $uc(symb)]
puts $outfile [format " Area : %10.5f%s" $unit(Ax) $uc2(symb)]
puts $outfile ""
puts $outfile [format " Bounding Box, Min. : %8.3f%s %8.3f%s" $unit(zlmin) $uc(symb) $unit(ylmin) $uc(symb)]
puts $outfile [format " Bounding Box, Max. : %8.3f%s %8.3f%s" $unit(zlmax) $uc(symb) $unit(ylmax) $uc(symb)]
if { $unit(utype) == "SBEAM" || $unit(utype) == "SCOMP" } {
puts $outfile ""
puts $outfile [format " Principal Axis : %10.6f%s" $unit(aprinc) $ua(symb)]
puts $outfile [format " Composite Children : %d" $unit(nchild)]
set text " Composite Index :"
for { set i 0 } { $i < $unit(nchild) } { incr i } {
set child [lindex $unit(childidx) $i]
append text [format " %2d" $child]
}
puts $outfile $text
puts $outfile [format " Area, shear y : %10.5f%s" $unit(Ay) $uc2(symb)]
puts $outfile [format " Area, shear z : %10.5f%s" $unit(Az) $uc2(symb)]
puts $outfile ""
puts $outfile [format " Shear center y : %10.5f%s" $unit(ys) $uc(symb)]
puts $outfile [format " Shear center z : %10.5f%s" $unit(zs) $uc(symb)]
puts $outfile ""
puts $outfile [format " Principal moment of inertia 2 - y : %10.5f%s" $unit(I2) $uc4(symb)]
puts $outfile [format " Principal moment of inertia 1 - z : %10.5f%s" $unit(I1) $uc4(symb)]
puts $outfile [format " Torsional moment : %10.5f%s" $unit(It) $uc4(symb)]
puts $outfile ""
puts $outfile [format " Moment of inertia Iyy : %10.5f%s" $unit(Iyy) $uc4(symb)]
puts $outfile [format " Moment of inertia Izz : %10.5f%s" $unit(Izz) $uc4(symb)]
puts $outfile [format " Moment of inertia Iyz : %10.5f%s" $unit(Iyz) $uc4(symb)]
puts $outfile ""
puts $outfile " Shear lag data"
puts $outfile [format " CoG y : %10.5f%s" $unit(ycsl) $uc(symb)]
puts $outfile [format " CoG z : %10.5f%s" $unit(zcsl) $uc(symb)]
puts $outfile [format " Area : %10.5f%s" $unit(Asl) $uc2(symb)]
puts $outfile [format " Iy : %10.5f%s" $unit(Iyysl) $uc4(symb)]
puts $outfile [format " Iz : %10.5f%s" $unit(Izzsl) $uc4(symb)]
}
}
puts $outfile " -----------------------------------------------------------------------------------------------------------------------------"
}
Die Liste der Querschnitte wird abgefragt. Die Liste wird in einer for-Schleife durchlaufen und die Daten des jeweiligen Querschnitts werden abgefragt.
Es wird angenommen, dass eine Textdatei outfile zum Schreiben geöffnet wurde. Die Ergebnisdaten werden formatiert in die Textdatei geschrieben.
Die Ausgaben sind projektabhängig und können zum Beispiel wie folgt aussehen:
....
Section Name : v001
Reference : MG-Box:v001
Variant : 5
Global Number : 5
Bounding Box, Min. : -7.416[m] -3.700[m]
Bounding Box, Max. : 7.400[m] 1.250[m]
Number of Units : 6
Unit Numbers : 1 2 4 6 3 5
Unit : 1
-----------------------------------------------------------
Type : SBEAM
Index : 0
CoG : -0.067[m] -1.419[m]
Origin : 0.000[m] 0.000[m]
Boundary Index : 0
Perimeter, out : 33.81138[m]
Perimeter, in : 16.43064[m]
Area : 10.69269[m²]
Bounding Box, Min. : -7.000[m] -3.700[m]
Bounding Box, Max. : 7.000[m] 0.175[m]
Principal Axis : -1.472721[deg]
Composite Children : 0
Composite Index :
Area, shear y : 4.58791[m²]
Area, shear z : 6.24368[m²]
Shear center y : -1.88884[m]
Shear center z : -0.06321[m]
Principal moment of inertia 2 - y : 115.55695[m**4]
Principal moment of inertia 1 - z : 20.46473[m**4]
Torsional moment : 38.83650[m**4]
Moment of inertia Iyy : 115.49414[m**4]
Moment of inertia Izz : 20.52755[m**4]
Moment of inertia Iyz : 2.44316[m**4]
Shear lag data
CoG y : -1.41927[m]
CoG z : -0.06680[m]
Area : 10.69269[m²]
Iy : 115.55695[m**4]
Iz : 20.46473[m**4]
Unit : 2
-----------------------------------------------------------
Type : SLOAD
Index : 1
CoG : 0.000[m] 0.040[m]
Origin : 0.000[m] 0.000[m]
Boundary Index : 6
Perimeter, out : 21.56672[m]
Perimeter, in : 0.00000[m]
Area : 0.85627[m²]
Bounding Box, Min. : -5.350[m] -0.125[m]
Bounding Box, Max. : 5.350[m] 0.214[m]
....
Ausgaben zu obiger Script.
