시즌2
  
인기검색어 : 솔리드웍스, 인벤터, 동영상, 강좌, 3d
HOME > 게시판
 
 
타이틀  
 
제목 AutoCAD를 위한 AUTO LISP(VISUAL LISP) 따라하기
이름 운영자       추천하기 0 작성일 2008-09-30 18:26:41

내용
<구매하기>
 금년 정초 우연히 굴지의 모 공사업체의 시공 후 보관해 왔던 AutoCAD 도면들을 표준화해서 ERP시스템에 도면과 자재리스트(BOM) 데이터베이스를 구축하고, 뷰잉도구(Viewing tool)를 이용해서 검색하는 개발 프로젝트에 참여하게 되었습니다.
 나의 개발범위(Scope)는 공정(P&ID) 도면에서 전계장, 배관, 밸브, 장치, 도면연결자 심볼을 검색해서 각 심볼에 필요한 자재리스트 값들을 속성들로 정의하고, 그것들을 블록으로 만들고, 추출해서 XML 형식으로 저장하는 유틸리티 프로그램 개발작업 이었습니다. 여러 가지 여건상 AutoLISP로 개발하고, AutoCAD 2006 버전에서 실행할 수 있도록 프로그램을 개발하게 되었습니다.
 여러 해 동안 멀리 했던 AutoCAD를 다시 접하게 되고, 희미한 기억을 되살려 AutoLISP로 개발을 하자니, 먼저 생소한 Visual LISP부터 익혀야 했습니다. 서점에 가서 AutoLISP 혹은 Visual LISP에 관한 책을 찾아 보았지만 전혀 없어 무척이나 당황 했습니다. 서점 담당자에게 물어보니, 컴퓨터에서 검색을 해 보더니 외국 서적을 주문해야 한다고 하더군요. 그래서 포기하고 집에 와서 2주간 동안 하루에 15시간 이상 열심히 공부했습니다. 대다수 인터넷의 사이트에는 기초적인 내용만 소개되어 있더군요. 회원 가입해야 하고 그나마 수강료를 지불해야 볼 수 있으니……
 AutoCAD 실행하고 도움말에서 AutoLISP, Visual LISP 및 DCL에 관련된 문서는 모두 읽어 본 것 같습니다. 그로부터 2개월 동안 프로그램 개발해서, 수 많은 도면 열고 지겨운 테스트만 한 달간 한 후 납품을 완료했습니다. 돌이켜 보면, 프로그램 테스트하면서 10년 넘게 직장에서 AutoCAD로 밥벌이 하던 때 보다 AutoCAD와 AutoLISP에 대해 확실하게 많은 것을 알게 되었습니다.
 그래서 AutoLISP, Visual LISP 및 DCL에 대해 단 몇 개월 동안 나의 머릿속에 가득 쌓인 내용들을 정리하게 되었고, 예전에 알고 지냈던 출판사 사장님 권유로 출간을 하게 되었습니다. 이것이 이 책이 탄생하게 된 이유이고 과정입니다. 
 AutoCAD로 도면 작성에 숙달된 설계자가 AutoLISP의 이용에 관심을 갖는다면, 이 책의 내용이 도움을 줄 수 있을 것이라 감히 말씀 드립니다. 이 책은 AutoLISP, Visual LISP 및 DCL에 대한 기본적인 개념과 초급, 중급 정도의 내용을 담고 있습니다. 원고를 완성하고 보니, 소개할 수 없는 많은 정말 중요한 내용들이 남아 있어 안타까운 마음 입니다. 고로 아래 저의 E-mail 로 질문이나 연락 주시면 여러분의 요구를 거절하지 않을 것을 분명하게 약속 드립니다. 이 책을 출간함에 있어 설명이 세련되지 못하고, 내용의 표현이 부적절한 부분이 있을 것으로 사료되며, 미비하고 부족한 점들은 독자 여러분의 진심 어린 지도편달을 주시면 내용을 수정 보완할 것을 약속 드리며, AutoCAD를 이용한 설계업무 자동화를 원하는 분들에게 조금이나마 도움이 되기를 기원 합니다.

 
책내용
 Chapter 01 AutoLISP 기본 개념(AutoLISP basic concept)
