Syntax
array set eshape [ABAELEM elemid GET SHAPE]
array set eprop [ABAELEM elemid GET PROPERTY]
array set econstr [ABAELEM elemid GET CONSTRUCTION]
array set enode [ABAELEM elemid GET NODE k]
Description
Query the geometric data of an element.
Query the physical and other data of an element.
Query the construction data of an element.
Query the data of an element node.
Argument |
Dimension |
Meaning |
elemid |
OBJID |
Objekt-ID of element |
GET |
KEYWORD |
Query data |
SHAPE |
KEYWORD |
Query geometric data |
PROPERTY |
KEYWORD |
Query physical and other element properties |
CONSTRUCTION |
KEYWORD |
Query construction data |
NODE |
KEYWORD |
Query nodal data |
k |
INT |
Local node number, 1-based |
Return array for [ABAELEM elemid GET SHAPE]
Array item |
Dimension |
Meaning |
error |
INT |
Error code |
info |
TEXT |
Object or error information |
id |
OBJID |
Object-ID |
number |
INT |
Element number |
type |
ENUM |
Element type {"NULL", "BEAM_TIMOSHENKO", "BEAM_BERNOULLI", "SUPPORT", "SLINEAR", "VOLHEX8", "EXTTEND"} |
nn |
INT |
Number of nodes |
nc |
INT |
Number of coordinates |
coords |
LIST |
List of nodal coordinates {x1, y1, z1, x2, y2, z2, ...}; Number of entries: 3*nc |
Return array for [ABAELEM elemid GET PROPERTY]
Array item |
Dimension |
Meaning |
error |
INT |
Error code |
info |
TEXT |
Object or error information |
id |
OBJID |
Object-ID |
group |
INT |
Element number |
humidity |
% |
Humidity |
mat |
INT |
Material name |
matid |
INT |
Material-ID |
imat |
INT |
Material number |
tshrink |
INT |
Shrinkage time |
tmean |
TEMP |
Mean temperature |
bmode |
ENUM |
Definition of direction {"", "DECK", "PIER"} for beams and springs |
ap |
ANGLED |
Plan angle; bmode = "DECK" or bmode = "PIER" |
ae |
ANGLED |
Elevation angle; bmode = "DECK" or bmode = "PIER" |
phi |
ANGLED |
Definition angle about element axis; bmode = "DECK" or bmode = "PIER" |
phia |
ANGLED |
Calculated angle about element axis; bmode = "DECK" or bmode = "PIER" |
ybuckle |
LSTRUCTD |
Buckling length in y; only type = "BEAM_*" |
zbuckle |
LSTRUCTD |
Buckling length in z; only type = "BEAM_*" |
nchild |
INT |
Number of individual beams in composite; only type = "BEAM_*" |
children |
LIST |
Individual beams; only type = "BEAM_*" |
section1 |
TEXT |
Section name at beam begin; only type = "BEAM_*" |
section2 |
TEXT |
Section name at beam end; only type = "BEAM_*" |
section1ID |
OBJID |
Section-ID at beam begin; only type = "BEAM_*" |
section2ID |
OBJID |
Section-ID at beam end; only type = "BEAM_*" |
isection1 |
INT |
Section number at beam begin; only type = "BEAM_*" |
isection2 |
INT |
Section number at beam end; only type = "BEAM_*" |
unit1 |
INT |
Unit number in cross section at beam begin; only type = "BEAM_*" |
unit2 |
INT |
Unit number in cross section at beam end; only type = "BEAM_*" |
vy1 |
LIST |
Section direction in y at beam begin, normalized 3D-vector; only type = "BEAM_*" |
vz1 |
LIST |
Section direction in z at beam begin, normalized 3D-vector; only type = "BEAM_*" |
vy2 |
LIST |
Section direction in y at beam end, normalized 3D-vector; only type = "BEAM_*" |
vz2 |
LIST |
Section direction in z at beam end, normalized 3D-vector; only type = "BEAM_*" |
C |
LIST |
6 spring constants Cx, Cy, Cz (dimension FORCE/LSTRUCT), CMx, CMy, CMz (dimension MOMENT/ANGLE); only for springs |
diam |
LSTRUCTD |
Diameter of external tendon; type = "EXTTEND" |
area |
ASTRAND |
Section area of external tendon; type = "EXTTEND" |
itend |
INT |
Number of external tendon; type = "EXTTEND" |
Return array for [ABAELEM elemid GET CONSTRUCTION]
Array item |
Dimension |
Meaning |
error |
INT |
Error code |
info |
TEXT |
Object or error information |
id |
OBJID |
Object-ID |
cast |
ENUM |
Construction type {"", "CIP_FWORK", "CIP_MSS", "CIP_FCM", "DIFFERENT", "PBM_FULLSPAN", "PBM_SBSFWORK", "PBM_SBSCRANE", "PSM_SBSGANTR", "PSM_SBSFSHOR", "PSM_BCLGANTR", "PSM_BCLLIFTF", "PSM_BCLCRANE"}; siehe TCL Command CASTTYPE |
ifc |
TEXT |
IFC-type |
dbirth |
INT |
“Birthday” of element; The concrete beam is poured. |
dact |
INT |
Activation day of the element; The element becomes a part of sthe structure. |
ddeath |
INT |
A temporary element is deactivated. |
ref1 |
TEXT |
Reference text (e.g. position of element begin at member) |
ref2 |
TEXT |
Reference text (e.g. position of element end at member) |
Return array for [ABAELEM elemid GET NODE k]
Array item |
Dimension |
Meaning |
error |
INT |
Error code |
info |
TEXT |
Object or error information |
id |
OBJID |
Object-ID |
number |
INT |
Global node number |
ex |
TEXT |
X-eccentric distance to global node (X(k) = x - ex) |
ey |
LSTRUCTD |
Y-eccentric distance to global node (Y(k) = y - ey) |
ez |
LSTRUCTD |
Z-eccentric distance to global node (Z(k) = z - ez) |
x |
LSTRUCTD |
Global X-coordinate |
y |
LSTRUCTD |
Global Y-coordinate |
z |
LSTRUCTD |
Global Z-coordinate |
Scopes
All
Examples
# units
array set ul [ABMUNIT LSTRUCT GET]
array set ua [ABMUNIT ANGLED GET]
array set ut [ABMUNIT TEMP GET]
puts $outfile ""
puts $outfile " ------------------------"
puts $outfile " Angles in $ua(symb)"
puts $outfile " Coordinates in $ul(symb)"
puts $outfile " Temperature in $ut(symb)"
puts $outfile " ------------------------"
puts $outfile ""
puts $outfile " Element Type Nodes NC Coordinates"
puts $outfile " Material MatID Group Tshrink Tmean Humidity Mode Alpha-p Alpha-e Phi Phi-A"
puts $outfile " Section1 U1 Section2 U2 Composite units"
puts $outfile " vy1-x vy1-y vy1-z vz1-x vz1-y vz1-z vy1-x vy1-y vy1-z vz1-x vz1-y vz1-z"
puts $outfile " yBuckle zBuckle"
puts $outfile " Cx Cy Cz CMx CMy CMz"
puts $outfile " Cast-Type IFC Birth Active Death Reference1 Reference2"
puts $outfile " -----------------------------------------------------------------------------------------------------------------------------"
set format1 " %7d %-16s %5d %2d %s"
set format2a " %-24s %7d %-16s %8.1f %8.2f %8.2f"
set format2b " %-24s %7d %-16s %8.1f %8.2f %8.2f %4s %8.3f %8.3f %8.3f %8.3f"
set format3a " %12.5e %12.5e %12.5e %12.5e %12.5e %12.5e"
set format3b " %-24s %3d %-24s %3d %s"
set format3c " %6.3f %6.3f %6.3f %6.3f %6.3f %6.3f %6.3f %6.3f %6.3f %6.3f %6.3f %6.3f"
set format3d " %8.3f %8.3f"
set format4 " %-16s %-24s %8d %8d %8d %-24s %-24s"
# list of elements
array set elems [ABAELEMS GET LIST]
# element data
set ID $elems(first)
for { set ielem 0 } { $ielem < $elems(count) } { incr ielem } {
if { $ielem > 0 } { set ID [OBJNEXT $ID] }
array unset eshape
array set eshape [ABAELEM $ID GET SHAPE]
set coords ""
set k 0
for { set ic 0 } { $ic < $eshape(nc) } { incr ic } {
set x [lindex $eshape(coords) $k]
incr k
set y [lindex $eshape(coords) $k]
incr k
set z [lindex $eshape(coords) $k]
incr k
lappend coords [format "%10.3f %10.3f %10.3f" $x $y $z]
}
puts $outfile [format $format1 $eshape(number) $eshape(type) \
$eshape(nn) $eshape(nc) $coords]
array unset eprop
array set eprop [ABAELEM $ID GET PROPERTY]
if { $eprop(bmode) == "" } {
puts $outfile [format $format2a $eprop(mat) $eprop(matid) $eprop(group) \
$eprop(tshrink) $eprop(tmean) $eprop(humidity)]
} else {
puts $outfile [format $format2b $eprop(mat) $eprop(matid) $eprop(group) \
$eprop(tshrink) $eprop(tmean) $eprop(humidity) \
$eprop(bmode) $eprop(ap) $eprop(ae) \
$eprop(phi) $eprop(phia)]
}
if { $eshape(type) == "SUPPORT" || $eshape(type) == "SLINEAR" } {
puts $outfile " "
puts $outfile " "
puts $outfile " "
set Cx [lindex $eprop(C) 0]
set Cy [lindex $eprop(C) 1]
set Cz [lindex $eprop(C) 2]
set CMx [lindex $eprop(C) 3]
set CMy [lindex $eprop(C) 4]
set CMz [lindex $eprop(C) 5]
puts $outfile [format $format3a $Cx $Cy $Cz $CMx $CMy $CMz]
}
if { [string first "BEAM" $eshape(type)] == 0 } {
# composite
if { $eprop(nchild) > 0 } {
set children $eprop(children)
} else {
set children ""
}
puts $outfile [format $format3b $eprop(section1) $eprop(unit1) \
$eprop(section2) $eprop(unit2) $children]
set vy1x [lindex $eprop(vy1) 0]
set vy1y [lindex $eprop(vy1) 1]
set vy1z [lindex $eprop(vy1) 2]
set vz1x [lindex $eprop(vz1) 0]
set vz1y [lindex $eprop(vz1) 1]
set vz1z [lindex $eprop(vz1) 2]
set vy2x [lindex $eprop(vy2) 0]
set vy2y [lindex $eprop(vy2) 1]
set vy2z [lindex $eprop(vy2) 2]
set vz2x [lindex $eprop(vz2) 0]
set vz2y [lindex $eprop(vz2) 1]
set vz2z [lindex $eprop(vz2) 2]
puts $outfile [format $format3c $vy1x $vy1y $vy1z $vz1x $vz1y $vz1z $vy2x $vy2y $vy2z $vz2x $vz2y $vz2z]
puts $outfile [format $format3d $eprop(ybuckle) $eprop(zbuckle)]
puts $outfile " "
}
array unset econstr
array set econstr [ABAELEM $ID GET CONSTRUCTION]
puts $outfile [format $format4 $econstr(cast) $econstr(ifc) \
$econstr(dbirth) $econstr(dact) \
$econstr(ddeath) $econstr(ref1) $econstr(ref2)]
puts $outfile " -----------------------------------------------------------------------------------------------------------------------------"
}
It is assumed that a text file outfile has been opened for writing . The structure elements are run through and the element data is written formatted to the text file.
The output is project-dependent and can look like the following, for example:
------------------------
Angles in [deg]
Coordinates in [m]
Temperature in [°C]
------------------------
Element Type Nodes NC Coordinates
Material MatID Group Tshrink Tmean Humidity Mode Alpha-p Alpha-e Phi Phi-A
Section1 U1 Section2 U2 Composite units
vy1-x vy1-y vy1-z vz1-x vz1-y vz1-z vy1-x vy1-y vy1-z vz1-x vz1-y vz1-z
yBuckle zBuckle
Cx Cy Cz CMx CMy CMz
Cast-Type IFC Birth Active Death Reference1 Reference2
-----------------------------------------------------------------------------------------------------------------------------
101 BEAM_BERNOULLI 2 2 { 0.000 -1.419 -0.067} { 5.000 -1.342 -0.067}
EN:C40/50 6727 MG 0.0 20.00 75.00 DECK 0.000 0.881 0.000 1.473
MG-Box:v001:1 1 MG-Box:v002:1 1
0.000 1.000 0.000 0.000 0.000 1.000 0.000 1.000 0.000 0.000 0.000 1.000
0.000 0.000
IfcBeam:BEAM 36 49 2000000 MG-Box:0.00000[m]:1 MG-Box:0.00000[m]:1
-----------------------------------------------------------------------------------------------------------------------------
102 BEAM_BERNOULLI 2 2 { 5.000 -1.342 -0.067} { 10.000 -1.265 -0.067}
EN:C40/50 6727 MG 0.0 20.00 75.00 DECK 0.000 0.881 0.000 1.473
MG-Box:v002:1 1 MG-Box:v003:1 1
0.000 1.000 0.000 0.000 0.000 1.000 0.000 1.000 0.000 0.000 0.000 1.000
0.000 0.000
-----------------------------------------------------------------------------------------------------------------------------
......
-----------------------------------------------------------------------------------------------------------------------------
1100 SUPPORT 1 1 { 0.000 -3.700 0.000}
0 0.0 0.00 0.00 PIER 0.000 90.000 0.000 0.000
1.00000e+08 1.00000e+08 1.00000e+08 1.00000e+08 1.00000e+08 1.00000e+08
49 49 2000000 Abut1(C) -> 0
-----------------------------------------------------------------------------------------------------------------------------
1101 SLINEAR 2 1 { 0.000 -3.700 -2.743}
0 0.0 0.00 0.00 PIER 0.000 90.000 0.000 0.000
1.00000e+08 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
49 49 2000000 Abut1(C) Abut1 -> MG-Box:0.00000[m]:1
-----------------------------------------------------------------------------------------------------------------------------
.....
Output for script above.
# element-node data
puts $outfile ""
puts $outfile " Element Type Node Number X Y Z EX EY EZ"
puts $outfile " ------------------------------------------------------------------------------------------------------------"
set format5a " %7d %-16s %4d %6d %12.5f %12.5f %12.5f %10.5f %10.5f %10.5f"
set format5b " %4d %6d %12.5f %12.5f %12.5f %10.5f %10.5f %10.5f"
set ID $elems(first)
for { set ielem 0 } { $ielem < $elems(count) } { incr ielem } {
if { $ielem > 0 } { set ID [OBJNEXT $ID] }
array unset eshape
array set eshape [ABAELEM $ID GET SHAPE]
set nn $eshape(nn)
for { set k 1 } { $k <= $nn } { incr k } {
array unset enode
array set enode [ABAELEM $ID GET NODE $k]
if { $k == 1 } {
puts $outfile [format $format5a $eshape(number) $eshape(type) $k \
$enode(number) $enode(x) $enode(y) $enode(z) \
$enode(ex) $enode(ey) $enode(ez)]
} else {
puts $outfile [format $format5b $k \
$enode(number) $enode(x) $enode(y) $enode(z) \
$enode(ex) $enode(ey) $enode(ez)]
}
}
}
It is assumed that a text file outfile has been opened for writing . The structure elements are run through and the element data is written formatted to the text file.
The output is project-dependent and can look like the following, for example:
Element Type Node Number X Y Z EX EY EZ
------------------------------------------------------------------------------------------------------------
101 BEAM_BERNOULLI 1 101 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
2 102 5.00000 0.07692 0.00000 0.00000 0.00000 0.00000
102 BEAM_BERNOULLI 1 102 5.00000 0.07692 0.00000 0.00000 0.00000 0.00000
2 103 10.00000 0.15385 0.00000 0.00000 0.00000 0.00000
103 BEAM_BERNOULLI 1 103 10.00000 0.15385 0.00000 0.00000 0.00000 0.00000
2 104 15.00000 0.23077 0.00000 0.00000 0.00000 0.00000
104 BEAM_BERNOULLI 1 104 15.00000 0.23077 0.00000 0.00000 0.00000 0.00000
2 105 20.00000 0.30769 0.00160 0.00000 0.00000 0.00000
.....
Output for script above.
|
(C) ALLPLAN GmbH |
Privacy policy |