제1장 VisualLISP 개요 1. AutoCAD 프로그래밍 ... 15 1-1. 프로그래밍 언어 ... 15 1-2. AutoCAD 프로그래밍 도구 ... 16 1-3. AutoCAD 2000 프로그래밍 환경 ... 18 1-4. 향상된 VisualLISP 개발 환경 ... 19 1-5. 미리 알아 둘 것 ... 19 2. VisualLISP 시작 ... 21 2-1. 프로그래밍 준비 ... 21 2-2. VisualLISP 가동 ... 24 2-3. 풀다운 메뉴 구성 ... 28 3. 프로그래밍 시작 ... 38 3-1. 프로그래밍 처리 ... 38 3-2. 파일 관리 ... 40 3-3. 프로그램 구성 ... 44 3-4. 특수 문자 ... 45 4. VisualLISP 기초 ... 47 4-1. 기초 함수 ... 47 4-2. 데이터 구성 ... 52 4-3. 함수 선언 (Define Function) ... 54 4-4. 함수의 형태 ... 55 4-5. 변수의 사용 영역 ... 58 4-6. LIST 조작 ... 59 제2장 기초 프로그래밍 1. 산술 연산식 처리 ... 67 1-1. 사칙 연산자 ... 67 1-2. 산술 연산식 함수 ... 71 2. LIST 조작 함수(List Manipulation) ... 82 2-1. LIST 조회 함수 ... 82 2-2. LIST 조작 함수 ... 87 3. 명령어 관련 작업 ... 92 3-1. 시스템 변수 조작 ... 92 3-2. 명령어 함수 ... 95 4. 가변 도형 처리 ... 98 4-1. 사용자 입력 함수(User Input) ... 98 4-2. 기하 함수(Geometric) ... 113 5. 조건문 처리 ... 120 5-1. 관계(Relation) 연산 함수 ... 120 5-2. 논리(Logical) 연산 처리 ... 126 5-3. 조건문 처리 ... 130 6. 데이터 변환 및 문자열 조작 ... 137 6-1. 데이터 변환(Conversion) ... 137 6-2. 문자열 조작(String Handling) ... 144 7. 프로그램 보조 기능 ... 152 7-1. Edit 명령 활용 ... 152 7-2. Search 메뉴 항목들 ... 156 7-3. View 메뉴 항목들 ... 160 제3장 유틸리티 프로그래밍 1. 디스플레이 제어 ... 165 1-1. 그래픽 제어 함수 ... 165 1-2. 화면 출력 함수 ... 169 2. 파일 조작(File Handling) ... 178 2-1. 파일 읽기/쓰기 ... 178 2-2. 파일 조작 함수 ... 183 3. 심벌/함수 조작 ... 192 3-1. 심벌 조작 함수(Symbol Handling) ... 192 3-2. 함수 조작 함수(Function Handling) ... 198 4. 어플리케이션 조작 ... 199 4-1. 어플리케이션 조작 함수(Application Handling) ... 199 4-2. VBA 어플리케이션 ... 201 5. 디버깅 작업 ... 202 5-1. 디버깅 요령 ... 202 5-2. Watch Window(워치 창) ... 204 5-3. Animate(애니메이트) ... 206 5-4. Breakpoint 활용 ... 208 6. 프로젝트 파일 ... 217 6-1. 프로젝트 생성 ... 217 6-2. 프로젝트 관리 ... 219 6-3. FAS 파일 ... 221 제4장 Entity와 심벌 테이블 조작 1. Entity(엔티티) ... 225 1-1. Entity(엔티티) 정보 ... 225 1-2. Entity 정보 확인 ... 228 1-3. Entity 조작 ... 236 2. Selection-Set(선택 집합) ... 246 2-1. Selection-Set 생성 ... 247 2-2. Selection-Set 조작 ... 250 3. Symbol Table ... 259 3-1. Table 구성 ... 259 3-2. 테이블 검색 함수 ... 260 4. 확장 Entity 데이터 ... 268 4-1. 어플리케이션 등록 ... 268 4-2. 확장 Entity 데이터 LIST ... 269 4-3. 확장 Entity 데이터 조작 ... 270 제5장 DCL을 이용한 대화상자 만들기 1. DCL 개요 ... 275 1-1. DCL 파일 ... 275 1-2. DCL 구성 ... 275 1-3. DCL 기초 ... 276 2. DCL 구성 요소 ... 277 2-1. 타일 속성(Attributes) ... 277 2-2. DCL 미리 보기 ... 287 2-3. 실행 타일(Active Tile) ... 289 2-4. 타일 클러스터(Tile Clusters) ... 294 2-5. 장식 및 정보 타일(Decorative and Informative Tiles) ... 299 2-6. 대화상자 탈출 버튼 ... 300 3. DCL 실행 ... 302 3-1. DCL 실행 ... 302 3-2. 대화상자 Open/Close 함수 ... 305 3-3. 타일, 속성 조작 함수 ... 309 3-4. 리스트 박스, 팝업 리스트 조작 함수 ... 310 3-5. 이미지 타일 조작 함수 ... 312 제6장 실무 프로젝트 1. 도면 용지 설정 ... 325 1-1. 대화상자 만들기 ... 325 1-2. 프로그램 구성 ... 326 1-3. 프로그램 분석 ... 328 2. 앵글 작도 프로그램 ... 331 2-1. 대화상자 만들기 ... 331 2-2. 프로그램 작성 및 실행 ... 332 2-3. 데이터 파일 ... 337 2-4. 슬라이드 만들기 ... 339 2-5. 프로그램 운용 방법 ... 340 2-6. 프로그램 분석 ... 342 3. 볼트와 확장 데이터 ... 349 3-1. 대화상자 만들기 ... 349 3-2. 프로그램 실행 ... 356 3-3. 프로그램 분석 ... 357 4. 볼트 물량 집계 ... 361 4-1. 프로그램 구성 ... 361 4-2. 프로그램 실행 결과 ... 364 4-3. 부품 편집 ... 365 4-4. 프로그램 분석 ... 367 5. 사용자 프로그램 에러 ... 373 제7장 VisualLISP 확장 1. ActiveX 인터페이스 ... 381 1-1. ActiveX Objects 인터페이스 ... 381 1-2. Preferences Object ... 381 1-3. Documents Object ... 382 2. VisualLISP ActiveX ... 384 2-1. ActiveX Object 정의 ... 384 2-2. 도면 요소 생성 ... 387 2-3. 도면 요소 특성 ... 390 2-4. 데이터 변환 ... 393 3. Reactor(리액터) ... 394 3-1. Reactor 사용 ... 394 3-2. DataBase Reactor ... 395 3-3. Editor Reactor ... 397 3-4. Linker Reactor ... 401 3-5. Object Reactor ... 403 4. 어플리케이션 제작 ... 405 4-1. Make Application ... 405 4-2. New Application Wizard... ... 406 4-3. Existing Application Properties... ... 408 제8장 메뉴 만들기 1. 메뉴 파일 사용 ... 411 1-1. 메뉴 구성 요소 ... 411 1-2. 메뉴 관련 파일들 ... 414 1-3. 메뉴 파일 로드하기 ... 415 2. 메뉴 파일 구성 ... 417 2-1. 주석문 (Comment) ... 417 2-2. MENUGROUP(메뉴 그룹) ... 418 2-3. BUTTONS(버튼 메뉴) ... 418 2-4. POPO(POPO 메뉴) ... 419 2-5. POPn(POP 메뉴) ... 420 2-6. SCREEN(스크린 메뉴) ... 421 2-7. TOOLBARS(도구막대 메뉴) ... 424 2-8. 이미지 타일 메뉴(IMAGE) ... 425 2-9. 도움말 연결자(HELPSTRINGS) ... 426 2-10. 가속키(ACCELERATORS) ... 427 3. 메뉴 상세 정의 방법 ... 427 3-1. 메뉴 구성 방법 ... 428 3-2. 툴바 메뉴 상세 정의 방법 ... 430 4. 사용자 메뉴 만들기 ... 431 4-1. 사용자 메뉴 파일 ... 432 4-2. 팝업 메뉴 꾸미기 ... 434