API 시작하기 - 기초 01

이 기사는 다음 언어로도 제공됩니다:
영어에서 AI로 번역됨
이 튜토리얼의 목표는 API 시작 방법, 첫 번째 프로젝트 열기, 시뮬레이션 실행 및 콘솔에 결과 출력에 대한 기본적인 설명을 제공하는 것입니다. 이 부분은 다음 교육 단계로 진행하기 전에 반드시 완료해야 하는 선수 과정입니다.

API(애플리케이션 프로그래밍 인터페이스)란 무엇인가

서로 다른 소프트웨어 애플리케이션이 상호 통신할 수 있도록 하는 규칙 및 프로토콜의 집합입니다. 요청과 응답의 구조를 정의하여, 개발자가 내부 동작 방식을 이해하지 않고도 미리 정의된 함수나 서비스를 사용할 수 있도록 합니다. 

IDEA StatiCa Connection의 REST API - REST 원칙을 따르는 로컬 호스팅 웹 서비스로, 일반적으로 JSON 형식으로 표현되는 리소스에 대한 작업을 수행하기 위해 표준 HTTP 메서드를 사용하여 시스템 간 통신을 가능하게 합니다.

리소스 및 GITHUB

기존 및 미리 정의된 예제의 소스는 GitHub에 링크되어 있습니다: 

시작하는 방법

이 튜토리얼은 프로그래밍 언어 Python과 함께 소개됩니다. 최신 버전은 여기에서 다운로드할 수 있습니다. 효율적인 코딩, 디버깅 및 테스트를 위한 도구로 다양한 통합 개발 환경(IDE)을 사용할 수 있습니다. 다음은 몇 가지 옵션입니다: 

API 실행 방법

API 실행 파일은 최신 버전의 IDEA StatiCa가 저장된 폴더에서 찾을 수 있습니다. 실행 파일을 실행하기만 하면 됩니다. 

inline image in article

"IdeaStatiCa.ConnectionRestApi.exe"를 실행하면 CMD(명령 프롬프트)가 나타나며, 로컬호스트를 확인하고 Swagger 앱을 열 수 있습니다. Swagger 앱에서는 API를 제어하기 위한 코드 구조를 확인할 수 있습니다. Ctrl + 마우스 왼쪽 버튼을 눌러 Swagger를 엽니다. 

inline image in article

온라인 모드의 Swagger는 연결 설계를 위한 API 옵션에 대한 안내를 제공합니다. 

inline image in article

Python 열기 및 API 패키지 설치 방법

모든 단계를 설명하는 PyCharm을 사용합니다. 다른 도구에서도 동일한 방식으로 작동합니다. Python을 열고 새 프로젝트를 생성합니다. 

inline image in article

"ideastatica_connection_api" 패키지를 설치합니다. 터미널을 열고 "pip install ideastatica_connection_api"를 입력합니다. 이 명령을 실행하면 API용 라이브러리가 설치됩니다. 

"pip install ideastatica_connection_api" - 최신 버전의 IDEA StatiCa에서 작동합니다. 이전 버전을 사용하는 경우, 적절한 API 라이브러리를 호출하기 위해 버전을 정확히 지정해야 합니다.

(예: "pip install ideastatica_connection_api==25.1.1.923" )

inline image in article

위에서 언급한 단계는 반드시 순서대로 수행해야 합니다. 그렇지 않으면 API가 제대로 작동하지 않습니다.


데스크톱 앱에서 프로젝트 열기

목표는 Python 인터페이스를 통해 시뮬레이션과 출력을 제어하고 콘솔에서 직접 결과를 읽는 것입니다.

스플라이스 연결을 열고 LE1에 대한 계산을 실행하여 결과를 확인합니다. 전체 검토 항목이 통과되는 것을 확인할 수 있습니다. Python으로 진행할 수 있습니다. 

inline image in article

Python 스크립트

계산 사용 및 로컬호스트 URL과의 연결을 가능하게 하는 패키지를 가져옵니다

소스 코드:

## Link with baseUrl
import ideastatica_connection_api.connection_api_service_attacher as connection_api_service_attacher

inline image in article

로컬호스트를 불러오는 변수 "baseUrl"을 통해 로깅을 구성합니다. 두 번째 단계에서는 IDEA StatiCa Connection 파일의 절대 경로를 연결합니다.

소스 코드:

## Configure logging
baseUrl = "http://localhost:5000"

## Absolute path into folder with your python script and connection module
project_file_path = r"C:\Users\LukasJuricek\Desktop\API_IDEA\Splice.ideaCon"

print(project_file_path)

inline image in article

이미 실행 중인 서비스에 클라이언트를 연결합니다(1). try/except 블록을 사용합니다 - try 블록에서 오류가 발생하면 except 블록이 실행됩니다. 첫 번째 단계에서는 프로젝트를 열고(2), 모든 IDEA StatiCa 프로젝트에 고유한 프로젝트 ID를 찾아야 합니다(3). 스크립트를 실행하면 출력된 경로와 고유 ID를 확인할 수 있습니다(4).

소스 코드:

with connection_api_service_attacher.ConnectionApiServiceAttacher(baseUrl).create_api_client() as api_client:
   try:
       ## Open the project
       openProject = api_client.project.open_project_from_filepath(project_file_path)

       ## Unique project ID that provide the control over the model
       projectId = api_client.project.active_project_id
       print(projectId)

inline image in article

계산할 연결을 식별하는 "connection_ID"를 추출합니다(1). 괄호 안에 명시된 두 개의 필수 매개변수가 필요한 변수 "calculation_run"으로 시뮬레이션을 실행합니다(2). 시뮬레이션이 완료되면 연결 ID와 해석이 완료되었다는 정보를 확인할 수 있습니다(3). 

소스 코드:

## Opening project that will be calculated
connection = openProject.connections[0]
print(connection)

connection_ID = [connection.id]
## Assigning connection ID
calculation_run = api_client.calculation.calculate(
   projectId,
   connection_ID
)
print('Finished')

inline image in article

마지막 단계에서는 결과를 출력하는 방법(1)과 데스크톱에서 표준적으로 표시되는 모든 이용률 검토 항목을 반복하는 방법(2)을 살펴봅니다(3).

소스 코드:

    ## Postprocessing - extract the unity check of connection
   Results = calculation_run[0].result_summary
   ## Loop over all unity checks like plates, bolts, welds
   for results in Results:
       print(results.unity_check_message)

except Exception as e:
   print("Operation failed : %s\n" % e)

inline image in article

결론

연결 설계를 위한 API 사용 경험을 쌓았습니다. 설치해야 할 도구, REST API 서비스 연결 방법, 그리고 결과를 얻기 위한 Python 코드 처리 방법을 학습했습니다.

샘플 파일


관련 기사

IDEA Open Model API 개선