Daniel Hsiao, Staff Engineer at Technical Support Division of CoreTech System (Moldex3D)
Moldex 3D Studio API 소개
API (응용 프로그래밍 인터페이스, Application Programming Interface)는 마치 식당에서 손님의 주문을 주방에 전달하는 종업원처럼 요청(Request)과 응답(Response)을 전달하는 역할을 담당합니다. Moldex3D Studio API는 COM (Component Object Model) 기술을 통해 응용 프로그램의 인터페이스를 정의하고 제공합니다. COM 개체는 C#, Python 등과 같은 다양한 프로그래밍 언어를 통해 액세스할 수 있습니다. 따라서 외부 프로그램에서 Studio 응용 프로그램의 COM 개체에 액세스하면 Studio API 기능을 호출하여 활용할 수 있습니다.
Moldex3D Studio API는 다양한 기능을 파라미터화 하여 자동화 및 표준화 설계의 해석 워크플로우에 통합할 수 있습니다. 본문에서는 충전 압력에 대한 충전 시간의 최적화 사례를 이용하여 UI에서 하나 하나 클릭하던 기능을 원클릭으로 전환하는 분석 도구를 보여 줍니다.
그림 1. 식당의 종업원처럼 수요와 응답의 전달자 역할을 하는 API
섹션 1 – Moldex 3D Studio 기능 설정 프로그램을 실행하기 위한 API 도구 필요
API 도구를 사용해 Moldex3D Studio 및 그 기능을 구동하기 위해서는 다음과 같은 프로그램을 설치해야 합니다.
Moldex 3D Studio
Python (예제 및 Help에 사용되며, 사용자가 익숙해지면 다른 환경으로 변경 가능)
Visual Studio 코드 (설치 권장)
설치 방법은 Section 3의 참조 웹사이트로 이동하십시오.
Moldex3D Studio API를 보다 빠르게 시작하려면 본문에 사용된 자료를 다운로드 하십시오. 안에는 다음과 같은 내용이 포함되어 있습니다.
설계에 사용된 모델링 데이터(Part, Runner 모델 및 material 파일)
사용된 Project 작업 경로
사용된 API Code
위 샘플 안내자료 (Readme_EN/CH)
그림 2. 다운로드 자료 설명
섹션 2 – 최소 사출 압력 찾기
다운로드 받은 샘플의 Python_Code 폴더에서 Find Minimum Injection Pressure.py를 실행합니다. 본문에서 시연할 시나리오는 다음과 같습니다.
Moldex3D Injection Molding(IM) 프로젝트에는 이미 제품의 공정 조건 및 기타 조건이 설정되어 있습니다(Original_Input_Data에 표시됨).
충전 시간(0.5~5초)을 조정하여 VP 전환점에서의 사출 압력을 확인합니다.
최소 사출 압력을 찾아 최적화된 충전 시간을 참고 값으로 사용합니다. (빠른 충전은 과도한 Shear stress를 유발, 느린 충전은 수지의 고화 및 Short shot을 유발함).
python code.py(아래 그림 “Run python file”)를 실행하면, 자동으로 Studio와 API 기능이 각각 호출되어 다음의 작업을 완료합니다.
그림 3. Python 스크립트 실행
Studio API를 호출하면, Original_Input_Data에 정의된 모델링 데이터를 읽습니다.
API_Working_Folder에서 새 프로젝트를 생성한 후, 데이터를 이용해 Run1을 생성하고 Part 및 Runner 모델을 불러옵니다.
Surface Mesh및 Solid Mesh를 생성하고, material 파일을 불러오며, default 공정 조건을 설정 후, 충전 시간을5s로 지정합니다.
동일한 프로젝트를 Run2~10에 복사하고, 충전 시간을 각각의 해당 값(~5 sec까지)으로 수정합니다.
충전 시간이 다른 10개의 Run 생성 후(그림 4), Run이 제출됩니다.
모든 Run의 해석이 완료되면 VP 전환점에서 모든 Run의 사출 압력을 읽고, 가장 낮은 사출 압력이 책정된 Run을 찾아 Working_Folder에 Log파일이 생성됩니다.
이제 Code의 모든 API 기능이 실행되었고, Log 파일을 열면 각 Run의 다른 파라미터 및 결과를 확인할 수 있고, 최소 사출 압력이 책정된 최적화된 충전 시간을 얻을 수 있습니다.
그림 4. 충전 시간이 다른 Run에 대한 사출 압력 결과 Log 파일
섹션 3 – 수동 작업 vs. API 기능 비교
(1) 프로젝트 생성 및 CAD를 새 Run으로 불러오기, (2) Mesh 생성, (3) material 파일 불러오기, (4) 공정 조건 설정 및 충전 시간을 0.5sec로 수정, (5) Run 복사 및 충전 시간 수정, (6) [PTSGI1] (5)에서의 동작을 8회 반복, (7) 해석을 위한 Run을 제출, (8) 해석 진행 및 결과 대기, (9) 각 Run의 충전 압력 결과 읽기, (10) 해석 완료된 Run들의 결과를 정리하여 최적화된 설정 찾기.
이 모든 작업이 API를 사용하면 단 한번의 클릭으로 수행할 수 있습니다.
수동 방식으로 실행하는 경우, 일회성 작업이라면 Studio를 통해 사용자를 위해 설계된 인터페이스가 더 빠르고 편리할 수 있습니다. 그러나 Simulation Driven Design의 표준화된 프로세스에서는 이 작업이 매년 수백 번 반복되며 수많은 파라미터와 작업 실행에 많은 시간이 소요되기 때문에 API를 이용한 자동화 기능에 대한 필요성은 더욱 증대됩니다.
참고: Moldex3D 2023부터 Script Wizard 기능이 추가 지원되므로 사용자가 생성한 API 기능을 Studio UI에 통합할 수 있습니다. 현재는 일부 API 기능만 지원되지만 앞으로 Moldex3D에서 흥미로운 기능을 기대할 수 있습니다.
참조 – 나만의 파이썬 코드 만들기
위의 내용은 예시이며 당신은 직접 당신만의python code를 만들 수 있습니다. API code를 만들고 설치하는 방법을 참고하려면 아래의 웹사이트로 이동하십시오.
태그:
댓글