HP-GL
HP-GLHP-GL(Hewlett-Packard Graphics Language)의 줄임말이며 HP-GL(Hewlett-Packard, HP-GL)으로 표기되기도 한다. HP-GL은 HP 플로터들이 사용하는 주요 프린터 제어 언어였다.[1]1977년 플로터 HP-8972와 함께 도입되어 거의 모든 플로터의 표준이 되었다.휴렛패커드의 프린터도 PCL 외에 HP-GL/2를 주로 지원한다.[2]
디자인
언어는 일련의 두 개의 문자 코드( 연상키)에서 형성되며, 그 뒤에 선택적 파라미터가 따른다.예를 들어, 다음 문자열을 전송하여 페이지에 호를 그릴 수 있다.
AA100,100,50;
이것은 Arc Absolute를 의미하며, 매개변수는 페이지의 절대 좌표 100,100에 호 중심을 배치하고, 시작 각도는 시계 반대 방향으로 측정한다.네 번째 선택적 매개변수(여기서는 사용되지 않음)는 호가 지속되는 거리를 지정하며, 기본값은 5도로 설정된다.
처음 도입되었을 때 HP-GL에는 다음과 같은 명령이 포함되어 있었다.
명령 | 의미 |
---|---|
벡터 그룹 | |
PA x,y{,x,y{...}} | 절대 플롯 [i] |
PR x,y{,x,y{....}} | 상대 플롯 [i] |
PD | 펜 다운 |
PU | 펜업 |
캐릭터 그룹 | |
CA n | 대체 문자 집합 n [i] 지정 |
CP 공백, 선 | 문자 그림 [d] |
CS m | 표준 set m [i] 지정 |
DI 뛰어오르다 | 절대 방향 [d] |
DR 뛰어오르다 | 상대 방향 [d] |
LB c, ..., c | ASCII 문자열 [c] 레이블 지정 |
SA | 대체 문자 집합 선택 |
SI 넓고 높은 | 절대 문자 크기 [d] |
SL 햇볕에 그을리다 | 절대 문자 기울기(수직에서) [d] |
SR 넓고 높은 | 상대 문자 크기 [d] |
SS | 표준 문자 집합 선택 |
UC x, y, 펜{, ...} | 사용자 정의 문자 [i] |
라인 유형 그룹 | |
LT t{,l} | 선종류 t 및 길이 l [d] 지정 |
SM c | 기호 모드 [c] |
SP n | 펜[i] 선택 |
VA | 적응 속도 |
VN | 정상 속도 |
VS v{,n} | 펜 n [i]의 속도 v 선택 |
그룹 디지타이즈 | |
DC | 디지털화 지우기 |
DP | 디지타이즈 포인트 |
OC | 출력 전류 위치 및 펜 상태 |
OD | 디지털화된 포인트 및 펜 상태 출력 |
축 | |
TL tp{,tn} | 눈금 길이 [d] |
XT | X축 눈금 |
YT | Y축 눈금 |
설정 그룹 | |
IP p1x,p1y,p2x,p2y | 입력 p1 및 p2 [i] |
IW xlo,ylo,xhi,yhi | 입력창 [i] |
OP | 출력 p1 및 p2 [i] |
구성 상태 | |
AP | 자동 펜 픽업 [i] |
DF | 기본값 설정 |
IM e{{,s{,p}}} | 입력 e, s 및 p 마스크 [i] |
IN | 초기화 |
OE | 출력 오류 [i] |
OS | 출력현황 [i] |
SI w,h | 문자 폭과 높이를 설정하다 |
형식:
- [i]: -32767 ~ 32768 사이의 정수 형식.소수점 없음.
- [d]: +/- 127.9999 사이의 십진수 형식.선택적 소수점.
- [c]: ASCII 문자
예
일반적인 HP-GL 파일은 몇 개의 설정 명령으로 시작하고 그 뒤에 긴 그래픽 명령 문자열이 뒤따른다.파일이 ASCII(텍스트 파일) 형식인 경우:
명령 | 의미 |
---|---|
IN; | 초기화, 플로팅 작업 시작 |
IP; | 스케일링 포인트(P1 및 P2)를 기본 위치로 설정 |
SP1; | 펜 1을 고르다 |
PU0,0; | 펜을 들어 올리고 다음 작업을 위해 시작점으로 이동 |
PD100,0,100,100,0,100,0; | 펜을 아래로 놓고 다음 위치로 이동(페이지 주위에 상자 그리기) |
PU50,50; | 펜으로 위로 이동 및 X,Y 좌표 50,50 |
CI25; | 반지름 25로 원을 그리다 |
SS; | 표준 문자 집합을 선택하다 |
DT*,1; | 텍스트 구분 기호를 별표로 설정하고 인쇄하지 마십시오("참"이라는 의미 1). |
PU20,80; | 펜을 들어 20,80으로 옮기다. |
LBHello World*; | 꼬리표를 긋다 |
좌표계는 HP 플로터 중 하나가 지원할 수 있는 가장 작은 단위를 기반으로 하여 25 µm(밀리미터당 40 단위, 인치당 1016 단위)로 설정되었다.좌표 공간은 양수 또는 음수 부동소수, 특히 ±2이었다30.
HP-GL/2
원래 HP-GL 언어는 선폭의 정의를 지원하지 않았는데, 이 매개변수는 플로터에 적재된 펜에 의해 결정되었기 때문이다.최초의 잉크젯 플로터의 출현과 함께, HP-GL 파일 내에 지정된 "펜"의 라인 폭을 프린터에 설정하여, 번거롭고 오류가 발생하기 쉬운 프로세스인 각 펜에 대해 인쇄할 라인 폭을 알아야 했다.Hewlett-Packard Graphics Language/2(HP-GL/2)를 사용하여 선 너비의 정의를 언어에 도입하고 이 단계를 제거할 수 있도록 허용했다.또한, 다른 개선사항들 중에서도 파일 크기가 더 작고 파일 전송 시간이 더 짧은 바이너리 파일 형식이 정의되었고, 최소 해상도가 감소되었다.
명령 | 의미 |
---|---|
NPx | 펜 수; x=1..256 |
PCx,r,g,b | 펜 색상; x=펜, r=빨간색, g=녹색, b=파란색, 0..255 |
PWW,x | 펜 너비, w=펜 너비(mm) 및 소수점, x=펜 |
AGL
HP-GL은 기본 프로그래밍 언어의 확장인 AGL(A Graphics Language)과 관련이 있다.AGL은 플로터 제어의 단순화를 위해 휴렛팩커드 미니컴퓨터를 대상으로 구현되었다.AGL 명령은 컴퓨터가 플로터에 몇 가지 HP-GL 명령으로 중계하는 원하는 그래픽 플로팅 기능을 설명한다.
참고 항목
- 휴스턴 인스트루먼트의 또 다른 플로터 언어인 DMPL
- 게르버 형식은 다른 플롯-설명 형식이다.
- ShareCAD, 무료 온라인 HP-GL/PLT 뷰어
- HP-GL과 유사한 도면 명령이 있는 컴퓨터 언어 로고
참조
- ^ Daniels, Thomas H.; Hennessee, Larry W. (September 1977). "Easy-to-Use Interface Language Controls HP-IB Plotter" (PDF). Hewlett-Packard Journal. 29 (1): 5. Archived (PDF) from the original on 2017-02-27. Retrieved 2016-09-12.
- ^ PCL 5 Printer Language Technical Reference Manual (1st ed.). Hewlett-Packard Company. September 1990. HP Part No. 33459-90903. (NB. 15-21 장에는 HP-GL/2에 대한 설명도 포함되어 있다.)
추가 읽기
- Hewlett-Packard Company, Barcelona Division (September 1996) [1990]. The HP-GL/2 and HP RTL Reference Guide - A handbook for Program Developers - Hewlett-Packard Graphics Language/2 - Hewlett-Packard Raster Transfer Language (draft 2, second ed.). Barcelona, Spain: Addison-Wesley Publishing Company. ISBN 0-201-63325-6. HP Part No. 5961-3526, 5959-9733. Archived from the original on 2017-02-27. Retrieved 2017-02-28.
외부 링크
- "Hewlett-Packard Graphics Language Commands". Archived from the original on 2017-02-27.
- "HP-GL Overview" (PDF). Archived from the original (PDF) on 2018-06-13.
- "Chiplotle". Retrieved 2019-11-24. (NB. Python 기반 HP-GL 플로터 제어 라이브러리: 최신 운영 체제와 함께 빈티지 펜 플로터를 사용하기 위한)