Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

기본적인 사용법을 익히는 차원에서 Guide의 내용은 모두 따라하기 해 보시길 권장합니다.

Table of Contents
minLevel1
maxLevel7

Prerequisites

MIDAS API 실행의 기본사항은 아래 링크 참조

...

기본사항

API 모드 실행은 실행파일 MidasGen.exe 에 /API 실행 파라미터를 넘기면 됩니다. command 라인에서 실행 하거나 바로가기를 수정해 만들 수 있습니다.

  • Command 라인에서 실행

    Image Added
  • 바로가기 만들기

    • 바로가기 생성 (우클릭 후 바로가기 만들기)

      Image Added
    • 바로가기 대상에 /API 추가

      Image Added

API 모드로 실행되면 Civil 실행시 다음과 같은 대화상자가 함께 실행 되고 Connected to client … 메세지가 나타나면 정상적으로 실행 된 것입니다.

...

Gen의 API 모드 동작 구조

/API 를 주어 실행한 결과에서 함께 실행된 창은 API 서버의 로그 창입니다. API를 사용하기 전에 간단히 연결 방식을 이해하면 도움이 될 것 같습니다.

...

이와 같이 API서버에 미리 정의된 규칙에 따라서 명령어를 주고 받으며 Gen을 제어 하게 됩니다. http 메세지는 Python 을 비롯한 여러 프로그래밍 언어를 이용해 주고 받을 수도 있지만, 먼저 이해를 돕기 위해 Postman 이라는 프로그램을 활용해 간단한 연결을 해보도록 하겠습니다.

Postman 을 활용한 간단한 동작

Postman 설치 및 새 명령어 시작

Postman 은 다음 위치에서 다운로드 받아 설치 하실 수 있습니다. https://www.postman.com/downloads/

그림넣기Image Added

모델 파일 열기

모델 파일

View file
nametest.mgb

...

  1. http 메소드 타입 선택 (POST)

  2. api URI 입력 http://localhost:10024/doc/open

  3. Content-type 선택 content-type: application/json

  4. Body JSON 데이터 입력 {"Argument": "C:\\MIDAS\\API\\Model\\test.mgb"}

    1. C:\\MIDAS\\API\\Model\\test.mgb → 내 PC에 있는 모델 파일 경로 입력

    2. 경로에 \\ 사용 주의!

  5. Send 버튼은 누르면 모델파일이 Open되고 postman 에서 응답을 확인 하실 수 있습니다.

Postman 명령을 collection 에 저장하기 및 순서대로 실행하기

우측 상단의 Save 를 누르면 현재 명령어를 collection 으로 구분하여 저장 할 수 있습니다.

...

Image Added

다음과 같이 저장된 명령어를 순서대로 실행 할 수 있습니다.

...

Postman Reqeust를 collection으로 한번에 실행하기

모델 파일 데이터 가져오기

열린 모델 파일의 데이터는 http GET 메세지를 통해 더 간단하게 가져 올 수 있습니다.

Code Block
GET  http://localhost:10024/db/matl

Postman에 입력 및 응답

...

...

데이터 가져오기(postman)

  1. http 메소드 타입 선택 (GET)

  2. api URI 입력 http://localhost:10024/db/matl

모델 파일 데이터 추가하기

앞의 Get 명령어를 통해 가져온 MATL(재질) 데이터를 일부 수정해 새로운 MATL 데이터를 추가 해보도록 하겠습니다.

Code Block
languagejs
POST  http://localhost:10024/db/matl
content-type: application/json

{
    "Assign": {
        "2": {
            "TYPE": "STEEL",
            "NAME": "SN400SS275-ByAPI",
            "HE_SPEC": 0,
            "HE_COND": 0,
            "THMAL_UNIT": "C",
            "PLMT": 0,
            "P_NAME": "",
            "bMASS_DENS": false,
            "DAMP_RAT": 0.02,
            "PARAM": [
                {
                    "P_TYPE": 1,
                    "STANDARD": "JISKS18(S)",
                    "CODE": "",
                    "DB": "SN400SS275",
                    "bELAST": false,
                    "ELAST": 20904182.36604753210000000
                }
            ]
        }
    }
}

Postman 에 입력

...

  1. http 메소드 타입 선택 (POST)

  2. api URI 입력 http://localhost:10024/db/matl

  3. Content-type 선택 content-type: application/json

  4. Body JSON 데이터 입력

    1. 앞의 모델 파일 데이터 가져오기에서 결과를 복사하고 붙여넣기

      Image RemovedImage Added
    2. 데이터 붙여 넣기 및 수정

      Image RemovedImage Added
      1. 데이터 이름 변경 : MATL → Assign

      2. 데이터 Key 변경 : “1” → “2”

      3. 데이터 이름 변경 : “C27-2” “SS275” “C27“SS275-ByAPI”

  5. Send 결과 확인

    Image RemovedImage Added
  6. Civil 에서 Gen에서 결과 확인

    Image Removed

...

모델 파일 데이터 업데이트

앞의 모델 파일 데이터 추가 와 유사한 방법으로 이번에는 MATL(재질) 데이터를 변경 하도록 하겠습니다.
http 메소드 타입이 POST → PUT 으로 바뀐 부분에 유의 하시면 됩니다.

