QUẢNG CÁO ĐẦU TRANG

Collapse

Thông báo

Collapse
No announcement yet.

Tinh cot thep khung 2D or 3D

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • anhboketcau
    replied
    Ðề: Tinh cot thep khung 2D or 3D

    Cái của bác tôi xem qua rồi phần mềm nhu vậy qua nhiều,không tao ra sự mới lạ.chỉ tính được cho một cột riêng biệt mất thời gian nhập thông số đầu vào rất lâu mới được một cái,
    Với Phần mềm tính khung 2D Và 3D(BOXD2009) của tôi bạn chỉ cần xuất nội lực từ sap2000, Or Etabs Để phần mềm tự động gán các thông số thiết kế Tư Sáp Và Tư động chọn Ra 3 Cặp Nội Lực.
    cặp1(Mmax,Ntu),cặp2(Mmin,Ntu),cặp3(Nmax,Mtu).ra đê tính toán thép.
    Đã Được Thầy Giáo tôi kiểm định là hay rồi đó.
    Hãy dùng Và bình luận nha.Thanks

    Leave a comment:


  • Hung_tthanh
    replied
    Ðề: Tinh cot thep khung 2D or 3D

    Nguyên văn bởi anhboketcau
    không bác nào dam mê lập trình à?
    Thật là tiếc quá tưởng lên đây nhờ anh em góp ý vậy mà thất vọng quá.
    Bác dùng thử cái mình đi.
    http://www.ketcau.com/forum/showthre...5426#post55426

    Leave a comment:


  • anhboketcau
    replied
    Ðề: Tinh cot thep khung 2D or 3D

    không bác nào dam mê lập trình à?
    Thật là tiếc quá tưởng lên đây nhờ anh em góp ý vậy mà thất vọng quá.

    Leave a comment:


  • anhboketcau
    replied
    Ðề: Tinh cot thep khung 2D or 3D

    dưới đây là mã lệnh tính cót thép cot 2D:
    Option Explicit
    '==============================================*****=====================================
    'TINH TOAN COT THEP COT CHU NHAT
    Function CTcotCN(macBT As String, macThep As String, a As Integer, l As Double _
    , b As Integer, h As Integer, Mdh As Double, Ndh As Double, Mmax As Double, Ntu1 As Double _
    , Mmin As Double, Ntu2 As Double, Nmax As Double, Mtu As Double)
    'khai bao bien
    '---------------------------------*****----------------------------------
    Dim M(1 To 3), N(1 To 3) As Single
    Dim Rn, Ra, Eb, Ea, alfa0, A0 As Single
    Dim h0 As Integer
    Dim Ja, Jb '(cm4)
    Dim Guyt, Guytt, guyFa, Guymin, lamda As Single
    Dim e0gh, e0(1 To 3), e(1 To 3), ep(1 To 3), S(1 To 3) As Single
    Dim Kdh(1 To 3), Nth(1 To 3), neta(1 To 3) As Single
    Dim x(1 To 3), xp(1 To 3) As Single
    Dim Fa(1 To 3), Fatt, L0 As Single
    Dim THLT(1 To 3) As String

    '---------------------------------so lieu dau vao----------------------------------
    'R , E (kG/cm2)
    Rn = Rnbt(macBT)
    Ra = Rathep(macThep)
    Eb = Ebt(macBT)
    Ea = Eathep(macThep)
    alfa0 = alpha0(macThep, macBT)
    A0 = Ao(macThep, macBT)

    'tinh M1 ,N1 (T.m),(T)
    M(1) = Mmax
    N(1) = Ntu1
    M(2) = Mmin
    N(2) = Ntu2
    M(3) = Mtu
    N(3) = Nmax
    Mdh = Mdh
    Ndh = Ndh

    ' h0,L0 (cm)
    h0 = h - a
    L0 = l * 100 * 0.7

    'gia thiet GuyT
    'tinh Guymin
    lamda = L0 / b
    If lamda <= 17 Then
    Guymin = 0.0005
    ElseIf (lamda > 17) And (lamda <= 35) Then
    Guymin = 0.001
    ElseIf (lamda > 35) And (lamda <= 83) Then
    Guymin = 0.002
    ElseIf lamda > 83 Then
    Guymin = 0.0025
    End If
    Guyt = 2 * Guymin
    Guytt = Guyt
    'vong lap cho guyt den guyt hop ly thi dung
    Do
    Guyt = (Guyt + Guytt) / 2
    Jb = (b * h ^ 3) / 12
    Ja = Guyt * b * h0 * (0.5 * h - a) ^ 2
    e0gh = 0.4 * (1.25 * h - alfa0 * h0)

    '----------------------------tinh toan voi cap 1-------------------------
    'tinh do lech tam ban dau
    e0(1) = Abs(M(1) / N(1)) * 100 + Application.WorksheetFunction.Max(h / 25, 2)

    'xac dinh S he so ke den do lech tam
    If e0(1) < 0.05 * h Then
    S(1) = 0.84
    ElseIf e0(1) > 5 * h Then
    S(1) = 0.122
    Else
    S(1) = 0.11 / (0.1 + e0(1) / h) + 0.1
    End If

    'tinh Kdh he so ke den luc dai han
    If M(1) * Mdh < 0 Then
    Kdh(1) = 1 + (-1 * Abs(Mdh) + Abs(Ndh) * (0.5 * h * 0.01 - a * 0.01)) / (Abs(M(1)) + Abs(N(1)) * (0.5 * h * 0.01 - a * 0.01))
    Else
    Kdh(1) = 1 + (Abs(Mdh) + Abs(Ndh) * (0.5 * h * 0.01 - a * 0.01)) / (Abs(M(1)) + Abs(N(1)) * (0.5 * h * 0.01 - a * 0.01))
    End If

    'Luc nen toi han
    Nth(1) = (6.4 * (S(1) * Eb * Jb / Kdh(1) + Ea * Ja)) / (L0 ^ 2)

    'he so uon doc
    neta(1) = 1 / (1 - Abs(N(1) * 1000) / Nth(1))

    'Do lech tam tinh toan
    e(1) = Abs(neta(1) * e0(1) + h / 2 - a)
    ep(1) = Abs(neta(1) * e0(1) - h / 2 + a)

    'Xac dinh truong hop lech tam
    x(1) = Abs(N(1) * 1000) / (Rn * b)
    If x(1) < alfa0 * h0 Then
    THLT(1) = "LTL"
    Else
    THLT(1) = "LTB"
    End If

    'tinh toan cot thep cho cap tinh toan
    If THLT(1) = "LTL" Then
    If x(1) > 2 * a Then
    Fa(1) = Abs(N(1) * 1000) * (e(1) - h0 + 0.5 * x(1)) / (Ra * (h0 - a))
    Else
    Fa(1) = Abs(N(1) * 1000) * ep(1) / (Ra * (h0 - a))
    End If
    ElseIf THLT(1) = "LTB" Then
    If neta(1) * e0(1) > e0gh Then
    Fa(1) = (Abs(N(1) * 1000) * e(1) - A0 * Rn * b * h0 ^ 2) / (Ra * (h0 - a))
    ElseIf neta(1) * e0(1) <= e0gh Then
    If neta(1) * e0(1) <= 0.2 * h0 Then
    xp(1) = h - (1.8 + 0.5 * h / h0 - 1.4 * alfa0) * neta(1) * e0(1)
    Else
    xp(1) = 1.8 * (e0gh - neta(1) * e0(1)) + alfa0 * h0
    End If
    Fa(1) = (Abs(N(1) * 1000) * e(1) - Rn * b * xp(1) * (h0 - 0.5 * xp(1))) / (Ra * (h0 - a))
    End If
    End If

    '----------------------------tinh toan voi cap 2-------------------------
    'tinh do lech tam ban dau
    e0(2) = Abs(M(2) / N(2)) * 100 + Application.WorksheetFunction.Max(h / 25, 2)

    'xac dinh S he so ke den do lech tam
    If e0(2) < 0.05 * h Then
    S(2) = 0.84
    ElseIf e0(2) > 5 * h Then
    S(2) = 0.122
    Else
    S(2) = 0.11 / (0.1 + e0(2) / h) + 0.1
    End If

    'tinh Kdh he so ke den luc dai han
    If M(2) * Mdh < 0 Then
    Kdh(2) = 1 + (-1 * Abs(Mdh) + Abs(Ndh) * (0.5 * h * 0.01 - a * 0.01)) / (Abs(M(2)) + Abs(N(2)) * (0.5 * h * 0.01 - a * 0.01))
    Else
    Kdh(2) = 1 + (Abs(Mdh) + Abs(Ndh) * (0.5 * h * 0.01 - a * 0.01)) / (Abs(M(2)) + Abs(N(2)) * (0.5 * h * 0.01 - a * 0.01))
    End If

    'Luc nen toi han
    Nth(2) = (6.4 * (S(2) * Eb * Jb / Kdh(2) + Ea * Ja)) / (L0 ^ 2)

    'he so uon doc
    neta(2) = 1 / (1 - Abs(N(2) * 1000) / Nth(2))

    'Do lech tam tinh toan
    e(2) = Abs(neta(2) * e0(2) + h / 2 - a)
    ep(2) = Abs(neta(2) * e0(2) - h / 2 + a)

    'Xac dinh truong hop lech tam
    x(2) = Abs(N(2) * 1000) / (Rn * b)
    If x(2) < alfa0 * h0 Then
    THLT(2) = "LTL"
    Else
    THLT(2) = "LTB"
    End If

    'tinh toan cot thep cho cap tinh toan
    If THLT(2) = "LTL" Then
    If x(2) > (2) * a Then
    Fa(2) = Abs(N(2) * 1000) * (e(2) - h0 + 0.5 * x(2)) / (Ra * (h0 - a))
    Else
    Fa(2) = Abs(N(2) * 1000) * ep(2) / (Ra * (h0 - a))
    End If
    ElseIf THLT(2) = "LTB" Then
    If neta(2) * e0(2) > e0gh Then
    Fa(2) = (Abs(N(2) * 1000) * e(2) - A0 * Rn * b * h0 ^ 2) / (Ra * (h0 - a))
    ElseIf neta(2) * e0(2) <= e0gh Then
    If neta(2) * e0(2) <= 0.2 * h0 Then
    xp(2) = h - (1.8 + 0.5 * h / h0 - 1.4 * alfa0) * neta(2) * e0(2)
    Else
    xp(2) = 1.8 * (e0gh - neta(2) * e0(2)) + alfa0 * h0
    End If
    Fa(2) = (Abs(N(2) * 1000) * e(2) - Rn * b * xp(2) * (h0 - 0.5 * xp(2))) / (Ra * (h0 - a))
    End If
    End If

    '----------------------------tinh toan voi cap 3-------------------------
    'tinh do lech tam ban dau
    e0(3) = Abs(M(3) / N(3)) * 100 + Application.WorksheetFunction.Max(h / 25, 2)

    'xac dinh S he so ke den do lech tam
    If e0(3) < 0.05 * h Then
    S(3) = 0.84
    ElseIf e0(3) > 5 * h Then
    S(3) = 0.122
    Else
    S(3) = 0.11 / (0.1 + e0(3) / h) + 0.1
    End If

    'tinh Kdh he so ke den luc dai han
    If M(3) * Mdh < 0 Then
    Kdh(3) = 1 + (-1 * Abs(Mdh) + Abs(Ndh) * (0.5 * h * 0.01 - a * 0.01)) / (Abs(M(3)) + Abs(N(3)) * (0.5 * h * 0.01 - a * 0.01))
    Else
    Kdh(3) = 1 + (Abs(Mdh) + Abs(Ndh) * (0.5 * h * 0.01 - a * 0.01)) / (Abs(M(3)) + Abs(N(3)) * (0.5 * h * 0.01 - a * 0.01))
    End If

    'Luc nen toi han
    Nth(3) = (6.4 * (S(3) * Eb * Jb / Kdh(3) + Ea * Ja)) / (L0 ^ 2)

    'he so uon doc
    neta(3) = 1 / (1 - Abs(N(3) * 1000) / Nth(3))

    'Do lech tam tinh toan
    e(3) = Abs(neta(3) * e0(3) + h / 2 - a)
    ep(3) = Abs(neta(3) * e0(3) - h / 2 + a)

    'Xac dinh truong hop lech tam
    x(3) = Abs(N(3) * 1000) / (Rn * b)
    If x(3) < alfa0 * h0 Then
    THLT(3) = "LTL"
    Else
    THLT(3) = "LTB"
    End If

    'tinh toan cot thep cho cap tinh toan
    If THLT(3) = "LTL" Then
    If x(3) > 2 * a Then
    Fa(3) = Abs(N(3) * 1000) * (e(3) - h0 + 0.5 * x(3)) / (Ra * (h0 - a))
    Else
    Fa(3) = Abs(N(3) * 1000) * ep(3) / (Ra * (h0 - a))
    End If
    ElseIf THLT(3) = "LTB" Then
    If neta(3) * e0(3) > e0gh Then
    Fa(3) = (Abs(N(3) * 1000) * e(3) - A0 * Rn * b * h0 ^ 2) / (Ra * (h0 - a))
    ElseIf neta(3) * e0(3) <= e0gh Then
    If neta(3) * e0(3) <= 0.2 * h0 Then
    xp(3) = h - (1.8 + 0.5 * h / h0 - 1.4 * alfa0) * neta(3) * e0(3)
    Else
    xp(3) = 1.8 * (e0gh - neta(3) * e0(3)) + alfa0 * h0
    End If
    Fa(3) = (Abs(N(3) * 1000) * e(3) - Rn * b * xp(3) * (h0 - 0.5 * xp(3))) / (Ra * (h0 - a))
    End If
    End If

    '----------------------------------------tinh toan-------------------------------------
    Fatt = Application.WorksheetFunction.Max(Fa(1), Fa(2), Fa(3))
    Guytt = 2 * Fatt / (b * h0)
    Loop Until Abs(Guytt - Guyt) < 0.0001
    CTcotCN = Fatt
    End Function

    Leave a comment:


  • anhboketcau
    started a topic Tinh cot thep khung 2D or 3D

    Tinh cot thep khung 2D or 3D

    nhơ anh em giúp trước khi đưa Nên cho công ty dùng
    Mong anh em hồi dáp nhanh để mau đưa vào sử dụng
    ===========>
    Các bạn kéo xuống phía dưới để Dowload nhe.Bản đó Được thêm vài tính năng.
    Last edited by anhboketcau; 07-05-2009, 08:57 AM.
Working...
X