라이브러리 만들 어 사용 하 기 | ( 원리 를 배우 는 ) ASAP 광학 설계 프로그래밍 
 이번 에 는 여러 개 의 매크로 파일 들 을 한 번 에 관리 할 수 있 는 방법 에 대해서 알아보 자 . 앞 에서 매크로 함수 를 만들 어 사용 할 때 는 하나 의 . inr 파일 에 모든 프로그램 을 작성 하 였 다 . 그러나 매크로 함수 가 많 아 질 경우 를 생각 해 보 자 . 하나 의 . inr 파일 에 여러 개 의 매크로 함수 를 작성 하 다 보 면 프로그램 이 너무 길 어 지 고 복잡 하 게 보일 수 있 다 . 이럴 경우 매크로 파일 만 을 따로 묶 어서 하나 의 파일 을 만들 면 관리 하 기 편할 것 이 다 . 이것 이 라이브러리 파일 이 다 . 우선 아래 와 같 은 . inr 파일 을 하나 만들 자 . 
 $ IO LIBRARY MYMACROS 
 $ MACRO _ RECT 0 10 10 
 $ MACRO _ ELLIPSE 5 7 7 
 . 1 . 2 ‘ TUBE ‘ 
 $ IO LIBRARY 매크로 뒤 에 MYMACROS 라는 사용 자 가 만들 려는 라이브러리 파일 의 이름 을 적 어 준다 . 이렇게 하 면 mymacros . lib 파일 에서 내용 을 불러와 사용 하 게 된다 . MYMACROS 라는 라이브러리 안 에 는 $ MACRO _ RECT , $ MACRO _ ELLIPSE 라고 하 는 2 개 의 매크로 가 정의 되 어 있 어야 한다 ( 우리 가 작성 할 것 이 다 ) . 그리고 라이브러리 의 사용 이 끝나 면 $ IO LIBRARY CLOSE 를 통해서 열려 있 던 라이브러리 를 닫 아 주 어야 한다 . 만약 라이브러리 를 다 사용 하 고 닫 아 주 지 않 으면 다음 에 다른 이름 의 . lib 파일 을 열 려고 할 때 에러 가 발생 하 게 된다 . 
 . inr 파일 을 다 작성 하 였으면 이번 에 는 . lib 파일 을 만들 어 보 자 . ASAP Workspace 창의 LIB Input 항목 에서 오른쪽 마우스 를 클릭 하 고 New 를 선택 하 자 . 
 그림 8 . 36 Lib 파일 생성 하 기 
 새로운 Input 창 이 생성 되 면 아래 의 코드 를 입력 해 보 자 . . mac 파일 과 달리 . lib 에서 는 매크로 의 이름 과 변수 의 개수 까지 다 작성 하 여야 한다 . . mac 과 달리 . lib 에 는 여러 개 의 매크로 가 입력 되 기 때문 에 매크로 이름 이 있 어야 각각 을 식별 할 수 있 기 때문 이 다 . 
 RECTANGLE Z # 1 # 2 # 3 64 360 
 Length of X : 
 Length of Y : 
 ELLIPSE Z # 1 # 2 # 3 64 360 
 위 의 프로그램 을 다 입력 하 였으면 , File > Save 를 클릭 해 보 자 . 그러면 파일 형식 ( T ) : 이 Lib Files ( *. lib ) 로 설정 되 어 있 는 것 을 확인 할 수 있 다 . 그런데 Save 로 하 지 않 고 Save As … 로 저장 하 려고 하 면 파일 형식 이 . inr 로 설정 된다 . 우리 는 . lib 로 저장 해야 하 기 때문 에 이 부분 을 꼭 확인 하 고 넘어가 야 한다 . 그럼 , 파일 이름 ( N ) : 에 MAMACROS 로 입력 하 고 저장 ( S ) 을 클릭 보 자 . 여기 서 파일 이름 은 $ IO LIBRARY MYMACROS 의 마지막 에 있 는 이름 과 동일 한 이름 으로 저장 해야 한다 . 
 그림 8 . 37 Lib 파일 저장 하 기 
 mymacros . lib 파일 을 저장 하 였 다면 다시 . inr 파일 로 가 서 프로그램 을 실행 ( Run ) 시켜 보 자 . 실행 이 완료 되 고 3 D View 버튼 을 클릭 하 면 그림 8 . 38 의 그림 을 볼 수 있 을 것 이 다 . 
 그림 8 . 38 Lib 파일 로 만든 3 D 형상 
 여기 서 , 위 의 . lib 파일 은 Working Directory 안 에 저장 해야 한다 . 만약 , 다른 디렉 토리 에 저장 하 였 다면 $ IO LIBRARY “ C : ￦ ASAP MACROS ￦ MYMACROS ” 처럼 . lib 파일 이 있 는 폴더 의 경로 를 “ ( 큰 따 음표 ) 를 이용 해서 지정 해 주 어도 된다 . 
 . lib 파일 안 에서 매크로 를 찾 을 때 는 위 에서부터 순서 대로 매크로 이름 을 검색 하 기 때문 에 많이 사용 되 는 매크로 일수록 파일 의 위쪽 에 위치 시켜야 빨리 찾 을 수 있 다 . 빨리 찾 고 빠져 나와야 프로그램 속도 도 빨라진다 . 
 LIB Input 의 mymacros . lib 파일 을 내용 을 수정 할 경우 를 고려 해 보 자 . 내용 을 수정 한 후 에 는 다시 . inr 파일 에서 실행 을 시켜야 한다 . 그런데 , 실수 로 . lib 파일 에서 저장 하 고 바로 실행 버튼 을 누르 는 경우 가 있 다 . 이렇게 되 면 . lib 파일 이 실행 되 는 것 이 어서 . mac 파일 이 생성 된다 . 위 의 프로그램 을 예 로 들 면 macro _ rect . mac 과 macro _ ellipse . mac 의 2 개 의 파일 이 생성 된다 . 그리고 나 면 . lib 파일 을 아무리 수정 하 고 저장 해도 . inr 파일 을 실행 시키 면 변경 한 부분 이 반영 이 되 지 않 는다 . 이것 은 . lib 파일 보다 . mac 파일 이 우선 순위 가 높 아서 . mac 파일 이 실행 되 기 때문 에 . lib 파일 을 아무리 수정 해도 적용 되 지 않 는 것 이 다 . 이럴 경우 는 . lib 파일 을 다시 실행 시켜 . mac 파일 을 수정 하 거나 , 바로 . mac 파일 을 수정 혹은 삭제 한 후 . inr 파일 을 실행 하 면 된다 . 
 1 ) . lib 를 실행 하 면 . mac 파일 이 만들 어 진다 . 
 2 ) 실행 순서 는 . inr > . mac > . lib 이 다 . 같 은 이름 의 . mac 이 있 으면 . lib 는 절대로 열리 지 않 는다 .