프로그램
캐드 분류

리습 수정 관련

컨텐츠 정보

본문

(defun c:ff(/ e a10 rot xcsf p1 p2 L)


 (setq ss(ssget (list (cons 0 "INSERT")))n 0)
 (repeat (sslength ss)
  (setq e(entget(ssname ss n)))
  (setq a10(cdr(assoc 10 e)))
  (setq rot(cdr(assoc 50 e)))
  (setq xscf(cdr(assoc 41 e)))
  (setq p1(polar a10 rot (* 100 xscf)))
  (setq L(cons p1 L))
  (setq p2(polar a10 (+ rot pi)(* 100 xscf)))
  (setq L (cons p2 L))
  (setq n (1+ n))
 )
 (setq L(vl-sort L '(lambda (e1 e2)(< (car e1)(car e2)))))
 (setq L(cdr L))
 (while (< 2 (length L))
  (setq a(car L)b(cadr L)L(cddr L))
   (_Make_line a b)
 ) 
 (princ)
 )
 (defun _Make_line (p1 p2)
  (entmakex (list (cons 0 "LINE")
                  (cons 8 "0″)
                  (cons 10 p1)
                  (cons 11 p2))
  )
 )

지금 사용하고있는 헤드와 헤드사이 연결리습입니다.
이게 가로로는 잘되는데 세로로는 연결이 이상하게 됩니다.
궁금한게 p1,p2 어떤걸 나타내는건가여?
혹시 p1,p2 말고 p3,p4도 추가하면 세로 연결도 제대로 될까여?

관련자료

댓글 1

수야12님의 댓글

이 리습은 특정 블럭의 가로 연결을 위해 만들어진 리습입니다   

밑에 것 복사 해서 사용해보실것을 권합니다  (아님 말고요 ㅎㅎ)

(defun c:ff2(/ e a10 rot xcsf p1 p2 L)

 (setq ss(ssget (list (cons 0 "INSERT")))n 0)  (repeat (sslength ss)   (setq e(entget(ssname ss n)))   (setq a10(cdr(assoc 10 e)))   (setq rot(cdr(assoc 50 e)))   (setq xscf(cdr(assoc 41 e)))   (setq p1(polar a10 rot (* 100 xscf)))   (setq L(cons p1 L))   (setq p2(polar a10 (+ rot pi)(* 100 xscf)))   (setq L (cons p2 L))   (setq n (1+ n))  )  (setq L(vl-sort L '(lambda (e1 e2)(< (cadr e1)(cadr e2)))))  (setq L(cdr L))  (while (< 2 (length L))   (setq a(car L)b(cadr L)L(cddr L))    (_Make_line a b)  )   (princ)  )  (defun _Make_line (p1 p2)   (entmakex (list (cons 0 "LINE")                   (cons 8 "0″)                   (cons 10 p1)                   (cons 11 p2))   )  )

여분필드1 여분필드2 여분필드3
전체 70 / 4 페이지
번호
제목
이름
알림 0