01 AutoLISP란?
02 AutoLISP 기본 개념
 1) 첫 번째 AutoLISP 프로그램 작성
 2) AutoLISP 프로그램 로드 및 실행
 3) 리스트 및 리스트 처리 (List and List processing) ⊙ 숫자 (number)
 ⊙ 문자열(String) 
 ⊙ 아톰(Atom) 
 ⊙ 리스트(List)
 ⊙ 변수(Variable) 와 심벌(Symbol)
 ⊙ 함수(Function)
 ⊙ 연관 리스트 (Associated List)
 ⊙ S?식(symbolic?expression)
 ⊙ 인용 (Quote)과 평가(Evaluation)
 ⊙ 지역변수(Local variable) 및 전역변수(Global variable)
 ⊙ 함수 내용

03 AutoLISP 함수(Function)
 1) 사용자 정의 함수 (User defined function)
 2) AutoLISP 내장 함수(AutoLISP built?in function)

Chapter 02 Visual LISP 기본 개념(Visual LISP basic concept)
 01 Visual LISP란?
 02 Visual LISP의 주요한 기능 및 특징
 03 Visual LISP 편집기
1) Visual LISP 편집기 시작하기
2) Visual LISP 메뉴 및 기능 구성
 ⊙ 텍스트 윈도우
 ⊙ 텍스트 윈도우 칼라 코딩
 ⊙ 코딩 (Coding)
 ⊙ 소스 코드 형식 살펴보기
 ⊙ 소스 코드 검사하기
 ⊙ 프로그램 실행하기
 ⊙ 콘솔 (Console) 윈도우
 ⊙ 다중 도면을 위한 콘솔 윈도우
 ⊙ 콘솔 단축메뉴 이용
 ⊙ 콘솔 로그 저장
 ⊙ 추적 윈도우
 ⊙ 소스 코드 로딩
 ⊙ 코드 확인
3) Visual LISP 디버거
 ⊙ 환경 설정 (Environment Setting)
 ⊙ 괄호 일치 (Parenthesis Matching)
 ⊙ 감시 추가 (Adding Watch)
 ⊙ 검사 (Inspecting)
 ⊙ 에러 추적(Error Trace)
 ⊙ 중단점 전환(Toggle Breakpoint) 
 ⊙ Apropos로 단어 완성하기
 ⊙ 애니메이트 모드 (Animate Mode)
 ⊙ 블록 주석 (Commenting) 과 블록 주석 취소 (Uncommenting)
4) Visual LISP 프로젝트 사용하기
 ⊙ 프로젝트 작성
5) Visual LISP 응용프로그램 만들기
 ⊙ 응용프로그램 만들기 마법사 실행

Chapter 03 AutoLISP 함수
01 AutoLISP 용어 및 개념 설명
 1) 표현식 (Expression)
 2) 리턴 값 (Return value)
 3) 괄호 일치
 4) 심벌(Symbol)
 5) 보호된 심벌 (Protected Symbol)
 6) 변수 (Variable)
 7) 선택세트 (Selection Set)
 8) 엔티티 이름(Entity name)
 9) 파일 포인터 (File Descriptors)

02 AutoLISP 초급함수
 1) 연산자 (Math Functions)
 ⊙ + (더하기)
 ⊙ ? (빼기)
 ⊙ / (나누기)
 ⊙ * (곱하기)
 ⊙ = (인수들이 수치적으로 같은지 비교)
 ⊙ /= (인수들이 수치적으로 다른지 비교)
 ⊙ < (각 인수가 오른쪽에 있는 인수보다 수치적으로 작은 지 비교) 
 ⊙ > (각 인수가 수치적으로 오른쪽에 있는 인수보다 큰지를 비교)
 ⊙ >= (각 인수가 수치적으로 오른쪽에 있는 인수보다 크거나 같은지 비교)
 ⊙ and (제공된 인수의 논리적 AND를 리턴)
 ⊙ or (제공된 인수의 논리적 OR를 리턴)
 ⊙ 1+ (1 증가하기)
 ⊙ 1? (1 감소하기)
 ⊙ cos (라디안으로 표시된 각도의 코사인 값을 리턴)
 ⊙ atan (라디안으로 표시된 숫자의 arctangent 값을 리턴)
 ⊙ sin (라디안으로 표시된 각도의 sine 값을 리턴)
 ⊙ sqrt(제곱근의 값을 리턴)
 ⊙ expt (제곱 값을 리턴)
2) 문자열 함수(String Functions)
 ⊙ strcase (문자열을 대문자 혹은 소문자로 변환)
 ⊙ strcat (다중 문자열을 하나의 문자열로 결합)
 ⊙ strlen (문자열의 길이 즉 글자수를 리턴)
 ⊙ substr (문자열을 검색)
 ⊙ wcmatch (문자열에 와일드카드 패턴매치를 수행)
