고객서비스

  • 프로그램다운로드
  • 팻치다운로드
  • 인증코드신청
  • 아키오피스자료실
  • 아키오피스강좌
  • 아키오피스동영상강좌
  • FAQ
  • FAQ

질문과답변
제목 [질문]리습에서 copy를 repeat하려면 변수를 어떻게...
작성자 김마리 분류 CAD관련
CAD제품 및 버전 운영체제
첨부파일
게시판의 리습강좌를 열심히 공부하는 학생입니다. 리습을 처음하는 정말 초보인데요... 3차로 계단그리기를 짜보고 있는데 잘 안되네요... 변수형이 틀린것 같기도 하고 여기 제가 짜본걸 적나라하게 올릴테니 틀린 곳을 꼭 집어 주세요. ^^; 감사합니다. 꾸뻑! (defun gerr(g) if (/= g "Function cancelled") (princ (strcat "\nError: " g)) ) (defun C:stair3d() (setq bp (getpoint "\n 계단 시작점? ")) (setq width (getreal "\n 계단 가로폭? ")) (setq tread (getreal "\n tread 치수? ")) (setq riser (getreal "\n riser 치수? ")) (setq n (getint "\n 계단 갯수?" )) (command "ucs" "w" "") (command "box" bp (list (+ (car bp) width) (+ (cadr bp) tread)) "50" "") (setq box (entlast)) (command "ucs" "za" bp (list (+ (car bp) width) (cadr bp))) (setq fp '(0,0)) (repeat (- n 1) (setq sp (list (- (car fp) (* 0.8 tread)) (+ (cadr fp) riser))) (command "copy" box "" fp sp) (setq box (entlast)) (setq fp sp) ) (command "ucs" "p" "") ) 아참, 제가 의도했던걸 설명드려야 겠군요. 일직선형 계단으로 그냥 box가 n번 반복되는 형태이고 box를 하나그린뒤 ucs를 옆면으로 바꿔서 copy를 repeat하려고 하는데 기준점을 잘못잡고있는것 같습니다. 도움 부탁합니다.

의견(1)

김남갑 1998-11-30
> 김마리님 글... > 게시판의 리습강좌를 열심히 공부하는 학생입니다. > 리습을 처음하는 정말 초보인데요... > 3차로 계단그리기를 짜보고 있는데 잘 안되네요... > 변수형이 틀린것 같기도 하고 > 여기 제가 짜본걸 적나라하게 올릴테니 > 틀린 곳을 꼭 집어 주세요. ^^; > 감사합니다. 꾸뻑! > > > (defun gerr(g) > (if (/= g "Function cancelled") > (princ (strcat "\nError: " g)) > ) > ) > > (defun C:stair3d() > (setq bp (getpoint "\n 계단 시작점? ")) > (setq width (getreal "\n 계단 가로폭? ")) > (setq tread (getreal "\n tread 치수? ")) > (setq riser (getreal "\n riser 치수? ")) > (setq n (getint "\n 계단 갯수?" )) > (command "ucs" "w" "") > (command "box" bp (list (+ (car bp) width) (+ (cadr bp) tread)) > "50" "") > (setq box (entlast)) > (command "ucs" "za" bp (list (+ (car bp) width) (cadr bp))) > (setq fp '(0.0 0.0 0.0)) > (repeat (- n 1) > (setq sp (list (- (car fp) (* 0.8 tread)) (+ (cadr fp) riser))) > (command "copy" box "" fp sp) > (setq box (entlast)) > (setq fp sp) > > ) > (command "ucs" "p" "") > ) > > > 아참, 제가 의도했던걸 설명드려야 겠군요. > 일직선형 계단으로 그냥 box가 n번 반복되는 형태이고 > box를 하나그린뒤 ucs를 옆면으로 바꿔서 copy를 > repeat하려고 하는데 기준점을 잘못잡고있는것 같습니다. > 도움 부탁합니다. > > > > - - - - - - - - - - - - - - - - - - - - - 마티.. 김남갑입니다. 제가 위 리습을 수정해 놓았으니.. 수정한 부분을 찾아보세요. 우선.. 윗부분 에러처리 함수는 호출한 부분이 없으므로 있으나마나 한 함수입니다. (if (not olderr)(setq olderr *error* *error* *gerr*)) 같은 방법으로 초기화를 해 주어야겠죠? 그리고.. 만일 호출을 한다고 하더라도 if함수 앞에 괄호가 빠져 있어서 에러가 납니다. 아.. 끝나는 부분에도 괄호가 빠졌네요. 그리고 본문 리습에서 에러가 나는 부분은 fp변수의 초기화가 잘못 되었네요. 원래는 (setq fp '(0,0)) 이라고 되어 있었지요? 리스트 안에서는 컴마로 구분하면 안됩니다. 그냥 한칸식 띄우면 개별적인 리스트로 됩니다. 그리고 제가 정확히 하기 위해서 0을 0.0으로 고쳤습니다. 자.. 이렇게 하고 로딩해서 실행 하면 아마 잘 돌아갈겁니다. 그리고 참고로... (setq width (getreal "\n 계단 가로폭? ")) 이라고 한 부분에선, getreal을 쓰는것 보다는 getdist를 쓰는게 더 좋겠지요? 또하나.. 리습에서는 cmdecho를 가능한 한 0으로 설정하세요. 디버깅 하지 않는 한 말이지요. 그럼 내내 건투를 빕니다. 마티.. 김남갑.
묻고답하기
번호 분류 제목 글쓴이 등록일 조회수
14 CAD관련 이너캐드 (1) 나석찬 1998-12-09 20130
13 CAD관련 [리습]offset 다시질문!! & entity정보에 ... (1) 허묘분 1998-12-08 22634
12 CAD관련 리습에서 ucs변경을 쉽게할 수 없나요? (1) 김마리 1998-12-08 20311
11 CAD관련 inercad로 고은글 5.0은 볼수 없나요 (1) 윤지영 1998-12-08 21996
10 CAD관련 [질문]리습에서 offset의 방향에 대하여... (1) 허묘분 1998-12-08 19351
9 CAD관련 CAD R14에서 R12로 save하고자할때 font변 ... (2) 남석우 1998-12-07 16225
8 CAD관련 InerCAD로 CADPOWER에서 작업한 디멘젼을 편 ... (1) 남석우 1998-12-03 16631
7 CAD관련 [Lisp]1편을 보고.... (1) 신현정 1998-12-02 16301
6 CAD관련 이너워크를 받았는데... (1) 나석찬 1998-11-30 17042
5 CAD관련 [질문]리습에서 copy를 repeat하려면 변수를 어 ... (1) 김마리 1998-11-29 17604