API

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

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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