Option Explicit
Private numSpan As Integer, numEL As Integer, numND As Integer, numDOF As Integer
Private spanLo As Double, Le As Double, EIe As Double, qo As Double
Private nodeDOF() As Integer, nodeQ() As Double
Private GK() As Double, LK(1 To 4, 1 To 4) As Double, dispDOF() As Double
Private Sub Form_Load()
With MSFlexGrid1
.Cols = 5
.Rows = 5
End With
End Sub
Private Sub SetInitialValues()
numSpan = txtnumSpan.Text
numEL = txtnumEL.Text
spanLo = txtspanLo.Text
EIe = txtEIe.Text
qo = txtqo.Text
numND = numSpan * numEL + 1
numDOF = 2 * numND - (numSpan + 2)
Le = spanLo / numEL
End Sub
Private Function GetNumDOF(nNode As Integer) As Integer
Dim iSpan As Integer, iEL As Integer, iND As Integer, iDOF As Integer
ReDim nodeDOF(nNode, 2) As Integer, nodeQ(nNode, 4) As Double
iND = 0
iDOF = 0
For iSpan = 1 To numSpan
For iEL = 1 To numEL
iND = iND + 1
Select Case iEL
Case 1
nodeDOF(iND, 1) = 0
Case Else
iDOF = iDOF + 1
nodeDOF(iND, 1) = iDOF
End Select
iDOF = iDOF + 1
nodeDOF(iND, 2) = iDOF
Next iEL
Next iSpan
iND = iND + 1
nodeDOF(iND, 1) = 0
nodeDOF(iND, 2) = 0
ReDim GK(iDOF, iDOF + 1) As Double, dispDOF(iDOF) As Double
For i = 1 To iDOF
For j = 1 To iDOF + 1
GK(i, j) = 0
Next j
Next i
GetNumDOF = iDOF
End Function
Private Sub SetStiffnessMatrix()
Dim i As Integer, j As Integer, ke As Double
LK(1, 1) = 6: LK(1, 2) = 3 * Le: LK(1, 3) = -LK(1, 1): LK(1, 4) = LK(1, 2)
LK(2, 1) = LK(1, 2): LK(2, 2) = 2 * Le ^ 2: LK(2, 3) = -LK(2, 1): LK(2, 4) = Le ^ 2
LK(3, 1) = LK(1, 3): LK(3, 2) = LK(2, 3): LK(3, 3) = LK(1, 1): LK(3, 4) = LK(3, 2)
LK(4, 1) = LK(1, 4): LK(4, 2) = LK(2, 4): LK(4, 3) = LK(3, 4): LK(4, 4) = LK(2, 2)
ke = 2 * EIe / Le ^ 3
For i = 1 To 4
For j = 1 To 4
LK(i, j) = ke * LK(i, j)
Next j
Next i
End Sub
Private Sub cmdInput_Click()
Dim i As Integer, j As Integer
Call SetInitialValues
lblnumND.Caption = numND
lblnumDOF.Caption = numDOF
lblLe.Caption = Le
For i = 1 To 4
For j = 1 To 4
MSFlexGrid1.TextMatrix(i, j) = LK(i, j)
Next j
Next i
End Sub
여기서 msflex그리드의 각 칸에 LK행렬 대응하는 값을 집어넣으려는데 위치는 다 맞는데 전부 값이 0이 나와요. 이거 왜 이런지 아시는분 계시나요?
좋은 글이네요.. 하지만 읽지는 않았습니다
감사해요...지금보니 CALL 함수를 하나안해서 그랬군요...재료가 없으니 당연히 0값이 뜰수 밖에....전 멍청멍청열매를 쳐묵쳐묵했나봅니다..ㅜㅜ