Tekla Extension

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 5

https://www.fshare.vn/file/IK3GPV2EHXZW?

token=1554966787

https://cadvn.com/huong-dan-cai-dat-autocad-2019/

Private Sub CommandButton4_Click()


Dim Nele, m, n, i, j, rownum As Integer
For i = 1 To 38
ActiveSheet.Cells(139 + i, 33).GoalSeek Goal:=0,
ChangingCell:=ActiveSheet.Cells(139 + i, 11)
Next i
End Sub

Private Sub CommandButton1_Click()


Unload Me
End Sub

Private Sub CommandButton2_Click()


Dim A_add, E_add, m_add, K_add, Dat_add, P_add As String
Dim cell As Range

Dim Data As Range


Dim Mx, Kx, Ax, UPx, Ex As Range

Dim L As Double 'chieu dai bo cap


Dim x(1 To 10000) As Double
Dim y(1 To 10000) As Double
Dim z(1 To 10000) As Double
Dim I_x(1 To 10000) As Double
Dim I_y(1 To 10000) As Double
Dim I_z(1 To 10000) As Double

Dim DL(1 To 10000) As Double


Dim Li(1 To 10000) As Double
Dim alpha(1 To 10000) As Double
Dim a(1 To 10000) As Double
Dim ah(1 To 10000) As Double
Dim av(1 To 10000) As Double

Dim Px(1 To 10000) As Double


Dim I_DL(1 To 10000) As Double
Dim I_Li(1 To 10000) As Double
Dim I_alpha(1 To 10000) As Double
Dim I_a(1 To 10000) As Double
Dim I_ah(1 To 10000) As Double
Dim I_av(1 To 10000) As Double
Dim I_Px(1 To 10000) As Double
Dim Dao_Px(1 To 10000) As Double

Dim Pav(1 To 10000) As Double


Dim I_pav(1 To 10000) As Double
Dim PavDao(1 To 10000) As Double
Dim SumPav, SumPav_L, SumPav_R As Double
Dim i, j, n, v As Integer
Dim m, K, F As Double
Dim Pa, Ep As Double
Dim cb_x, cb_y, cb_z As Double
Dim cb_Px, cb_IPx As Double
Dim L_cb, IL_cb As Double
Dim tg As Double

Dim c_row, c_col As Integer

'**********************************************************************************
****************************
' Nhap thong so dau vao
A_add = RefEdit1.Value
E_add = RefEdit2.Value
m_add = RefEdit3.Value
K_add = RefEdit4.Value
P_add = RefEdit5.Value
Dat_add = RefEdit6.Value

If A_add = "" Or E_add = "" Or K_add = "" Or Dat_add = "" Or m_add = "" Or P_add =
"" Then
UserForm2.Show
Exit Sub
End If
'**************************** Bat dau tinh toan gian dai bo cap
***********************************************
Set Data = Range(Dat_add)

If CheckBox3.Value = False Then


Set Mx = Range(m_add)
m = Mx(1, 1)
Else: m = m_add
End If

If CheckBox4.Value = False Then


Set Kx = Range(K_add)
K = Kx(1, 1)
Else: K = K_add
End If

If CheckBox1.Value = False Then


Set Ax = Range(A_add)
F = Ax(1, 1)
Else: F = A_add
End If

If CheckBox5.Value = False Then


Set UPx = Range(P_add)
Pa = UPx(1, 1)
Else: Pa = P_add
End If

If CheckBox2.Value = False Then


Set Ex = Range(E_add)
Ep = Ex(1, 1)
Else: Ep = E_add
End If

n = Data.Rows.Count

For i = 1 To n
x(i) = Data(i, 1) / 1
y(i) = Data(i, 2) / 1
z(i) = Data(i, 3) / 1
Next i

'Tinh xuoi
ah(1) = 0
av(1) = 0

For i = 2 To n
ah(i) = Atn((y(i) - y(i - 1)) / (x(i) - x(i - 1)))
av(i) = Atn((z(i) - z(i - 1)) / (x(i) - x(i - 1)))
alpha(i) = Sqr((ah(i) - ah(i - 1)) ^ 2 + (av(i) - av(i - 1)) ^ 2)
Next i

a(1) = 0
a(2) = 0
alpha(2) = 0
For i = 3 To n
a(i) = a(i - 1) + alpha(i)
Next i

DL(1) = 0
For i = 1 To n - 1
DL(i + 1) = Sqr((x(i + 1) - x(i)) ^ 2 + (y(i + 1) - y(i)) ^ 2 + (z(i +
1) - z(i)) ^ 2)
Next i

Li(1) = 0
For i = 2 To n
Li(i) = Li(i - 1) + DL(i)
Next i

Px(1) = Pa

For i = 2 To n
Px(i) = Pa * Exp(-(m * a(i) + K * Li(i)))
Next i

'Tinh nguoc
For i = n To 1 Step -1
I_x(i) = x(n - i + 1)
I_y(i) = y(n - i + 1)
I_z(i) = z(n - i + 1)
Next i

I_ah(1) = 0
I_av(1) = 0
For i = 2 To n
I_ah(i) = Atn((I_y(i) - I_y(i - 1)) / (I_x(i) - I_x(i - 1)))
I_av(i) = Atn((I_z(i) - I_z(i - 1)) / (I_x(i) - I_x(i - 1)))
I_alpha(i) = Sqr((I_ah(i) - I_ah(i - 1)) ^ 2 + (I_av(i) - I_av(i - 1))
^ 2)
Next i

