/
MIDAS Gen API with Python

MIDAS Gen API with Python

๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ•์„ ์ตํžˆ๋Š” ์ฐจ์›์—์„œ Guide์˜ ๋‚ด์šฉ์€ ๋ชจ๋‘ ๋”ฐ๋ผํ•˜๊ธฐ ํ•ด ๋ณด์‹œ๊ธธ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

ย 

์ด ๋ฌธ์„œ๋Š” Python์—์„œ MIDAS Gen API๋ฅผ ์ž‘๋™์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๋ฉ”๋‰ด์–ผ์ž…๋‹ˆ๋‹ค.

1. Python ๊ฐœ๋ฐœํ™˜๊ฒฝ ์„ค์ •

1.1 ์„ค์น˜ํŒŒ์ผ

์„ค์น˜ํŒŒ์ผ์€ ํŒŒ์ด์ฌ ๊ณต์‹ ์›น์‚ฌ์ดํŠธ์—์„œ ๋‚ด๋ ค๋ฐ›์Šต๋‹ˆ๋‹ค.

Welcome to Python.org

Python ๊ณต์‹ ์›น์‚ฌ์ดํŠธ

* ์œˆ๋„์šฐ ์ด์™ธ์— OS ํ™˜๊ฒฝ์„ ์œ„ํ•œ ์—ฌ๋Ÿฌ ์„ค์น˜ํŒŒ์ผ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ย 

1.2 ํŒŒ์ด์ฌ ์„ค์น˜

Python์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

Python ์„ค์น˜ํ™”๋ฉด

์•„๋ž˜ ํŽธ์ง‘๊ธฐ๋Š” ๋” ํŽธ๋ฆฌํ•œ Python ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Recommended Code Editors for Python

(๋ณธ ์„ค๋ช…์„œ๋Š” Visual Studio Code๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.)

ย 

1.3 ์ถ”๊ฐ€ ๋ชจ๋“ˆ ์„ค์น˜

Python์— Request ๋ชจ๋“ˆ์„ ์„ค์น˜ ํ•ด์•ผ, MIDAS/Gen API๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Request ๋ชจ๋“ˆ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์น˜๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

ย 

ํ”„๋กœ๊ทธ๋žจ ํ•˜๋‹จ์˜ ํ„ฐ๋ฏธ๋„ ์ฐฝ์ด ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค๋ฉด, Menu-Terminal-New Terminal ์„ ์ด์šฉํ•˜์—ฌ, Terminal ์ฐฝ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ํ…์ŠคํŠธ๋ฅผ ํ„ฐ๋ฏธ๋„ ์ฐฝ์— ๋ถ™์—ฌ ๋„ฃ์€ ํ›„, Enter๋ฅผ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.

ย 

py -3 -m pip install requests

ย 

ย 

2. Python์„ ์ด์šฉํ•˜์—ฌ MIDAS/Gen API ์ž‘๋™ํ•ด๋ณด๊ธฐ

๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ๋™์ž‘ ๋ฐฉ์‹์„ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

์˜ˆ์ œ๋ฅผ ์œ„ํ•œ Gen ํ•ด์„ํŒŒ์ผ์€ ์•„๋ž˜ test.mgb๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

2.1 MIDAS/Gen API ์‹คํ–‰ํ•˜๊ธฐ

API์™€ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•œ Gen์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹คํ–‰ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  • Python Code

import subprocess import time p = subprocess.Popen([r"C:\\midas\\API\\MidasGen.exe", "/API"]) ## wait until midas api process ready time.sleep(10)

MIDAS/Gen ์‹คํ–‰ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋Š” ๊ฐ์ž ์‚ฌ์šฉ์ž์— ๋งž๊ฒŒ ์ˆ˜์ •ํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ ๊ฒฝ๋กœ์— \\์‚ฌ์šฉํ•จ์— ์ฃผ์˜!!

ย 

2.2 MIDAS/Gen API ๋ฌธ์„œ ์—ด๊ธฐ

MIDAS/Gen์„ ์‹คํ–‰ ์‹œํ‚จ ํ›„ ์ด๋ฏธ ์ž‘์„ฑ๋œ ๋ฌธ์„œ๋ฅผ ์—ฌ๋Š” ๋™์ž‘์„ ์‹คํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • Python Code

import requests Gen_API_URL = "http://127.0.0.1:10024" ## DOC.OPEN requests.post(Gen_API_URL + "/doc/open", json={"Argument":"C:\\midas\\api\\model\\test.mgb"})

MIDAS/Gen ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋Š” ๊ฐ์ž ์‚ฌ์šฉ์ž์— ๋งž๊ฒŒ ์ˆ˜์ •ํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

URL ์ฃผ์†Œ๋Š” API ๋ฅผ ํ†ตํ•œ MIDAS/Gen ์‹คํ–‰์‹œ ๋™์ž‘ํ•˜๋Š” APIServer.exe์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ย 

2.3 MIDAS/Gen API ํ•ด์„ ์‹คํ–‰

๋ถˆ๋Ÿฌ์˜จ MIDAS/Gen ํŒŒ์ผ์˜ ํ•ด์„์„ ์‹คํ–‰ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • Python Code

ย 

3. ์ž‘๋™ ๊ฐ€๋Šฅํ•œ ๋ช…๋ น์–ด

3.1 DOC ๋ช…๋ น์–ด

DOC ๋ช…๋ น์–ด๋Š” document ๊ด€๋ จ ๋ช…๋ น์–ด๋กœ ์ฃผ๋กœ ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑ/์—ด๊ธฐ/๋‹ซ๊ธฐ ๋“ฑ์˜ ๋™์ž‘์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.

ย 

  • ๋ฌธ์„œ ์—ด๊ธฐ : โ€œ/doc/openโ€

