본문 바로가기
C++ 200제/코딩 IT 정보

UG NX 10 - Open C API 개요와 용어 (지멘스 NX)

by vicddory 2017. 3. 21.

개요

Open C API는 NX와 외부 세계 간의 쉬운 인터페이스가 가능하도록 설계되었습니다. Open C API는 아래와 같은 것으로 이루어져 있습니다.

 

- NX 그래픽 터미널, 파일 관리자, 데이터베이스 등에 접근하는 호출 가능한 함수/서브루틴의 거대한 집합.

- 사용자 프로그램을 링크하고 실행시키기 위한 커맨드 프로시져.

- 그런 프로그램들을 실행시키기 위한 NX 내의 대화형 인터페이스.

Open C API 프로그램은 프로그램이 링크된 방식에 따라 두 가지 다른 환경에서 실행할 수 있습니다.

 

- External

이 Open C API 프로그램은 NX 외부의 운영체제에서 실행하거나, NX에서 차일드 프로세스로서 실행할 수 있는 독립된 프로그램입니다.


- Internal

이 Open C API 프로그램은 NX 세션 내에서만 실행될 수 있습니다. 이 프로그램은 메인 메모리로 로드되어 NX 내의 루틴들에 접근합니다. 이것의 이점은 실행 파일의 크기가 작고 링크가 더욱 빠르다는 것입니다.


내부 Open C API 프로그램은 메모리에 한 번 로드되면, NX 세션 내에 상주하게 됩니다. 이 프로그램을 다시 호출하면, 다시 로드되지 않고 실행됩니다. 내부 Open C API 프로그램은 현재 파트 상에서 작동하며 자동으로 파트 표시를 변경합니다.

 

대부분의 Open C API 함수/서브루틴들은 양 모드에서 모두 사용될 수 있습니다. 몇 개의, 대개 사용자 인터페이스 루틴들만이 내부 모드에서만 지원됩니다.

 

Open C API는 Open C GRIP (GRaphics Interactive Programming)을 대체하기 위한 것이 아니라, C나 C++ 같은 고수준 언어에서 NX와의 인터페이스를 쉽게 만들기 위한 것입니다. 고수준 언어 프로그램이 더 적절한 과제가 많이 있습니다.



Open C API 프로그램을 새 릴리즈에 맞게 업그레이드하려면 프로그램을 재컴파일하고 재링크해야 합니다. NX의 각 릴리즈와 함께 제공되는 릴리즈 노트에 Open C 프로그래머에게 중요한 변경 사항이 설명되어 있습니다.

 

릴리즈 노트에는 Open C API를 생성하는 데 사용되는 운영체제와 컴파일러의 버젼에 대해서도 설명되어 있습니다. NX가 릴리즈되는 것보다, 운영체제, 링커, 컴파일러, 런타임 라이브러리 등이 더 자주 업데이트되기 때문에, Open C API와 올바르게 작동하지 않는 조합이 있을 수 있습니다.


추가로, 문서에 나와 있는 것과 다른 컴파일 및 링크 옵션이 필요할 수도 있습니다. Open C API를 올바로 사용하는 데 필요한 구체적인 변경 사항에 대해서, NX의 각 릴리즈와 함께 제공되는 릴리즈 노트를 참조하기 바랍니다.

용어 및 개념

Open C 대화 상자

uc1616이나 UF_UI_select_single 등과 같은 사전-정의된 Open C 대화 상자입니다.

 

UIStyler 대화 상자

UIStyler를 통해 생성된 대화 상자입니다.

 

사용자 대화 상자

상용자가 생성한 Motif 대화 상자입니다.

 

프리젠테이션 API

사용자 정의 인터페이스를 나타내는 세 가지 대화 상자 모두를 일컫는 일반적인 이름입니다.

 

콜백 (callback)

이벤트에 반응하여 NX가 자동으로 호출하는 사용자-정의 C 루틴입니다. 콜백은 원하는 작업의 수행에 반응합니다.

 

Motif

대화 상자, 푸시 버튼, 토글 버튼 등의 오브젝트를 포함하는 그래픽 사용자 인터페이스 (GUI)의 생성을 허용하는 상용 툴킷입니다. X 툴킷이라 불리는 상용 제품이 요구됩니다.


Persistent 대화 상자

NX 세션 전반에 걸쳐 활성화된 채 남아 있는 대화 상자입니다. 보통, 이 대화 상자는 Motif를 이용하여 생성됩니다. persistent 대화 상자 안의 푸쉬 버튼을 클릭하여 해당하는 X 툴킷 콜백을 호출합니다. 이것은 사용자 대화 상자로도 알려져 있습니다.



상태 변경 콜백

NX 사용자 인터페이스의 상태가 변경될 때 자동으로 호출되는 사용자-지원 콜백입니다. 상태 변경 콜백이 호출될 때, 예상치 못한 상태로 변경되는 것을 방지하기 위해, 해당 persistent 대화 상자에 대한 적절한 변경을 만듦으로써 반응해야 합니다.

 

X 툴킷 콜백

사용자 대화 상자의 (푸시 버튼이나 토글 버튼 같은) 항목의 선택에 반응하여 자동으로 호출되는 사용자-지원 콜백입니다. X 툴킷 콜백은 프리젠테이션 API를 표시하거나 관련 처리를 수행함으로써 반응할 수 있습니다.

 

NX와의 동시적이고 협동적인 접근

사용자 X 툴킷 콜백 내에 프로토콜의 직접적인 집합을 제공합니다. 사용자 애플리케이션은 NX와 동조됩니다 ㅡ 사용자 콜백이 Open C API를 실행할 때, NX 기능이 억제됩니다. 마찬가지로, NX가 대화 상자 영역 2 (DA2)를 표시했을 때, 사용자 애플리케이션의 기능이 억제됩니다. 이런 동조 작동 방식은 사용자 애플리케이션을 NX의 내부 요소로서 나타내게 됩니다.

 

오류 검사

NX는 가능할 때마다 주어진 프로토콜로 사용자 애플리케이션을 검증하기 위해 오류 검사를 수행합니다. 예를 들어, NX가 DA2를 표시하고 있는 동안 사용자 애플리케이션이 DA2를 불러오려 하면, 오류 메시지가 나타나 사용자 애플리케이션을 수정하도록 권고합니다.



관련 글

라즈베리파이 게임기 Picade - 고전 아케이드 스타일

GNUplot 설치 Linux ubuntu 12.04 및 x11 wxt 버그 수정

OCC OpenCASCADE 6.8.0 x64 빌드, CMake 3.9.2, Qt4

댓글