3) command 함수(AutoCAD 명령을 실행)
4) load 함수(파일에 저장되어 있는 AutoLISP 표현식을 평가)
 ⊙ 자동 로딩(Automatic Loading) 
 ⊙ 목차에 추가
5) 시스템 변수 (System variable)
6) 사용자 입력 함수(User Input Function)
 ⊙ Getint or getreal (숫자 입력을 받음)
 ⊙ Getangle (각도 입력을 받음)
 ⊙ Getcorner (대각선 코너 좌표 입력을 받음)
 ⊙ Getdist (거리 입력을 받음)
 ⊙ Getpoint (좌표 입력을 받음)
 ⊙ Getstring(문자열 입력을 받음)
 ⊙ Getkword (옵션 선택을 요구)
 ⊙ initget(다음 사용자 입력함수 호출에 사용될 키워드 설정)
7) 형상 함수 (Geometric Function)
 ⊙ angle (두 끝점에 의해 정의된 선의 라디안 각도 검색)
 ⊙ distance (두 점 사이의 3D 거리를 검색)
 ⊙ inters (두 선의 교차점을 검색)
 ⊙ osnap(객체 스냅 모드를 지정된 점으로 적용한 결과인 3D 점을 검색)
 ⊙ polar(한 점으로부터 지정된 각도 및 거리만큼 떨어져 있는 곳에서 UCS 3D 점을 검색)
 ⊙ textbox(지정된 문자 객체를 측정하고 문자를 둘러싸는 상자의 대각 좌표를 검색)
8) 표시 제어 함수 (Display Control Function)
 ⊙ graphscr(AutoCAD 그래픽 스크린 호출)
 ⊙ princ(식을 명령 행 혹은 열린 파일에 기록)
 ⊙ prompt(프롬프트 영역에 문자열을 표시)
 ⊙ redraw(현재 뷰포트 혹은 객체를 현재 뷰포트에 재생성)
9) 숫자 함수 (Number Function)
 ⊙ abs (절대값을 리턴)
 ⊙ atof (문자열을 실수로 변환)
 ⊙ atoi(문자열을 정수로 변환)
 ⊙ fix (실수를 정수로 변환)
 ⊙ float (숫자를 실수로 변환)
 ⊙ itoa (정수를 문자열로 변환)
10) 변환 함수 (Conversion Function)
 ⊙ ascii(문자열의 첫 번째 문자를 ASCII 문자 코드(정수)로  변환한 값을 리턴)
 ⊙ chr (ASCII 문자 코드를 표현하는 정수를 단일 문자로 변환)
 ⊙ cvunit (ASCII 한 측정 단위에서 다른 단위로 값을 변환) 
 ⊙ rtos(숫자로 거리를 나타내는 형식화된 문자열로 변환)
 ⊙ angtos(숫자로 각도를 나타내는 형식화된 문자열로 변환)

Chapter 04 AutoLISP 중급함수(Intermediate Function)
01 AutoLISP 중급함수(Intermediate Function)
1) 리스트 함수 (List Function)
 ⊙ car(리스트의 첫 번째 항목을 리턴)
 ⊙ cdr (리스트의 첫 번째 항목을 제외한 모든 항목들을 리턴)
 ⊙ cadr (리스트의 두 번째 항목을 리턴)
 ⊙ caddr(리스트의 세 번째 항목을 리턴)
 ⊙ caar(리스트의 첫 번째 항목의 첫 번째 항목을 리턴)
 ⊙ cddr (리스트의 두 번째 항목 이후의 모든 항목을 포함하는 리스트 리턴)
 ⊙ foreach (리스트의 각 항목들을 평가하고 마지막 값 리턴)
 ⊙ list (리스트를 작성)
 ⊙ cons (리스트 시작위치에 항목을 추가하거나 dotted list 구성) 
 ⊙ Dotted list or dotted Pairs
 ⊙ nth (리스트의 n번째 항목을 리턴)
 ⊙ append (다수의 리스트들을 하나의 리스트로 결합)
 ⊙ length (리스트 항목들의 개수를 리턴)
2) 연관 리스트/DXF 그룹코드 (Associated List/DXF Group Code)
 ⊙ assoc(요소를 위해 연관리스트를 검색하고 그 연관리스트의 데이터를 리턴)
 ⊙ Entity DXF Group Code
