1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
| Sub densification()
Dim Z_int_bam_0(), Z_cone_int(), Z_cone_int_0(), box(), def_tan(), def_tan_ret(), table_jasp(), table_jasp_ret(), surf_int_bam(), force_press_bam(), force_trac_bam(), Z_pt_densi(), Sin_a(), Cos_a() As Single
Dim i, j, pt_dep As Integer
Worksheets("densification").Activate
'récupération données
'cone int
L_cone_1 = Range("j30").Value
L_cone_2 = Range("j31").Value
L_cone_3 = Range("j32").Value
Ray = Range("j35").Value
R_cone_1 = Range("M30").Value
R_cone_2 = Range("M31").Value
R_cone_3 = Range("M32").Value
Pt_R1 = Range("O30").Value
Pt_R2 = Range("O31").Value
Pt_R3 = Range("O32").Value
Ang_gamma = Range("M33").Value
cos_gamma = Range("M35").Value
sin_gamma = Range("M36").Value
Ang_alpha = Range("J39").Value
cos_alpha = Range("L39").Value
sin_alpha = Range("M39").Value
Ang_beta = Range("J40").Value
cos_beta = Range("L40").Value
sin_beta = Range("M40").Value
'bambou
L_bam = Range("f30").Value
Ep_bam = Range("f31").Value
Diam_ext_bam_0 = Range("f32").Value
Ang_teta = Range("b31").Value
cos_teta = Range("b33").Value
sin_teta = Range("b34").Value
pas = Range("b39").Value
L_or = Range("b42").Value / pas
coef_frot = Range("f35").Value
u = Range("b38").Value
'Jaspart
Worksheets("Jaspart").Activate
K1 = Range("d5").Value
K2 = Range("d6").Value
K3 = Range("d7").Value
R = Range("d8").Value
eps_d = Range("d9").Value
alpha = Range("d10").Value
gamma = Range("d11").Value
Worksheets("densification").Activate
'calcul des diverses pas et autres valeurs usuelles
pas_1 = (R_cone_2 - R_cone_1) / (L_cone_1 / pas)
pas_2 = (R_cone_3 - R_cone_2) / (L_cone_2 / pas)
tan_teta = sin_teta / cos_teta
tan_gamma = sin_gamma / cos_gamma
pas_teta = pas * tan_teta
pas_gamma = pas * tan_gamma
N_divi_cone = (L_cone_1 + L_cone_2 + L_cone_3) / pas
N_divi_bam = L_bam / pas
....
'calcul des altitudes du cône interieur et adressage
'calcul du point de tangeance de la partie 3 avec le quart de cercle Attention reprere du cercle
If Ang_gamma > 0 Then
tg = Ray * tan_gamma / ((1 + tan_gamma ^ 2) ^ 0.5)
Else
tg = -Ray * tan_gamma / ((1 + tan_gamma ^ 2) ^ 0.5)
End If
tgi = Round(tg + 0.4 / pas, 0)
i = 0
A = 0
b = 0
j = (L_cone_3 - Ray) / pas - tgi
For i = 0 To i_cone_0
Z_cone_int_0(i) = 0
Next
For i = i_cone_0 To (i_cone_0 + (Ray / pas) + tgi)
x = (i - (i_cone_0 + Ray / pas)) * pas
y = (Ray ^ 2 - x ^ 2) ^ 0.5
Z_cone_int_0(i) = R_cone_3 + L_cone_3 * tan_gamma - Ray * tan_gamma - Ray + y
Next
For i = (i_cone_0 + (Ray / pas) + tgi) To i_cone_0 + L_cone_3 / pas
Z_cone_int_0(i) = R_cone_3 + j * pas_gamma
j = j - 1
Next
For i = i_cone_0 + L_cone_3 / pas To i_cone_0 + (L_cone_3 + L_cone_2) / pas
Z_cone_int_0(i) = R_cone_3 - A * pas_2
A = A + 1
Next
For i = i_cone_0 + (L_cone_3 + L_cone_2) / pas To i_cone_0 + (L_cone_3 + L_cone_2 + L_cone_1) / pas
Z_cone_int_0(i) = R_cone_2 - b * pas_1
b = b + 1
Next
For i = i_cone_0 + (L_cone_3 + L_cone_2 + L_cone_1) / pas To N_divi
Z_cone_int_0(i) = 0
Next
'affichage des resultats pour graphe position de depart
i = 0
j = 0
For i = 0 To N_divi Step (1 / pas)
Range("b" & (55 + j)).Value = i * pas
Range("c" & (55 + j)).Value = Z_cone_int_0(i)
Range("d" & (55 + j)).Value = Z_int_bam_0(i)
j = j + 1
Next |
Partager