• 회원가입
  • |
  • 로그인
  • |
  • 장바구니
  • News
    뉴스 신제품 신간 Culture & Life
  • 강좌/특집
    특집 강좌 자료창고 갤러리
  • 리뷰
    리뷰
  • 매거진
    목차 및 부록보기 잡지 세션별 성격 뉴스레터 정기구독안내 정기구독하기 단행본 및 기타 구입
  • 행사/이벤트
    행사 전체보기 캐드앤그래픽스 행사
  • CNG TV
    방송리스트 방송 다시보기 공지사항
  • 커뮤니티
    업체홍보 공지사항 설문조사 자유게시판 Q&A게시판 구인구직/학원소식
  • 디렉토리
    디렉토리 전체보기 소프트웨어 공급업체 하드웨어 공급업체 기계관련 서비스 건축관련 업체 및 서비스 교육기관/학원 관련DB 추천 사이트
  • 회사소개
    회사소개 회사연혁 출판사업부 광고안내 제휴 및 협력제안 회사조직 및 연락처 오시는길
  • 고객지원센터
    고객지원 Q&A 이메일 문의 기사제보 및 기고 개인정보 취급방침 기타 결제 업체등록결제
  • 쇼핑몰
오토캐드 스마트 유저되는 방법 (18)
2016-12-05 14,742 44

LISP 강좌Ⅰ

 

LISP(리습)을 강의하자면 책을 한 권 내도 모자를 것이지만 최대한 지면이 허락하는 한도 내에서 진행하고자 한다. 초급 사용자들을 위해 최대한 자세히 하자면 분량이 워낙 방대해질 것이므로 중급 이상 사용자들을 초점으로 강좌를 진행할 수밖에 없는 점 너그럽게 양해 바란다.

지면의 한계 때문이기도 하지만, 사실 요즘 같은 세상에서는 웬만한 기초 지식은 인터넷으로 충분히 습득할 수 있다. 그런 지식을 마치 필자가 처음 얘기한 것처럼 분량만 늘리기 위해 다루고 싶지는 않다. 그러니 자세히 설명하지 않더라도 이해바라며, 도저히 이해가 되지 않는 부분은 언제든지 필자에게 이메일로 질문해주기 바란다

 

맹영완

E-mail | tajideux@naver.com

블로그 | blog.naver.com/tajideux

 

현재 한미글로벌에서 일하고 있다. 미국 토목 기술사 P.E.와 대한민국 토목 기사이며, 프로젝트 관리 전문가(PMP)이다. 국민대학교 토목환경공학과를 졸업하고, AutoCAD 파워유저 1기를 수행했으며, 오토캐드 토목 3D 로컬라이제이션 SME, 오토캐드 베타 테스터로 활동 중이다. 저서로는 <오토캐드 파워유저 맹영완과 함께하는 Design, Engineer & AutoCAD>가 있다.

 

 

무엇인가를 맨 처음 배울 때 항상 용어 정의부터 하게 되는데, LISP(리습)도 정의 와 유래 및 역사 정도는 알고 시작하는 것 이 좋겠다.

LISP은 List Processing의 약자로 인공 지능 분야의 소프트웨어를 작성하기 위해 사용되는 프로그래밍 언어이다. 네이버 백 과 사전에 나온 LISP에 대한 설명을 잠시 인용하면 다음과 같다.

 

“리스프 처리 언어라고도 부르며, 미국 MIT 의 J.McCarthy 교수 연구팀이 개발하여 1960년에 발표했다. 리스트(list : 자료구조 의 하나로 순서가 매겨진 0개 이상의 원소 들의 집합) 형태로 된 데이터를 처리하도록 설계되었는데, 데이터와 프로그램이 모두 S-식(S-expression)이라고 하는 일반화된 리스트(generalized list) 형태로 기술되므로 프로그램이 데이터처럼 취급되는 것이 특징 이다”

 

 

