선형(직선, 곡선)이 있구요..
일정간격을 입력하면… 연결된 선형이 그 간격대로 분리가 되도록 해보고 싶은데…
쉽지 않네요…. (me명령과 DIV명령은 표시만 되잖아요. 전 잘리는게 필요한데..)
리습제작이 될런지?
<알고리즘>
1. 객체 선택
2. 간격 입력
3. 객체가 간격에 맞춰 전부 분리
== 선 분리할 예제 첨부파일로 올립니다. ===
공유
비밀번호를 잊으셨나요? 비밀번호를 재설정하려면 이메일 주소를 입력해주세요.
해당 질문을 신고하는 이유를 간단히 입력해주세요.
해당 답변을 신고하는 이유를 간단히 입력해주세요.
해당 유저를 신고하는 이유를 간단히 입력해주세요.
(defun c:test ( / Entity Dist Pt os )
(setvar “cmdecho” 0)
(if (setq Entity (car (entsel “n폴리선 선택: “)))
(if (eq (cdr (assoc 0 (entget Entity))) “LWPOLYLINE”)
(progn
(if (= InitialDist nil) (setq InitialDist 20.0))
(initget 6)
(setq Dist (getdist (strcat “n분할간격 <” (rtos InitialDist 2) “>: “)))
(if (= Dist nil) (setq Dist InitialDist))
(setq InitialDist Dist)
(command “_.undo” “_be”)
(setq os (getvar “osmode”))
(setvar “osmode” 0)
(while (setq Pt (vlax-curve-getpointatdist Entity Dist))
(command “_.break” Entity Pt Pt)
(setq Entity (entlast))
)
(setvar “osmode” os)
(command “_.undo” “_e”)
)
)
)
(princ)
)
일반선이나 아크곡선 (폴리선이 아닌) 등도 분리되게끔 하려면 어떻게 수정해야 할런지?
도움 요청드립니다.
(defun c:test ( / EntityList Entity Dist Pt os )
(setvar “cmdecho” 0)
(setq EntityList ‘(“LINE” “ARC” “LWPOLYLINE”))
(if (setq Entity (car (entsel “n선,호,폴리선 선택: “)))
(if (member (cdr (assoc 0 (entget Entity))) EntityList)
(progn
(if (= InitialDist nil) (setq InitialDist 20.0))
(initget 6)
(setq Dist (getdist (strcat “n분할간격 <” (rtos InitialDist 2) “>: “)))
(if (= Dist nil) (setq Dist InitialDist))
(setq InitialDist Dist)
(command “_.undo” “_be”)
(setq os (getvar “osmode”))
(setvar “osmode” 0)
(while (setq Pt (vlax-curve-getpointatdist Entity Dist))
(command “_.break” Entity Pt Pt)
(setq Entity (entlast))
)
(setvar “osmode” os)
(command “_.undo” “_e”)
)
(prompt “n** 선, 호, 폴리선을 선택해야 합니다 **”)
)
)
(princ)
)
정말 감사합니다. 캐도리님…
오래전에 올리신 거지만 저도 감사드립니다~ 잘쓰겠습니다~