프로그램
캐드 분류

기준점 스케일 리습 수정부탁드립니다

컨텐츠 정보

본문

안녕하세요. 항상 고캐드에서 자료 잘 참고하고있습니다.

라인들만 선택하여 각 라인의 시작점을 기준으로하여 스케일(scale)을 반복하는 
리습을 만들고있습니다.
제가 작성한 리습에서는 기준점이 이상하여 질문드립니다.
(defun C:S5()
 (setq ob (ssget (list(cons 0 "*LINE"))))
 (setq n (sslength ob) i 0)
 (repeat n 
 (setq P1 ( cdr (assoc 10 (entget (ssname ob i))))) 
 (setq P2 ( cdr (assoc 11 (entget (ssname ob i)))))
 (setq D1 (distance P1 P2))
 (setq D2 (+ D1 100))
        (command "SCALE" ob "" P1 "R" D1 D2)
  (setq i (+ 1 i))
 );re
);defun

관련자료

댓글 6

소시관얍얍님의 댓글

말씀하신 내용이 맞습니다. 

제 수준에서는 스케일 이용한 길이변경이 제일 좋은방법이라고 생각했습니다….

바라떼님의 댓글

만약 제가 얘기한 내용이 맞다면 아래 리습 사용 시 길이를 기존 대비 100 늘려줍니다.

바라떼님의 댓글

대충 읽어보니.. 원하는 리습이 엄밀히 따지자면 스케일이 아니라

수야12님의 댓글

기준점  이라고 하시는거 보니 command문을 사용으로 인한 osnap 영향의 오작동 가능성이있습니다

리습에 command문을 사용하시려면 osnap 옵션을 끄는 구문을 사용하셔야 엉뚱한곳에 기준점이 잡히는 현상을 막을 수 있읍(습)니다.

o레드망고o님의 댓글

라인의 시작점 기준으로 잘 작동 됩니다.

다만 선택 구문에 "*LINE" 을 "LINE"로 하셔야 오류가 없을듯 합니다.
여분필드1 여분필드2 여분필드3
전체 69 / 1 페이지
번호
제목
이름
알림 0