JL[xiJoinLine-라인이어주기] 멀티기능은 없을가 하고 궁금합니다. > 공유

본문 바로가기

공유

JL[xiJoinLine-라인이어주기] 멀티기능은 없을가 하고 궁금합니다.

페이지 정보

작성자 김상범 댓글 4건 조회 2,238회 작성일 23-11-03 16:08

본문

캐드 프로그램 종류 및 버전 : 2019ACAD(한글판)
오류 내용 (오류 메세지 등) :
JL[xiJoinLine-라인이어주기] 사용시 떨어진 하나식의 객체선택으로 1개의 라인을 만드는 명령입니다.

질문 : 멀티 기능은 없나 궁금합니다.

좋은 프로그램 잘 사용하고 있습니다.
감사합니다. (_ _)~V

댓글목록

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)

이자더님의 댓글

이자더 작성일

사방 쌍으로 떨어져 있는 두선 들을 이어주는 기능은 없습니다.
다만, 벽에서 창 등을 넣은 후에, 그 창을 없애고 다시 여러 벽선을 이어주는 명령어는 WR 이라고 있습니다.

이자더님의 댓글

이자더 작성일

댓글을 적고 보니.. zwcad사용자 님이 벌써 올려 주셨네요..
감사합니다.^^

김상범님의 댓글

김상범 작성일

정말 감사합니다.

복받으실겁니다~~~~ (_ _)~V


XICAD, Copyright © izzarder.com All rights reserved.