When I tried to extract intermediate forces through VBA from STAAD Pro. the values were not matching with the values shown in the STAAD. I found the values which were extracted through VBA to be linearly interpolated from the end values. There fore even for second order variation i.e. Bending due udl on a simply supported beam the values were linearly interpolated. Please help me in this regard
Regards
Gokul
Linear interpolation is done only for spectrum and time history load cases. For static cases, the program calculates the forces and moments from first principles.
If this doesn't answer your question, please attach the macro and the STAAD model.
I am attaching both my staad file & Macro. After extracting through this macro i found that if I choose an
intermediate section which does not fall in 12 ranges in which staad splits the member, there is an error
in the result. i.e the extracted result is linearly interpolated if the section is between that range. Help me
in this.
STAAD FILE
STAAD PLANE
START JOB INFORMATION
ENGINEER DATE 18-Jul-13END JOB INFORMATIONINPUT WIDTH 79UNIT METER KNJOINT COORDINATES1 0 0 0; 2 1 0 0;MEMBER INCIDENCES1 1 2;DEFINE MATERIAL STARTISOTROPIC CONCRETEE 2.17185e+007POISSON 0.17DENSITY 23.5616ALPHA 1e-005DAMP 0.05END DEFINE MATERIALMEMBER PROPERTY1 PRIS YD 1 ZD 1CONSTANTSMATERIAL CONCRETE ALLSUPPORTS1 2 PINNEDLOAD 1 LOADTYPE None TITLE LOAD CASE 1MEMBER LOAD1 UNI GY -10PERFORM ANALYSIS PRINT ALLFINISH
MACRO
Sub ex1()Dim objopenstaad As ObjectDim endforces(6) As DoubleSet objopenstaad = CreateObject("openstaad.output.1")objopenstaad.selectstaadfile Cells(2, 1).Valueobjopenstaad.getintermediatememberforcesatdistance 1, 0.3, 1, endforces(0)objopenstaad.closestaadfileSet objopenstaad = NothingCells(1, 1) = endforces(5) * 0.112984788End Sub
Hi,
The values extracted using “Output.GetIntermediateMemberForcesAtDistance” function matches with the values reported in STAAD.Pro. For example, consider the attached macro. I have extracted all the member forces using this macro and compared with STAAD results. In the attached screenshot, you can find that the values match with the member forces reported in the member query box of STAAD.Pro.
Also I checked the value at an intermediate point(dist= 0.55m) and found that the value is -1.2375 kNm where as the linearly interpolated values is 1.2292 kNm. So the OpenSTAAD function does not report the linearly interpolated values.