Option Explicit Dim sapobject As SAP2000v15.sapobject Dim ret As Long Dim coordinates As Range Sub sap2000v15_open() Set
Views 192 Downloads 3 File size 10KB
Option Explicit Dim sapobject As SAP2000v15.sapobject Dim ret As Long Dim coordinates As Range Sub sap2000v15_open() Set sapobjetc = CreateObject("Sap2000v15.sapobject") sapobject.ApplicationStart sapobject.SapModel.InitializeNewModel (kN_m_C) ret = sapobject.SapModel.fiel.NewBlank End Sub Sub Dim Dim Dim Dim Dim Dim Dim
sap2000v15_build() totalrows As Integer rownumber As Integer xcoord1 As Double, ycoord1 As Double xcoord2 As Double, ycoord2 As Double areaname() As String i As Integer restrainvalue() As Boolean
Set coordinates = Range("C3:E18") totalrows = coordinates.Rows.Count For rownumber = 1 To (totalrows - 1) xcoord1 = coordinates(rownumber, 1).Value ycoord1 = coordinates(rownumber, 2).Value xcoord2 = coordinates(rownumber + 1, 1).Value ycoord2 = coordinates(rownumber + 1, 2).Value ret = sapobject.SapModel.FrameObj.AddByCoord(xcoord1, ycoord1, 0, xcoord2, ycoor d2, 0, "default") Next rownumber ret = sapobject.SapModel.View.RefreshView(0, "false") For rownumber = 1 To (totalrows - 1) ret = sapobject.SapModel.EditGeneral.ExtrudeAreaToSolidLinearUser("defau lt", 0, 0, 10, 1, True) Next rownumber ReDim restrainvalue(5) For i = 0 To 5 restrainvalue(i) = True Next i ret = sapobject.SapModel.PointObj.setrestrain(1, restrainvalue) ret = sapobject.SapModel.PointObj.setrestrain(totalrows, restrainvalue) ret = sapobject.SapModel.PointObj.setrestrain(totalrows + 2, restrainval ue) ret = sapobject.SapModel.PointObj.setrestrain(totalrows * 2, restrainval ue) ret = sapobject.SapModel.View.RefreshView(0, "false") End Sub Sub Dim Dim Dim Dim Dim Dim Dim
sap2000v15_run() numberresults As Long obj() As String elm() As String acase() As String steptype() As String stepnum() As Double u1() As Double
Dim Dim Dim Dim Dim Dim
u2() u3() r1() r2() r3() i As
ret = ret = ret = ret = ret = elm,
As Double As Double As Double As Double As Double Integer
sapobject.SapModel.File.Save("D:") sapobject.SapModel.Analyze.RunAnalysis sapobject.SapModel.Results.Setup.DeselectAllCasesAndCombosForOutput sapobject.SapModel.Results.Setup.setCaseselectedforoutpout("DEAD") sapobject.SapModel.Results.JointDispl("All", GroupElm, numberresults, obj, acase, steptype, stepnum, u1, u2, u3, r1, r2, r3)
For i = 0 To numberresults / 2 - 1 coordinates(i + 1, 3).Value = u3(i) Next i End Sub Sub sap2000v15_close() sapobject.ApplicationExit filesave:=False Set sapobject = Nothing Set coordinates = Nothing End Sub