Professional Documents
Culture Documents
Abstract: Some experience and advice have been shared when developing STAADs post-progress program, and
the efficiency of two plans to store and search the data have been compared in this article.
STAAD
Key Words
Words STAAD, Post-processor,Hast Table, CMap
STAAD/PROGTSTRUDLSAP2000
STAAD
STAAD
EXCEL EXCEL VBA
GTSTRUDL STAAD/PRO
1.,2.
EXCEL
GTSTRUDL STAAD/PRO
STAAD
STAAD
STAAD 1. openSTAAD 2.
STAAD
STAAD
( std)( anl)
BETA
STAAD
*.std
BETA
*.anl
STAAD
STAAD
STAAD
1.
2.
3. *
4. JOINT JOINT COORDINATES
COORDINATESJoi COo
5.
MEMB TRUSSBETA
6.
7.
PRINT MEMBER FORCESPRINT ANALYSIS RESULTS
PRINT (JOINT)
DISPLACEMENTS IZ,IY
PRI MEM PROPPRI ALL
8. TOBY
PRINT MEMBER FORCES LIST 10 15 to 181015
161718 5
9. MEMBER RELEASE
*** START MY MZ*** END MY
MZ
1 CString:: MakeUpper()
2 CString:: TrimLeft()
3 4 CString::Find();
6 CStdioFile GetPosition()
Seek 57
a.
STAAD
*.anl
b. BETA
c.
aCArray<CString,CString>
arstrJointCoordinate stdJOINT
JOINT COORDINATES
COORDINATES
10001000x1000y
1000z222222x222y222z
arstrJointCoordinate
wJoint4
Class wJoint
{
Private:
double m_dX; /// x
double m_dY; /// y
double m_dZ; /// z
int m_nID; ///
};
arstrJointCoordinate
CArray<wJoint,wJoint> m_arJointSTAAD
STAAD
1000222 JJOINT
COORDINATESrstrJointCoordinate
COORDINATES
arstrJointCoordinate
m_arJointm_arJoint[0]01000
m_arJoint[1]1222
random access
iJointID
x
double FindCoordiante_X (int iJointID)
{
for(idx = 0; idx < m_arJoint.GetSize(); idx++)
{
if(iJointID = = m_arJoint[idx].m_nID )
{
return m_arJoint[idx].m_dX;
}
}
}
(n+1)/2
CArray<wJoint,wJoint>
Hash table
MFC CMap
CMap<int,int,WJoint,WJoint> m_mapJoint arstrJointCoordinate
m_mapJoint
m_mapJoint.Lookup(nJointID,wJot) nJointID
wJot(wJot wJoint ) Map Lookup
*.anl