Page 107 - 6735
P. 107
For Each N In Array(6313, 6334, 6349, 198, 186) 'вузол
For i = 1 To 2
StudyMngr.ActiveStudy = i - 1
Set Study = StudyMngr.GetStudy(i - 1) 'задача
'Study.MeshAndRun
'errCode = Study.CreateMesh(0, 4.7, 0.25) 'створити сітку
'runError = Study.RunAnalysis 'виконати задачу
Set CWResult = Study.results 'результати
MaxStep = CWResult.GetMaximumAvailableSteps()
sn = CWResult.GetStress(0, MaxStep, Nothing, 3, errCode)
'масив напружень у вузлах
s1(i) = sn((N - 1) * 12 + 7) 'перше головне напруження
(МПа)
s2(i) = sn((N - 1) * 12 + 8) 'друге
s3(i) = sn((N - 1) * 12 + 9) 'третє
'Debug.Print i, s1(i), s2(i), s3(i)
Next i
Debug.Print N, FOS(s1(2), s1(1), s2(2), s2(1), s3(2),
s3(1))
Next N
End Sub
Об'єкти Matlab Automation Server Type Library
MATLAB – це комерційний пакет прикладних програм для
числового аналізу, а також мова програмування, що
використовується у цьому пакеті. MATLAB містить велику
кількість функцій з різних областей математики (лінійна алгебра,
статистика, обробка даних, диференціальні рівняння тощо). До цих
функцій можна звернутись із VBA-програми за допомогою
MATLAB Automation Server Type Library. У прикладі показано
створення матриць у VBA-програмі, обчислення суми матриць у
MATLAB і повернення результату в VBA-програму. Інші способи
107