ย 

  • ์ƒˆ ๋ฌธ์„œ ์—ด๊ธฐ : โ€œ/doc/newโ€

ย 

  • ๋ฌธ์„œ ๋‹ซ๊ธฐ : โ€œ/doc/closeโ€

ย 

  • ํ•ด์„ ์‹คํ–‰ : โ€œ/doc/analโ€

ย 

  • ๋ฌธ์„œ ์ €์žฅ : โ€œ/doc/saveโ€

ย 

  • ์ƒˆ ์ด๋ฆ„์œผ๋กœ ์ €์žฅ : โ€œ/doc/saveasโ€

ย 

  • Json ๋ฐ์ดํ„ฐ Import : โ€œ/doc/importโ€

ย 

  • Json ๋ฐ์ดํ„ฐ Export : โ€œ/doc/exportโ€

ย 

3.2 DB ๋ช…๋ น์–ด

DB ๋ช…๋ น์–ด๋Š” ๋ฐ์ดํ„ฐ ์ด๋ฆ„์— ๋Œ€ํ•œ ์š”์ฒญ์ž…๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ ์ด๋ฆ„์— ๋Œ€ํ•˜์—ฌ GET/POST/PUT/DELETE ๋ฉ”์†Œ๋“œ๊ฐ€ ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

ย 

  • GET DB Method : ์—ด๋ ค์ง„ ๋ฌธ์„œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

ย 

์˜ˆ์ œ1: ๋‹ค์Œ ์˜ˆ์ œ ์ฝ”๋“œ๋Š” ์—ด์–ด์ง„ ๋ฌธ์„œ๋กœ๋ถ€ํ„ฐ ๋ชจ๋“  Node ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์™€ , ํŠน์ •ํ•œ Node ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

ย 

์˜ˆ์ œ2: ๋‹ค์Œ ์˜ˆ์ œ ์ฝ”๋“œ๋Š” ์—ด์–ด์ง„ ๋ฌธ์„œ๋กœ๋ถ€ํ„ฐ ํŠน์ •ํ•œ Node ๋ฒˆํ˜ธ์˜ ์ •๋ณด๋งŒ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค.

ย 

ย 

  • POST DB Method : ์—ด๋ ค์ง„ ๋ฌธ์„œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ Key๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

ย 

๋‹ค์Œ ์˜ˆ์ œ๋Š” ์—ด์–ด์ง„ ๋ฌธ์„œ์— ํŠน์ • Node๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , Node ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์™€ ์ถœ๋ ฅํ•˜๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. (999๋ฒˆ ๋…ธ๋“œ ์ถ”๊ฐ€)

ย 

ย 

  • PUT DB Method : ์—ด๋ ค์ง„ ๋ฌธ์„œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ์กด์žฌํ•˜์ง€ ์•Š๋Š” key์— ๋Œ€ํ•œ ์š”์ฒญ ์‹œ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

ย 

๋‹ค์Œ ์˜ˆ์ œ๋Š” ํŠน์ • ๋…ธ๋“œ์˜ ์ขŒํ‘œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. (999๋ฒˆ ๋…ธ๋“œ ์ขŒํ‘œ ๋ณ€๊ฒฝ)

ย 

ย 

  • DELETE DB Method : ์—ด๋ ค์ง„ ๋ฌธ์„œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. ์กด์žฌํ•˜์ง€ ์•Š๋Š” Key์— ๋Œ€ํ•œ ์š”์ฒญ ์‹œ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

ย 

์˜ˆ์ œ1 : ํŠน์ • Node๋ฅผ ์‚ญ์ œํ•˜๊ณ , ์‚ญ์ œ๋œ Node์˜ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. (999๋ฒˆ ๋…ธ๋“œ ์‚ญ์ œ)

ย 

ย 

3.3 POST ๋ช…๋ น์–ด

POST๋Š” ๋ช…๋ น์–ด๋Š” ํ•ด์„ ์‹คํ–‰ ํ›„ ํ›„์ฒ˜๋ฆฌ ๊ด€๋ จํ•œ ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.

ย 

  • ๋ฐ˜๋“œ์‹œ ํ•ด์„์ด ์ˆ˜ํ–‰๋œ ์ดํ›„์— ์‹คํ–‰ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  • ๊ฒฐ๊ณผ ํ…Œ์ด๋ธ” ์š”์ฒญ : โ€œ/post/tableโ€

์˜ˆ์ œ1 : ๋‹ค์Œ ์˜ˆ์ œ๋Š” ์—ด๋ ค์ง„ ๋ฌธ์„œ์—์„œ ํ•ด์„ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์™€ Json ํฌ๋งท์œผ๋กœ ์ €์žฅํ•˜๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค.

ย 

ย 

3.4 VIEW ๋ช…๋ น์–ด

VIEW ๋ช…๋ น์–ด๋Š” ์ด๋ฏธ์ง€์— ๊ด€๋ จํ•œ ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.

ย 

  • Diagram ์š”์ฒญ : โ€œ/view/captureโ€

Diagram์„ ์š”์ฒญํ•˜๊ณ , ์›ํ•˜๋Š” ๊ฒฝ๋กœ์— ์ €์žฅํ•˜๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค.

ย 

ย 

Related content

(EN) MIDAS Civil with Python
(EN) MIDAS Civil with Python
More like this
Getting Start With Midas API Server
Getting Start With Midas API Server
More like this
Example
Example
Read with this
M-Suite Beta
M-Suite Beta
More like this
Response for Civil Beta Testers
Response for Civil Beta Testers
Read with this
Midas Open API (Application Programming Interface)
Midas Open API (Application Programming Interface)
More like this