☞ 객체(Object)와 엔티티(Entity)
☞ DXF 형식(Format)
(1). DXF 파일의 HEADER Section Group code
(2). DXF 파일의 CLASS Section Group code
(3). DXF 파일의 TABLE Section Group code
(4). DXF 파일의 BLOCK Section Group code
(5). DXF 파일의 ENTITIES Section Group code
(6). DXF 파일의 OBJECTS Section Group code
(7). DXF 파일의 THUMBNAILIMAGE Section Group code
3) DXF Group code value table
4) DXF Entity Types 약어 표 (DXF Group Code)
5) 주요 엔티티 DXF Group code (Data List)
 ⊙ 선 (LINE)
 ⊙ 원(CIRCLE)
 ⊙ 블록 (BLOCK)
 ⊙ 치수 ? 반지름 (DIMENSION)
6) 엔티티 선택 함수(Selecting Function)
 ⊙ entsel (하나의 엔티티를 선택)
 ⊙ ssget (다중 엔티티를 선택)
7) 선택세트 함수(Selection set)
 ⊙ ssadd (선택세트에 새로운 선택세트를 추가)
 ⊙ ssdel(선택세트에서 엔티티를 삭제)
 ⊙ sslength(선택세트 내부에 속한 엔티티 개수 검색)
 ⊙ ssname(선택세트 내부에 속한 엔티티 이름을 검색)
8) 엔티티 함수(Entity Function)
 ⊙ entget (엔티티의 DXF Group code를 리턴).
 ⊙ entlast (도면 내에 삭제되지 않은 마지막 엔티티 이름 리턴)
 ⊙ entnext(도면 내에 삭제되지 않은 첫 번째 엔티티 이름 리턴)
 ⊙ entdel (도면 내에 엔티티를 삭제)
 ⊙ entmod (도면 내에 엔티티를 변경)
 ⊙ entupd (스크린의 엔티티를 재생성)
 ⊙ entmake(도면 데이터베이스에 새로운 엔티티를 추가)
9) 파일 함수(File Function)
 ⊙ open(파일을 열기)
 ⊙ close(열린 파일을 닫기)
 ⊙ read?line(열린 파일에서 한 라인을 읽기)
 ⊙ write?line(열린 파일에서 한 라인을 쓰기)
10) 루프 함수(Loop Function)
 ⊙ while (조건이 진(T)이면 루프를 진행)
 ⊙ repeat (지정된 횟수만큼 반복 진행)
11) 조건 함수 (Conditional Function)
 ⊙ if(수행해야 할 식을 결정하기 위해 조건을 평가)
 ⊙ cond(조건 중에 하나가 T일 때까지 조건을 평가, 평가 후 종료)
12) 사용자 정의 ERROR 함수
 ⊙ AutoCAD rejected function
 ⊙ Bad argument type
 ⊙ extra right parenthesis
 ⊙ Function cancelled
 ⊙ incorrect number of arguments to a function
 ⊙ malformed list
 ⊙ null function
 ⊙ quit / exit abort

Chapter 05 AutoLISP 고급함수(Advanced Function)
01 AutoLISP 고급함수(Advanced Function)
1) NENTSEL 함수 (NENTSEL Function)
2) 복합 엔티티 처리(Complex Entity Handling)
 ⊙ Insert / Block
 ⊙ 속성(Attribute)
3) 심벌 테이블(Symbol Table) 처리함수
 ⊙ APPID Symbol
 ⊙ BLOCK_RECORD Symbol
 ⊙ DIMSTYLE Symbol 
 ⊙ LAYER Symbol
 ⊙ LTYPE Symbol
 ⊙ STYLE Symbol
 ⊙ UCS Symbol
 ⊙ VIEW Symbol
 ⊙ VPORT Symbol

Chapter 06 DCL(Dialog Control Language)
01 DCL 개념 및 구성요소
1) DCL(Dialog Control Language) 은 무엇인가?
2) 대화상자 (Dialog Box) 제어 (Control)
 ⊙ 확인 버튼(Okay Button)
 ⊙ 취소 버튼(Cancel Button)
 ⊙ 라디오 버튼(Radio button)
 ⊙ 이미지 버튼(Image button)
 ⊙ 텍스트(Text)
 ⊙ 에디터박스(Edit_box)
 ⊙ 리스트박스(List_box)
 ⊙ 팝업리스트(PopupList)
 ⊙ 토글 버튼(Toggle)
 ⊙ 슬라이드 이미지(Slide Image)
 ⊙ 슬라이더(Slider)
 ⊙ 행과 열(Row and Column)
 ⊙ 템플릿 DCL 파일
02 AutoLISP Code와 DCL
1) AutoLISP 파일 및 DCL 파일
 ⊙ DCL 파일: MY_DCL.dcl
 ⊙ AutoLISP 파일: MY_DCL.LSP
