MIDAS NX API
[MIDAS NX API] 재료물성 추가하기
마구자바
2025. 7. 1. 17:25
반응형
엑셀 VBA와 MIDAS NX API 이용하여, 재료물성을 자동으로 추가하도록 구성하였다.
재료 물성은 MIDAS 내부에 들어있는 DB를 이용하여, 아래와 같이 합성과 강재에 대해서 입력할 수 있도록 입력 데이터를 만들었다.
위와 같이 입력한 물성데이터를 이용해서, MIDAS에 재료물성이 자동으로 추가되도록 아래와 같이 Coding 하였다.
'Dictionary
Dim dicMain As Scripting.Dictionary
Dim dicSub1 As Scripting.Dictionary
Dim dicSub2 As Scripting.Dictionary
Dim dicSub3 As Scripting.Dictionary
Dim dicSub4 As Scripting.Dictionary
Dim sResp As String
Dim sWebReq As String
' 엑셀 시트 선택
Worksheets("input").Activate
Set dicMain = New Dictionary
Set dicSub1 = New Dictionary
For iRow = 1 To 3
' 재료물성값 불러오기
sName = ActiveSheet.Cells(iCol + iRow - 1, 3)
sStandard1 = ActiveSheet.Cells(iCol + iRow - 1, 4)
sCode1 = ActiveSheet.Cells(iCol + iRow - 1, 5)
sStandard2 = ActiveSheet.Cells(iCol + iRow - 1, 6)
sCode2 = ActiveSheet.Cells(iCol + iRow - 1, 7)
' NX
Set dicSub2 = New Dictionary
Set dicSub3 = New Dictionary
Set dicSub4 = New Dictionary
' standard2가 입력이 없으면 SRC..
If sStandard2 <> "" Then ' SRC
dicSub3.Add "STANDARD", sStandard1
dicSub3.Add "DB", sCode1
dicSub3.Add "P_TYPE", 1
dicSub4.Add "STANDARD", sStandard2
dicSub4.Add "DB", sCode2
dicSub4.Add "P_TYPE", 1
dicSub2.Add "PARAM", Array(dicSub3, dicSub4)
dicSub2.Add "TYPE", "SRC"
dicSub2.Add "NAME", sName
Else ' STEEL
dicSub3.Add "STANDARD", sStandard1
dicSub3.Add "DB", sCode1
dicSub3.Add "P_TYPE", 1
dicSub2.Add "PARAM", Array(dicSub3)
dicSub2.Add "TYPE", "STEEL"
dicSub2.Add "NAME", sName
End If
dicSub1.Add iRow, dicSub2
Set dicSub2 = Nothing
Set dicSub3 = Nothing
Set dicSub4 = Nothing
Next iRow
dicMain.Add "Assign", dicSub1
sWebReq = JsonConverter.ConvertToJson(dicMain)
sResp = WebRequest("POST", "/db/MATL", sWebReq)
Set dicMain = Nothing
Set dicSub1 = Nothing
반응형