프로그램
리습 분류

캐드 수직수평 리습

컨텐츠 정보

본문

캐드 수직수평이 자꾸 틀어져서 리습을 찾고 있었는데

고캐드에 어떤 분이 올려주신 리습이 있더라구요
—————————–
(defun c:xxx (/ #a #index #b #c)
(vl-load-com)
(setq #a(ssget '((0 . "line"))))
(setq #index 0 #c(ssadd))
(repeat (sslength #a)
(setq #b(vlax-ename->vla-object(ssname #a #index)))
 (if (or (zerop(vla-get-angle #b))
        (equal 1.5708 (rem(vla-get-angle #b) 1.5708)0.0001)
)
  (ssadd (vlax-vla-object->ename #b)#c)
);;if
(setq #index(1+ #index))
);;repeat
(sssetfirst nil #c)
);;defun
——————————-
이걸 사용해보니까 라인은 잘 잡히는데 폴리라인은 안 잡혀서
폴리라인도 잡히게 수정할 수 있을까요??
그리고 블록 내에 있는 라인은 이걸로 잡기 힘들겠죠??

관련자료

댓글 3

yehmr님의 댓글

pline 은 vla-get-angle 가도를 확인 할수 없기때문에 에러가 나는것입니다.

위 코딩으로는 pline 은 적용이 되지 않습니다. line 은 두개의 포인터만 있지만 pline 두개 이상의 포인터가 있을수 있기 때문입니다. pline 은 경우의 수 가 너무 많이 존제합니다.

yehmr님의 댓글

 0 . "line") 을 (0 . "LINE,*POLYLINE") 으로 하시면 됩니다

0 . "*line") 하면 모든 라인 다선택되고요..
여분필드1 여분필드2 여분필드3
전체 79 / 1 페이지
번호
제목
이름
알림 0