2) Basic DCL 파일
3) 행과 열(Row and Column)
 ⊙ Column Boxed Column 대화상자
 ⊙ Column Boxed Row 대화상자
 ⊙ Column Boxed Column 대화상자
 ⊙ Column Boxed Row 대화상자
 ⊙ Column Boxed Column 대화상자
 ⊙ Column Boxed Row 대화상자
4) 제어 (Control) ? 대화상자 구성요소
 ⊙ 레이아웃 제어(Layout Control)
 ⊙ 버튼 (Button)
 ⊙ 라디오 버튼(RADIO BUTTON), BOXED RADIO COLUMN, RADIO COLUMN
 ⊙ 라디오 버튼(RADIO BUTTON), BOXED RADIO ROW, RADIO ROW
 ⊙ 에디터 박스(EDIT BOX)
 ⊙ 리스트 박스(LIST BOX)
 ⊙ POPUP LIST
 ⊙ TEXT
 ⊙ IMAGE
5) DCL과 AutoLISP 함수 상호호출
 ⊙ 행위(ACTION)
 ⊙ Set_Tile and Mode_Tile
 ⊙ 리스트와 리스트 데이터 처리 방법 (List and how to handle them)
 ⊙ 대화상자로부터 데이터 저장 방법 (Saving data from the dialog box)

Chapter 07 고급 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) 다양한 제어들 이용하기

목록 쓰기

총 : 0 개의 댓글이 등록되어 있습니다.
No 작성자 내용 등록일 삭제
작성된 댓글이 없습니다.

번호 제목 등록자 등록일 히트 추천
  2D메카 OPEN 안내입니다. admin 2008-09-27 32767 0
11    메카피아 기계설계 KS 규격집   admin 2011-07-06 14404 0
10    메카피아 기계설계 가이드북   admin 2011-07-06 7882 1
9    전산응용 기계제도 실기도면 예제집   admin 2011-07-06 8003 0
8    전산응용 기계설계제도 이론 및 실기(기능사, 산업기사, 기사).....   admin 2011-07-06 6852 0
7    오토캐드 도면 그리는 법   admin 2009-09-23 28006 0
6    쉽게 배우는 CADian 2004   admin 2008-09-30 8989 0
5    AutoCAD 2006 배우기 : 실무 디자인 중심 (CD1 포함).....   admin 2008-09-30 8904 0
   AutoCAD를 위한 AUTO LISP(VISUAL LISP) 따라하기.....   admin 2008-09-30 13041 0
3    AutCAD 기초   admin 2008-09-30 6267 0
2    [1+2]건축 디자이너의 업무혁신을 위한 AutoCAD 2008?.....   admin 2008-09-30 8446 0

 

  1 2  

3D MARKET 3D강좌 게시판 2D MECHA 3D 라이브러리 기술지원 LINK
문서지식
동영상
이미지
파트부품
조립도
구매품 & 표준품
AUTOCAD
프로그램&플러그인
솔리드웍스
인벤터
솔리드엣지
프로이
카티아
유니그래픽스
3DS MAX
아이언 캐드
오토캐드
인벤터 2014
인벤터 실무
오토캐드 2014
인벤터 2017
솔리드웍스 2013
오토캐드 2010
인벤터 2012
솔리드웍스 해석
퓨전360
공지사항
예제파일
회원공유 자료실
교육
자유게시판
Q&A
TIP&TECH
공지사항
NEWS
강좌
TIP & TECH
참고서적
게시판
자료실
설계 참고도
표준품 라이브러리(JIS)
자동화 표준부품(솔리드웍스)
NUR RUNNER
프로파일
센서(SENSOR)
SHOCK ABSORBER
케이블베어
기어(GEAR)
써보시스템
신호전달기기
서비스팩 자료실
신기능 자료실
설치관련 자료실
구조해석/시뮬레이션
유틸리티 자료실
설계구축 가이드
SOLIDWORKS
INVENTOR
PROE
CATIA
SOLIDEDGE
UNIGRAPHICS
교육 및 컨설팅
3D메카월드소개    l    광고/제휴문의    l    개인정보처리방침    l    이용약관    l    이메일주소 무단수집 거부
상호 : (주)메카피아대표이사 : 노수황사업자등록번호 : 119-85-40453통신판매업신고 : 제2014-서울금천-0444호
개인정보 보호책임자 : 조성일사업장소재지 : 153-803서울특별시 금천구 가산디지털1로 145 에이스하이엔드타워 3차 2004호
대표전화:1544-1605마케팅: 02-2624-0896기술교육지원:02-2624-0897팩스:02-2624-0898E-mail: mechapia@mechapia.com