Code Block
languagejs
PUT http://localhost:10024/db/matl
content-type: application/json

{
    "Assign": {
        "2": {
            "TYPE": "STEEL",
            "NAME": "SN400SS275-MOD",
            "HE_SPEC": 0,
            "HE_COND": 0,
            "THMAL_UNIT": "C",
            "PLMT": 0,
            "P_NAME": "",
            "bMASS_DENS": false,
            "DAMP_RAT": 0.02,
            "PARAM": [
                {
                    "P_TYPE": 1,
                    "STANDARD": "JISKS18(S)",
                    "CODE": "",
                    "DB": "SN400SS275",
                    "bELAST": false,
                    "ELAST": 20904182.36604753 210000000
                }
            ]
        }
    }
}

postman 에 입력

...

  1. http 메소드 타입 선택 (PUT)

  2. api URI 입력 http://localhost:10024/db/matl

  3. Content-type 선택 content-type: application/json

  4. Body JSON 데이터 입력

    1. 앞의 입력에서 사용했던 데이터 그대로 붙여넣기

    2. 변경하고자 하는 데이터만 변경

  5. SEND 결과 확인

    Image RemovedImage Added
  6. Civil 에서 Gen에서 결과 확인

    Image RemovedImage Added

필요한 데이터만 입력해 업데이트

모델 파일 업데이트 시에 중요한 데이터는 변경하고자 하는 데이터임을 고려하면, 업데이트 명령은 많이 단순 해 질 수 있습니다. 앞의 예제와 같지만 실제로 변경 하고자 하는 데이터만을 BODY 데이터에 넣어 동작 하는 방법입니다.

**API 개발 초기에 업데이트에 대한 고려가 없어서, 아직 많은 데이터에서 이런 명령어 방식이 제대로 동작하지 않을 수 있습니다. 이런 동작을 고려해 각 데이터가 제품의 DB로 반영되는 코드를 수정해야 합니다.

Code Block
languagejs
PUT http://localhost:10024/db/matl
content-type: application/json

{
  "Assign":{
    "2": {
      "NAME": "SN400SS275-SIMPLE"
  }
}
}

postman 에 입력

...

postman matl update simple request

  1. http 메소드 타입 선택 (PUT)

  2. api URI 입력 http://localhost:10024/db/matl

  3. Content-type 선택 content-type: application/json

  4. Body JSON 데이터 입력

  5. Send 결과 확인

    Image Removed

    Civil

    Image Added

    postman matl update simple result

  6. Gen 에서 결과 확인

    Image Removed

...

postman matl update simple result Gen

모델 다른 이름으로 저장하기

시작하면서 API로 mcb 파일을 열었던 방식과 유사하게, 모델 파일을 다른 이름으로도 저장 할 수 있습니다.

Code Block
languagejs
POST http://localhost:10024/doc/saveas
content-type: application/json

{
    "Argument": "C:\\MIDAS\\MidasAPIAPI\\Model\\HelloMidasAPICiviltest_20220322rename.mcbmgb"
}

postman 입력

...

  1. http 메소드 타입 선택 (POST)

  2. api URI 입력 http://localhost:10024/doc/saveas

  3. Content-type 선택 content-type: application/json

  4. Body JSON 데이터 입력 {"Argument": "C:\\MIDAS\\MidasAPIAPI\\Model\\HelloMidasAPICiviltest_XXXXXXX.mcbmgb"}

    1. C:\\MIDAS\\MidasAPIAPI\\Model\\HelloMidasAPICiviltest_XXXXXX.mcb mgb → 내 PC에 있는 경로 입력

    2. 경로에 \\ 사용 주의!

  5. Send 결과 확인

    Image RemovedImage Added
  6. Civil Gen 결과 확인

    Image Removed

...

모델 해석 하기

API가 잘 디자인 되었다면 이쯤 되면 이제 해석 명령어의 형태를 예상할 수 있으실 것 같습니다. (아니라면 명령어 디자인을 잘 못하고 있는 것으로 ㅠ )

Code Block
languagejs
POST http://localhost:10024/doc/anal
content-type: application/json

{}

...

  1. http 메소드 타입 선택 (POST)

  2. api URI 입력 http://localhost:10024/doc/anal

  3. Content-type 선택 content-type: application/json

  4. Body JSON 데이터 입력 {}

    1. 비어있는 데이터

    2. Body 가 필요 없으면 Get 과 같은데, API 디자인상 Post 가 적절한 것 같아서..

  5. Send 결과 확인

    Image Removed

다음 단계

지금까지 Postman 이라는 도구로 MIDAS API 의 간단한 동작을 실행했습니다. 이제 다음 단계로는

또는 목적에 필요한 함수들을 확인하고 활용하기 위해서는 명령어의 구조와 레퍼런스 문서를 참조 하실 수 있습니다. postman 이 아닌 프로그래밍 언어로 MIDAS API 를 사용하길 원하시는 분이라면 다음의 문서가 도움이 되실 수 있습니다.

...

  1. Image Added