결국 LISP은 인공지능 분야를 위해 개발 된 언어로 데이터 처리에는 최고의 언어라 고 하겠다. 오토캐드 프로그램 역시 데이터 를 기반으로 한 소프트웨어이므로 궁합이 가장 잘 맞는 프로그램 언어라고 이해하면 된다. 오토캐드에는 1986년 R6와 R7 사이 중간 출시 단계에 처음으로 LISP이 탑재되 어 소개되었다. 초기의 AutoLISP은 2000 이상 버전에서 VisualLISP으로 진화하였 다. 새로운 함수들이 대거 추가되었고, 다른 응용 프로그램들과의 호환이 더욱 강력해 졌다.

리습이라 읽고 말하지만 이번 연재에서 는 원래 명칭인 LISP을 사용하고자 한다. LISP 강좌는 총 4부에 걸쳐 진행될 예정이 고, 필자에게는 마지막 강좌가 될 예정이니 더욱 중요한 의미의 강좌다. 자 이제 시작해 보자.

 

프로그래밍 기본 원칙

모든 L ISP 파일들의 기본 확장자는 ‘LSP’이다.(예 : CHTEXT.LSP) 개발을 위 한 도구로는 메모장 또는 오토캐드 내의 자 체 LISP editor를 사용한다. 자체 editor의 loading 명령어는 VLIDE(Visual Lisp Integrated Development Environment)이다. 기본 언어는 영어로 구성된다.

 

변수

변수는 자료를 저장하는 비어 있는 상자와 같다. 변수의 첫 글자 는 반드시 영문자이어야 하며 다음 글자부터는 숫자와 영문자의 조 합(예 : A, ARC1, POINT1, PNT1, D3)으로 가능하다.

변수는 사용자가 임의로 지정하는 것이다. 단, 변수의 이름이 내 장된 함수와 같으면 에러가 나오기 때문에 같은 이름은 지정할 수 없다. LISP의 변수는 다음의 값을 가질 수 있다.

 

■ Real number(실수)

■ String(문자열)

■ Integer(정수)

■ Pickset(선택된 객체 또는 객체의 조합)

 

변수는 단지 값을 저장하는 역할만을 한다.

SEMICOLON(;)

SEMICOLON 뒤에 쓰여지는 문장을 주석문이라 하며 개발자 또 는 사용자가 혼동하기 쉬운 부분이나 설명이 필요한 부분에 사용될 수 있다.

 

(prompt "This line will print") ;This is a comment

 

괄호, PARENTHESES( )

괄호는 LISP 프로그램에 있어서 가장 기본적이고, 가장 중요한 요소이다. 모든 프로그램 내의 명령은 괄호로 둘러싸인다. LISP 프 로그래밍 상에서 가장 흔하게 일어나는 실수 중 하나가 바로 괄호의 개수가 모자라거나 남는 것이다. 괄호의 총 개수는 짝수이어야 하며 열린 괄호의 개수와 닫혀진 괄호의 개수는 항상 같아야 한다.

 

DEFUN COMMAND

항상 프로그램의 맨 앞에 나오는 DEFUN은 프로그램의 이름 또 는 함수를 정의하고 선언하기 위한 가장 기초적인 명령이다. DEFUN 뒤에 나오는 사용자 정의 함수 이름 또는 프로그램 이름은 오토캐드에 내장된 명령어와 같으면 충돌하여 에러가 발생한다.

사용 예는 다음과 같다.


기사 상세 내용은 PDF로 제공됩니다.


 

맹영완 tajideux@naver.com


출처 : CAD&Graphics 2016년 12월호

포인트 : 1,000P (정기구독자 무료 다운로드)

© 캐드앤그래픽스 무단전재 및 재배포금지, 기사 게재 희망시 당사 문의
  • kakao

댓글 0

로그인 후 댓글을 달수있습니다
등록된 코멘트가 없습니다.