JL[xiJoinLine-라인이어주기] 멀티기능은 없을가 하고 궁금합니다.
페이지 정보
작성자 김상범 작성일 23-11-03 16:08 조회 2,389 댓글 4본문
캐드 프로그램 종류 및 버전 : 2019ACAD(한글판)
오류 내용 (오류 메세지 등) :
JL[xiJoinLine-라인이어주기] 사용시 떨어진 하나식의 객체선택으로 1개의 라인을 만드는 명령입니다.
질문 : 멀티 기능은 없나 궁금합니다.
좋은 프로그램 잘 사용하고 있습니다.
감사합니다. (_ _)~V
오류 내용 (오류 메세지 등) :
JL[xiJoinLine-라인이어주기] 사용시 떨어진 하나식의 객체선택으로 1개의 라인을 만드는 명령입니다.
질문 : 멀티 기능은 없나 궁금합니다.
좋은 프로그램 잘 사용하고 있습니다.
감사합니다. (_ _)~V
댓글목록 4
이자더님의 댓글
이자더 작성일
사방 쌍으로 떨어져 있는 두선 들을 이어주는 기능은 없습니다.
다만, 벽에서 창 등을 넣은 후에, 그 창을 없애고 다시 여러 벽선을 이어주는 명령어는 WR 이라고 있습니다.
이자더님의 댓글
이자더 작성일
댓글을 적고 보니.. zwcad사용자 님이 벌써 올려 주셨네요..
감사합니다.^^
zwcad사용자님의 댓글
zwcad사용자 작성일wr (_xiwallrecover) 명령어가 있습니다
아래 기재한 리습 코드는 lee-mac님 리습 코드를 개인적으로 수정해서 사용하고 있는 코드인데
같이 첨부 드립니다
(defun c:j ( / process e i l s x )
(defun process ( l / x r )
(if (setq x (car l))
(progn
(foreach y (cdr l)
(if (vl-every '(lambda ( a ) (apply 'collinear-p (cons a (cdr x)))) (cdr y))
(setq x (cons (car x) (furthestapart (append (cdr x) (cdr y)))))
(setq r (cons y r))
)
)
(entmake (append (car x) (mapcar 'cons '(10 11) (cdr x))))
(process r)
)
)
)
(if (setq s (ssget "_:L" '((0 . "LINE"))))
(process
(repeat (setq i (sslength s))
(setq e (ssname s (setq i (1- i)))
x (entget e)
e (entdel e)
l (cons (list x (cdr (assoc 10 x)) (cdr (assoc 11 x))) l)
)
)
)
)
(princ)
)
(defun furthestapart ( lst / di1 di2 pt1 rtn )
(setq di1 0.0)
(while (setq pt1 (car lst))
(foreach pt2 (setq lst (cdr lst))
(if (< di1 (setq di2 (distance pt1 pt2)))
(setq di1 di2
rtn (list pt1 pt2)
)
)
)
)
rtn
)
(defun Collinear-p ( p1 p2 p3 )
(
(lambda ( a b c )
(or
(equal (+ a b) c 1e-8)
(equal (+ b c) a 1e-8)
(equal (+ c a) b 1e-8)
)
)
(distance p1 p2) (distance p2 p3) (distance p1 p3)
)
)
(princ)