(defun c:xx (/ #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(zerop(vla-get-angle #b))
(ssadd (vlax-vla-object->ename #b)#c)
);;if
(setq #index(1+ #index))
);;repeat
(vl-cmdf “select” #c)
);;defun
여기는 수평선만 선택가능한데
응용해서 수직, 수평선 둘다 선택하게 하려면 어떻게 해야되나요?
(사선, 곡선, 원형 등은 뺀 수직,수평선만)
초코망고sLv.0
수직,수평선만 선택할 수 있는 리습이 있을까요?
공유
우선 수평선 선택은 잘 되는 것 같았습니다. 수평,수직이 필요해서 사용은 한두번밖에 안했지만
사용후) 제대로 명령이 일단은 먹히는 것 같습니다. 감사합니다 ㅎㅎ
감사합니다!! 리습을 좀 배워봐야겠어요 ㅠㅠㅋㅋ
사용후)
처음 부분은 제가 잘못 수정을 한건지 오류가 뜹니다
두번째 부부은 제대로 작동하나 일부 선에 오류가 있는지 선택안되는 부분이 있네요.
이거 제대로 작동한 리습은 아닌거 같네요 ??
(if(zerop(vla-get-angle #b))
(ssadd (vlax-vla-object->ename #b)#c)
);;if
이부분을
(if (or (zerop(vla-get-angle #b)) (equal (vla-get-angle #b) (* 0.5 pi) 0.00001)
(equal (vla-get-angle #b) pi 0.00001) (equal (vla-get-angle #b) (*1.5 pi) 0.00001)
)
(ssadd (vlax-vla-object->ename #b)#c)
);;if
또는
(if (zerop (rem (vla-get-angle #b) (* 0.5 pi)))
(ssadd (vlax-vla-object->ename #b)#c)
);;if