Page 106 - 6735
P. 106
'Dim lr As CosmosWorksLib.CWLoadsAndRestraints
Dim Face As SldWorks.Face2
'Розраховує коефіцієнт запасу втомної міцності за
критерієм Сайнса. S1_2 - головне напруження 1 крок 2
(максимальне навантаження), 'S1_1 - головне напруження 1
крок 1 (мінімальне навантаження), МПа
Public Function FOS(S1_2, S1_1, S2_2, S2_1, S3_2, S3_1 As
Double)
sn = 207 '000000 'границя витривалості
m = 1 'коефіцієнт
Sm3 = (S3_2 + S3_1) / 2
Sa3 = (S3_2 - S3_1) / 2
Sm2 = (S2_2 + S2_1) / 2
Sa2 = (S2_2 - S2_1) / 2
Sm1 = (S1_2 + S1_1) / 2
Sa1 = (S1_2 - S1_1) / 2
FOS = (sn - m * (Sm1 + Sm2 + Sm3) / 3) / Sqr(((Sa1 -
Sa2) ^ 2 + (Sa2 - Sa3) ^ 2 + (Sa3 - Sa1) ^ 2) / 2)
End Function
Sub main()
Dim s1(1 To 2), s2(1 To 2), s3(1 To 2) As Double 'головні
напруження
Set swApp = Application.SldWorks 'об'єкт Solidworks
Set CWObject = swApp.GetAddInObject("SldWorks.Simulation")
'об'єкт Simulation
Set COSMOSWORKS = CWObject.COSMOSWORKS
Set ActDoc = COSMOSWORKS.ActiveDoc() 'активний документ
COSMOSWORKS
Set StudyMngr = ActDoc.StudyManager() 'менеджер задач
Set Part = swApp.ActiveDoc 'активна деталь
106