TCL Command ABAELEM

Inhalt

Index

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.



Allplan

(C) ALLPLAN GmbH

Privacy policy