Quantcast
Channel: RAM | STAAD Forum - Recent Threads
Viewing all articles
Browse latest Browse all 16762

VB.NET obtaining end forces - Is there a faster way?

$
0
0

I have a large model that I am using VB.NET to extract the end forces for a reporting program we have.  Using the code below it currently takes about 60.6 hours to get the start and end forces for each load case and combination load. Is there a better way?  the old VB6 method seemed faster.  It works, just seems really slow. About  2 seconds per member.

For i = 1 To pnMemberCount

Dim diff AsLong

diff = DateDiff(DateInterval.Second, startTime, Now())

eta = (((diff / i) * pnMemberCount) - diff) / 60.0

If eta > 60.0 Then

frmStatus.lblStatus.Text = "Processing member "& i & " of "& pnMemberCount & " approx "& (eta / 60.0).ToString("0.000") & " hours"

ElseIf eta < 1.0 Then

frmStatus.lblStatus.Text = "Processing member "& i & " of "& pnMemberCount

Else

frmStatus.lblStatus.Text = "Processing member "& i & " of "& pnMemberCount & " approx "& eta.ToString("0.00") & " minutes"

EndIf

frmStatus.Refresh()

For j = 1 To pnLoadCaseCount

objOpenSTAAD.Output.GetMemberEndForces(pnMemberNumbers(i - 1), 0, pnLoadCaseNumbers(j - 1), endForces)

LoadEndForce.memberNumber = pnMemberNumbers(i - 1)

LoadEndForce.loadNumber = pnLoadCaseNumbers(j - 1)

LoadEndForce.startForce = endForces(0)

 bjOpenSTAAD.Output.GetMemberEndForces(pnMemberNumbers(i - 1), 1, pnLoadCaseNumbers(j - 1), endForces)

LoadEndForce.endForce = endForces(0)

textStream.WriteLine(LoadEndForce.memberNumber.ToString() & ","& LoadEndForce.loadNumber.ToString() & ","& _

LoadEndForce.startForce.ToString("0.00") & ","& LoadEndForce.endForce.ToString("0.00"))

Next

 For j = 1 To pnLoadCombinationCount

objOpenSTAAD.Output.GetMemberEndForces(pnMemberNumbers(i - 1), 0, pnLoadCombinationNumbers(j - 1), endForces)

LoadEndForce.memberNumber = pnMemberNumbers(i - 1)

LoadEndForce.loadNumber = pnLoadCombinationNumbers(j - 1)

LoadEndForce.startForce = endForces(0)

objOpenSTAAD.Output.GetMemberEndForces(pnMemberNumbers(i - 1), 1, pnLoadCombinationNumbers(j - 1), endForces)

LoadEndForce.endForce = endForces(0)

textStream.WriteLine(LoadEndForce.memberNumber.ToString() & ","& LoadEndForce.loadNumber.ToString() & ","& _

LoadEndForce.startForce.ToString("0.00") & ","& LoadEndForce.endForce.ToString("0.00"))

Next

frmStatus.ProgressBar1.PerformStep()

frmStatus.lbl_percent.Text = Math.Floor((frmStatus.ProgressBar1.Value / frmStatus.ProgressBar1.Maximum) * 100).ToString() & "%"

frmStatus.Refresh()


Viewing all articles
Browse latest Browse all 16762

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>