I_a(1) = 0
I_a(2) = 0
I_alpha(2) = 0
For i = 3 To n
I_a(i) = I_a(i - 1) + I_alpha(i)
Next i
I_DL(1) = 0
For i = 1 To n - 1
I_DL(i + 1) = Sqr((I_x(i + 1) - I_x(i)) ^ 2 + (I_y(i + 1) - I_y(i)) ^
2 + (I_z(i + 1) - I_z(i)) ^ 2)
Next i

I_Li(1) = 0
For i = 2 To n
I_Li(i) = I_Li(i - 1) + I_DL(i)
Next i

I_Px(1) = Pa

For i = 2 To n
I_Px(i) = Pa * Exp(-(m * I_a(i) + K * I_Li(i)))
Next i

For i = n To 1 Step -1
Dao_Px(i) = I_Px(n + 1 - i)
Next i

'Bat dau tinh dan dai


v = 0
For i = 1 To n - 1
If Px(i) > Dao_Px(i) Then v = v + 1
Next i

tg = 0

For cb_x = x(v) To x(v + 1) Step 0.001


cb_y = (y(v + 1) - y(v)) / (x(v + 1) - x(v)) * (cb_x - x(v)) + y(v)
cb_z = (z(v + 1) - z(v)) / (x(v + 1) - x(v)) * (cb_x - x(v)) + z(v)
L_cb = Li(v) + Sqr((cb_x - x(v)) ^ 2 + (cb_y - y(v)) ^ 2 + (cb_z - z(v)) ^
2)
IL_cb = I_Li(n - v) + Sqr((cb_x - I_x(n - v)) ^ 2 + (cb_y - I_y(n - v)) ^ 2
+ (cb_z - I_z(n - v)) ^ 2)
cb_Px = Pa * Exp(-(m * a(v) + K * L_cb))
cb_IPx = Pa * Exp(-(m * I_a(v) + K * IL_cb))
If Abs((cb_Px - cb_IPx) / cb_Px) <= 0.0001 Then tg = cb_x
Next cb_x
MsgBox "Balance point: x =" & tg & "m"

SumPav_L = 0
For i = 2 To v + 1
Pav(i) = (((Px(i - 1) + Px(i)) / 2) * DL(i)) / (Ep * F)
SumPav_L = SumPav_L + Pav(i)

Next i

For i = n - 1 To v + 1 Step -1
I_pav(i) = (((Dao_Px(i + 1) + Dao_Px(i)) / 2) * I_DL(n - i + 1)) / (Ep
* F)
SumPav_R = SumPav_R + I_pav(i)
Next i

SumPav = SumPav_L + SumPav_R

'MsgBox "Diem can bang:" & v+1


'MsgBox "Do dan dai:" & SumPav * 1000000
'Elong_cang2Dau = SumPav * 1000000
'**************************** Bat dau gan gia tri vao excel
***********************************************
'cell = Data(1, 1)
c_row = Data(1, 1).Row
c_col = Data(1, 1).Column
'MsgBox c_col
For i = 1 To n
Cells(c_row + i - 1, c_col).Interior.ColorIndex = 0
Next i
Cells(c_row + v + 0, c_col - 1).Interior.ColorIndex = 34
Range(Cells(c_row, c_col + 6), Cells(c_row + n - 1, c_col + 12)).Value = ""

For i = 2 To v + 1
Cells(c_row + i - 1, c_col + 6) = DL(i)
Cells(c_row + i - 1, c_col + 7) = alpha(i)
Cells(c_row + i - 1, c_col + 8) = a(i)
Cells(c_row + i - 1, c_col + 9) = m * a(i)
Cells(c_row + i - 1, c_col + 10) = K * Li(i)
Cells(c_row + i - 1, c_col + 11) = Px(i)
Cells(c_row + i - 1, c_col + 12) = Pav(i) * 1000000
Next i
Cells(c_row, c_col + 11) = Pa

For i = v + 2 To n - 1
Cells(c_row + i - 1, c_col + 6) = I_DL(n - i + 1)
Cells(c_row + i - 1, c_col + 7) = I_alpha(n - i + 1)
Cells(c_row + i - 1, c_col + 8) = I_a(n - i + 1)
Cells(c_row + i - 1, c_col + 9) = m * I_a(n - i + 1)
Cells(c_row + i - 1, c_col + 10) = K * I_Li(n - i + 1)
Cells(c_row + i - 1, c_col + 11) = I_Px(n - i + 1)
Cells(c_row + i - 1, c_col + 12) = I_pav(i) * 1000000
Next i
Cells(c_row + n - 1, c_col + 11) = Pa
Cells(c_row + n, c_col + 12) = SumPav * 1000000
Unload Me
End Sub

Private Sub Label5_Click()

End Sub

Private Sub RefEdit1_BeforeDragOver(Cancel As Boolean, ByVal Data As


MSForms.DataObject, ByVal x As stdole.OLE_XPOS_CONTAINER, ByVal y As
stdole.OLE_YPOS_CONTAINER, ByVal DragState As MSForms.fmDragState, Effect As
MSForms.fmDropEffect, ByVal Shift As Integer)
UserForm1.RefEdit1.Text = Selection.Address
End Sub

Private Sub UserForm_Click()

End Sub

Private Sub CommandButton1_Click()


Unload Me
End Sub

https://www.udemy.com/revit-structure-2018-from-zero-to-hero/

You might also like