$READ

C/C++를 사용하다 보면 파일들을 여러개로 분리해서 관리하게 된다. 대표적인 예가 .h와 .c로 파일을 나누는 것이다. 이렇게 파일을 나누어 관리하는 이유는 알아보기도 쉽고 수정하거나 관리하기가 편하기 때문이다. ASAP에서도 동일하게 code를 여러개의 파일로 나누어 관리할 수 있다. Code를 나누어 작성해 놓으면 나중에 code를 수정할 때 쉽고 빠르게 내용을 찾을 수 있게 된다. 보통은 프로그램이 너무 길어지거나 모듈화해서 따로 관리하고 싶을때, 그리고 변수들을 한 곳에 모아서 관리하고 싶을때 사용하게 된다.

이제 code를 각각의 파일로 나누는 방법과 원하는 파일을 불러와 적용하는 방법에 대해서 알아보자.

read_rect.inr
SYSTEM NEW
RESET

X1=10                     !! X1 지정
Y1=5                       !! Y1 지정
Z1=0                       !! Z1 지정

SURFACE
  OPTICAL Z
(Z1) RECTANGLE  (X1) (Y1)
OBJECT ‘READ_RECT’&REG

WINDOW Y X
PLOT FACETS
RETURN 

위의 프로그램을 read_rect.inr 이라는 이름으로 저장해 보자. 이것은 Z축 0의 위치에 10×5 크기의 사각형을 그려준다. 이제, 변수 X1, Y1, Z1에 값을 지정하는 code 부분을 다른 파일로 옮겨보자.

X1, Y1, Z1의 변수값을 지정하는 부분을 따로 떼어 xyz_values.inr 파일로 만들어 보자.

xyz_values.inr
X1=10                     !! X1 지정
Y1=5                       !! Y1 지정
Z1=0                       !! Z1 지정

그리고, read_rect.inr 파일에서는 X1, Y1, Z1의 변수 지정 부분을 삭제한다. 대신 $READ 명령어와 xyz_values.inr 파일의 이름인 XYZ_VALUES 를 뒤에 적어준다. 파일 확장자인 .inr은 적지 않아도 된다.

read_rect.inr
SYSTEM NEW
RESET$READ XYZ_VALUES                !! $READ 명령어로 xyz_values.inr 파일을 불러옴

SURFACE
  OPTICAL Z
(Z1) RECTANGLE  (X1) (Y1)
OBJECT ‘READ_RECT’

&REG

WINDOW Y X
PLOT FACETS
RETURN


프로그램을 실행시켜 보자. Command Output Window에 나타나는 내용을 보면 어떤 과정으로 진행되었는지 알 수 있다.

— SYSTEM NEW
— RESET
— $READ XYZ_VALUES
— X1=10
— Y1=5
— Z1=0
— SURFACE
—  OPTICAL Z (Z1) RECTANGLE (X1) (Y1)
— OBJECT ‘READ_RECT’
— &REG
X1=10
Y1=5
Z1=0
— WINDOW Y X
— PLOT FACETS
Window Vertical: Y = -5.20000     to  5.20000      ( 10.4000    )
Horizontal: X = -10.2000     to  10.2000      ( 20.4000    )
— RETURN

위의 Command Output Window 내용을 보면 $READ XYZ_VALUES 명령어 뒤에 xyz_values.inr에 있는 내용이 그래도 적용된다. 그리고나서 다시 read_rect.inr로 돌아와서 뒤의 프로그램을 계속해서 실행한다. ASAP은 아주 단순해서 Command 명령어를 위에서 아래로 순서대로 차곡차곡 실행하기만 한다. 이렇게 생각하면 별 어려움 없이 프로그램을 여러 파일로 분리해서 사용할 수 있을 것이다.

3D 도면을 inr 파일로 변환해서 불러올 때도 파일을 분리해서 관리하면 아주 편하다. 한가지 주의해야 할 것은 이 두 파일들을 같은 디렉토리에(Setr Working Directory…) 저장해야 한다는 것이다. 그래야 파일을 찾을 수 있기 때문이다. 아니면, 하드웨어의 절대 경로를 지정해 주어야 한다. 만약 C:₩home 디렉터리에 xyz_values.inr 파일을 저장했다면 $READ  C:homeXYZ_VALUES 라고 지정해 주고 파일을 지워버리지 않게 잘 관리해야 한다.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: