도서안내

도서안내

도서안내

  • AutoCAD 사용자를 위한 AutoLISP Programming(오토리습 프로그래밍)
  • 부제 :
  • 저자 : 박석용
  • 발행일 : 2014년 06월 15일
  • 페이지 : 459쪽
  • ISBN : 9788994636467
  • 판형 : 188 * 257 * 23 mm
  • 정가 : 32,000원

상세소개

4년 전에 AutoCAD 2010버전을 베이스로 출간한 재판을 AutoCAD 2014 버전에서 실행할 수 있도록 다시 개정판을 출간하게 되었습니다.
초판을 출간한 이후 이 교재를 구입한 독자로부터 몇 가지 지적 사항들이 있었습니다. 주로 샘플 소스코드의 틀린 내용이 많은 것 같습니다. 이번에 개정판을 작업하면서 지적 사항들에 대해 꼼꼼하게 테스트를 진행하면서 확인하고 또 확인을 했습니다.
AutoLISP으로 응용프로그램을 작성하려면, 먼저 설계 경험이 있어야 하고 Visual Basic(VB) 혹은 C++랭귀지를 이용해서 프로그램을 해 본 경험이 있다면 금상첨화이겠지만 최소한 컴퓨터 랭귀지에 의한 프로그램 개발 개념 및 환경을 이해해야 합니다.
따라서 AutoCAD로 도면 작성에 숙달된 설계자가 전산 프로그램에 대한 기본적인 사항들을 익힌 후에 AutoLISP를 이용한 설계 자동화 프로그램에 관심을 갖는다면, 이 교재의 내용들이 큰 도움을 줄 수 있을 것이라 감히 말씀 드립니다.
이 교재는 AutoLISP, Visual LISP 및 DCL에 대한 기본적인 개념과 초급, 중급 정도의 내용을 담고 있습니다.


목차

Chapter 1 AutoLISP 기본 개념(AutoLISP Basic Concept)
01 AutoLISP란?
02 AutoLISP 기본 개념
1. 첫 번째 AutoLISP 프로그램 작성
1.1 Visual LISP 편집기 실행하기
1.2 Visual LISP 편집기에서 새 파일 열기
1.3 AutoLISP 파일 저장하기
2. AutoLISP 표현식(Expression)
2.1 AutoLISP 함수 형식(Function Syntax)
3. AutoLISP 프로그램 로드(Load) 및 실행(Running)
4. AutoLISP 데이터 형(Data Type)
4.1 숫자(Number)
4.2 문자열(String)
4.3 아톰(Atom)
4.4 리스트(List)
4.5 선택세트(SS - Selection Set)
4.6 심벌(Symbol)
5. AutoLISP 변수(Variable)
5.1 변수(Variable)의 값 표시하기
5.2 Nil 변수
5.3 사전 정의된 변수
6. AutoLISP 함수(Function)
6.1 S?식(symbolic?expression)
6.2 인용(Quote)과 평가(Evaluation)
6.3 주석(Comment)
7. 지역변수(Local variable) 및 전역변수(Global variable)
03 AutoLISP 함수(Function)
1. 사용자 정의 함수(User defined function)
1.1 명령 형 함수(Command Type Function)
1.2 명령 추가하기(Add the Command)
1.3 함수형 함수(Function Type Function)
2. 함수의 지역 변수(Local Variable of Function)
2.1 지역 변수를 사용하는 함수 예제(Example using local variable)
2.2 인수를 사용하는 함수 예제(Example using Argument)
3. 함수 내용
4. AutoLISP 내장 함수(AutoLISP built?in function)

Chapter 2 Visual LISP 기본 개념(Visual LISP Basic Concept)
01 Visual LISP란?
02 Visual LISP의 주요한 기능 및 특징
03 Visual LISP 편집기
1. Visual LISP 편집기 시작하기
2. Visual LISP 편집기 User Interface
2.1 텍스트 편집기 윈도우
2.2 Visual LISP 콘솔(Console) 윈도우
2.3 코딩 도움 기능 이용하기
2.4 추적 윈도우
3. AutoLISP 소스 코드 로딩 및 실행
3.1 프로그램 로딩 및 실행하기
3.2 선택된 소스 코드 로딩 및 실행하기
3.3 확장된 AutoLISP 함수들 이용하기
3.4 Visual LISP 종료하기

Chapter 3 AutoLISP 기본함수(AutoLISP Basic Function)
01 AutoLISP 용어 및 개념 설명
1. 표현식(Expression)
2. 리턴값(Return value)
02 AutoLISP 초급함수
1. 연산자(Math Functions)
1.1 + 함수(Add ? 더하기)
1.2 ? 함수(Subtract - 빼기)
1.3 / 함수(Divide - 나누기)
1.4 * 함수(Multiply - 곱하기)
1.5 = 함수(인수들이 수치적으로 같은지 비교)
1.6 /= 함수(인수들이 수치적으로 다른지 비교)
1.7 < 함수(각 인수가 오른쪽에 있는 인수보다 수치적으로 작은지 비교)
1.8 > 함수(각 인수가 수치적으로 오른쪽에 있는 인수보다 큰지를 비교)
1.9 >= 함수(각 인수가 수치적으로 오른쪽에 있는 인수보다 크거나 같은지 비교)
1.10 and 함수(제공된 인수의 논리적 AND를 리턴)
1.11 or 함수(제공된 인수의 논리적 OR를 리턴)
1.12 1+ 함수(1 증가하기)
1.13 1? 함수(1 감소하기)
1.14 cos 함수(라디안으로 표시된 각도의 코사인 값을 리턴)
1.15 atan 함수(라디안으로 표시된 숫자의 arctangent 값을 리턴)
1.16 sin 함수(라디안으로 표시된 각도의 sine 값을 리턴)
1.17 sqrt 함수(제곱근의 값을 리턴)
1.18 expt 함수(제곱 값을 리턴)
2. 문자열 함수(String Functions)
2.1 strcase 함수(문자열을 대문자 혹은 소문자로 변환)
2.2 strcat 함수(다중 문자열을 하나의 문자열로 결합)
2.3 strlen 함수(문자열의 길이 즉 글자 수를 리턴)
2.4 substr 함수(문자열을 검색)
2.5 wcmatch 문자(문자열에 와일드카드 패턴매치를 수행)
3. command 함수(AutoCAD 명령을 실행)
4. load 함수(파일에 저장되어 있는 AutoLISP 표현식을 평가)
4.1 자동 로딩(Automatic Loading) 설정하기
4.2 목차에 추가하기
5. 시스템 변수(System variable)
6. 사용자 입력 함수(User Input Function)
6.1 getint or getreal 함수(숫자 입력을 받음)
6.2 getangle 함수(각도 입력을 받음)
6.3 getcorner 함수(대각선 코너 좌표 입력을 받음)
6.4 getdist 함수(거리 입력을 받음)
6.5 getpoint 함수(좌표 입력을 받음)
6.6 getstring 함수(문자열 입력을 받음)
6.7 getkword 함수(옵션 선택을 요구)
6.8 initget 함수(다음 사용자 입력함수 호출에 사용될 키워드 설정)
7. 형상 함수(Geometric Function)
7.1 angle 함수(두 끝점에 의해 정의된 선의 라디안 각도 검색)
7.2 distance 함수(두 점 사이의 3D 거리를 검색)
7.3 inters 함수(두 선의 교차점을 검색)
7.4 osnap 함수(객체 스냅 모드를 지정된 점으로 적용한 결과인 3D 점을 검색)
7.5 polar 함수(한 점에서 지정된 각도 및 거리만큼 떨어져 있는 곳에서 UCS 3D 점을 검색)
7.6 textbox 함수(지정된 문자 객체를 측정하고 문자를 둘러싸는 상자의 대각좌표를 검색)
8. 표시 제어 함수(Display Control Function)
8.1 graphscr 함수(AutoCAD 그래픽 스크린 호출)
8.2 princ 함수(식을 명령 행 혹은 열린 파일에 기록)
8.3 prompt 함수(프롬프트 영역에 문자열을 표시)
8.4 redraw 함수(현재 뷰포트 혹은 객체를 현재 뷰포트에 재생성)
9. 숫자 함수(Number Function)
9.1 abs 함수(절대 값을 리턴)
9.2 atof 함수(문자열을 실수로 변환)
9.3 atoi 함수(문자열을 정수로 변환)
9.4 fix 함수(실수를 정수로 변환)
9.5 float 함수(숫자를 실수로 변환)
9.6 itoa 함수(정수를 문자열로 변환)
10. 변환 함수(Conversion Function)
10.1 ascii 함수(문자열의 첫 번째 문자를 ASCII 문자 코드(정수)로 변환한 값을 리턴)
10.2 chr 함수(ASCII 문자 코드를 표현하는 정수를 단일 문자로 변환)
10.3 cvunit 함수(ASCII 한 측정 단위에서 다른 단위로 값을 변환)
10.4 rtos 함수(숫자로 거리를 나타내는 형식화된 문자열로 변환)
10.5 angtos 함수(숫자로 각도를 나타내는 형식화된 문자열로 변환)

Chapter 4 AutoLISP 중급함수(Intermediate Function)
01 AutoLISP 중급함수(Intermediate Function)
1. 리스트 함수(List Function)
1.1 car 함수(리스트의 첫 번째 항목을 리턴)
1.2 cdr 함수(리스트의 첫 번째 항목을 제외한 모든 항목들을 리턴)
1.3 cadr(리스트의 두 번째 항목을 리턴)
1.4 caddr(리스트의 세 번째 항목을 리턴)
1.5 caar(리스트의 첫 번째 항목의 첫 번째 항목을 리턴)
1.6 cddr(리스트의 두 번째 항목 이후의 모든 항목을 포함하는 리스트 리턴)
1.7 foreach(리스트의 각 항목들을 평가하고 마지막 값 리턴)
1.8 list(리스트를 작성)
1.9 cons(리스트 시작 위치에 항목을 추가하거나 dotted list 구성)
1.10 Dotted list or dotted Pairs
1.11 nth(리스트의 n번째 항목을 리턴)
1.12 append(다수의 리스트들을 하나의 리스트로 결합)
1.13 length(리스트 항목들의 개수를 리턴)
2. 연관 리스트/DXF 그룹코드(Associated List/DXF Group Code)
2.1 assoc(요소를 위해 연관리스트를 검색하고 그 연관리스트의 데이터를 리턴)
2.2 Entity DXF Group Code
3. DXF Group code value table
4. DXF Entity Types 약어 표:(DXF Group Code)
5. 주요 엔티티 DXF Group code(Data List)
5.1 선(LINE) 엔티티
5.2 원(CIRCLE) 엔티티
5.3 치수 ? 반지름(DIMENSION) 엔티티
5.4 블록(BLOCK)
6. 엔티티 선택 함수(Selecting Function)
6.1 entsel(하나의 점을 지정해서 단일 엔티티를 선택하라고 프롬프트합니다)
6.2 ssget(다중 엔티티를 선택)
7. 선택세트 함수(Selection set)
7.1 ssadd(선택세트에 새로운 선택세트를 추가)
7.2 ssdel(선택세트에서 엔티티를 삭제)
7.3 sslength(선택세트 내부에 속한 엔티티 개수 검색)
7.4 ssname(선택세트 내부에 속한 엔티티 이름을 검색)
8. 엔티티 함수(Entity Function)
8.1 entget(엔티티의 DXF Group code를 리턴)
8.2 entlast(도면 내에 삭제되지 않은 마지막 엔티티 이름 리턴)
8.3 entnext(도면 내에 삭제되지 않은 첫 번째 엔티티 이름 리턴)
8.4 entdel(도면 내에 엔티티를 삭제)
8.5 entmod(도면 내에 엔티티를 변경)
8.6 entupd(스크린의 엔티티를 재생성)
8.7 entmake(도면 데이터베이스에 새로운 엔티티를 추가)
9. 파일 함수(File Function)
9.1 open(파일을 열기)
9.2 close(열린 파일을 닫기)
9.3 read?line(열린 파일에서 한 라인을 읽기)
9.4 write?line(열린 파일에서 한 라인을 쓰기)
10. 루프 함수(Loop Function)
10.1 while(조건이 진(T)이면 루프를 진행)
10.2 repeat(지정된 횟수만큼 반복 진행)
11. 조건 함수(Conditional Function)
11.1 if(수행해야 할 표현식을 결정하기 위해 조건을 평가)
11.2 cond(조건 중에 하나가 T일 때까지 조건을 평가, 평가 후 종료)
12. 사용자 정의 ERROR 함수
12.1 AutoCAD rejected function
12.2 Bad argument type
12.3 extra right parenthesis
12.4 Function cancelled
12.5 incorrect number of arguments to a function
12.6 malformed list
12.7 null function
12.8 quit / exit abort

Chapter 5 AutoLISP 고급함수(Advanced Function)
01 AutoLISP 고급함수(Advanced Function)
1. NENTSEL 함수(NENTSEL Function)
2. 복합 엔티티 처리(Complex Entity Handling)
2.1 Insert / Block
2.2 속성(Attribute)
3. 심벌 테이블(Symbol Table) 처리함수
3.1 심벌 테이블 공용 DXF 그룹 코드
3.2 심벌 테이블 항목의 일반 DXF 그룹 코드
3.3 APPID Symbol
3.4 BLOCK_RECORD Symbol
3.5 DIMSTYLE Symbol
3.6 Layer Symbol
3.7 LTYPE Symbol
3.8 STYLE Symbol
3.9 UCS Symbol
3.10 VIEW Symbol
3.11 VPORT Symbol

Chapter 6 DCL(Dialog Control Language)
01 DCL 개념 및 구성요소
1. DCL(Dialog Control Language)은 무엇인가?
2. 대화상자 제어(Dialog Box Control)
2.1 확인 버튼(Okay Button)
2.2 취소 버튼(Cancel Button)
2.3 라디오 버튼(Radio button)
2.4 이미지 버튼(Image button)
2.5 텍스트(Text)
2.6 에디터박스(Edit_box)
2.7 리스트박스(List_box)
2.8 팝업리스트(PopupList)
2.9 토글 버튼(Toggle)
2.10 슬라이드 이미지(Slide Image)
2.11 슬라이더(Slider)
2.12 행과 열(Row and Column)
2.13 템플릿 DCL 파일
02 AutoLISP Code와 DCL
1. AutoLISP 파일 및 DCL 파일
1.1 DCL 파일: MY_DCL.dcl 파일을 작성하고, 저장합니다.
1.2 AutoLISP 파일: MY_DCL.LSP 파일을 작성하고, 저장합니다.
2. Basic DCL 파일
3. 행과 열(Row and Column)
3.1 Column Boxed Column or Column Boxed Row 대화상자
3.2 Column Boxed Column 대화상자
3.3 Column Boxed Row 대화상자
3.4 Column Boxed Row 대화상자
3.5 Column Boxed Column 대화상자
4. 제어(Control) - 대화상자 구성요소
4.1 레이아웃 제어(Layout Control)
4.2 버튼(Button)
4.3 라디오 버튼(RADIO BUTTON), BOXED RADIO COLUMN, RADIO COLUMN
4.4 라디오 버튼(RADIO BUTTON), BOXED RADIO ROW, RADIO ROW
4.5 에디터 박스(EDIT BOX)
4.6 리스트 박스(LIST BOX)
4.7 POPUP LIST
4.8 TEXT
4.9 IMAGE
5. DCL과 AutoLISP 함수 상호호출
5.1 행위(ACTION)
5.2 Set_Tile and Mode_Tile
5.3 리스트와 리스트 데이터 처리 방법(List and how to handle them)
5.4 대화상자로부터 데이터 저장 방법(Saving data from the dialog box)

Chapter 7 고급 DCL(Advanced DCL)
01 대화상자 타일(제어)들과 연결함수
1. 버튼(Button)
2. 텍스트(Text)
3. 에디터박스(Edit_Box)
4. 리스트박스(List_Box)
5. 팝업리스트(Popup List)
6. 라디오 버튼(Radio Button)
7. 토글(Toggle)
8. 객체 선택 버튼
9. 슬라이드 이미지 버튼(Slide Image Button)
10. 이미지 버튼(Image Button)
11. 슬라이더(Slider)
12. 엔티티들의 정보를 다루는 다양한 제어들 이용하기

Chapter 8 AutoLISP 디버깅(AutoLISP Debugging)
01 AutoLISP 디버깅
1. Visual LISP 디버깅
1.1 디버그 시작하기
1.2 Visual LISP 디버그 기능 이용하기
1.3 Visual LISP 데이터 검사 도구 이용하기
1.4 기호 서비스 대화상자 이용하기
1.5 검사 윈도우 이용하기
1.6 도면 엔티티 데이터 보기
02 AutoLISP 프로그램 만들기
1. 소스 컴파일 및 프로그램 링크하기
2. 응용 프로그램 모듈 만들기
03 Visual LISP 파일 관리
1. Visual LISP 프로젝트 개념
2. 프로젝트 정의하기