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
   101   102   103   104   105   106   107   108   109   110   111