그럼 해치가 아닌 경우라도 깨진건 다시 묶어줄수가 없나요?
다음과 같은 리습을 만들어서 사용하면 됩니다.
(defun c:xx()
(setq pt1 (getpoint "Pict First Point"))
(setq pt3 (getcorner pt1 "nOther Point"))
(setq pt2 (list (car pt1) (cadr pt3)))
(setq pt4 (list (car pt3) (cadr pt1)))
(command "line" pt1 pt3 "")
(command "line" pt2 pt4 "")
(princ)
)
질문내용의 명령이 acad2002 에 기본으로 제공되는지는 정확히 모르겠습니다.
기본명령이 아닐 경우 위의 리습파일을 작성후 appload 로 올려주거나,
acad.lsp 혹은 adaddoc.lsp 등에서 자동로딩후 사용하면 됩니다.
Explode 의 반대명령어는 없다고 보면 됩니다. 대상이 pline 을 explode 했다면 pedit 의 J(oin)으로 가능하지만, 이경우도 각 라인이 연결되어 있어야 합니다.
해치의 경우라면 해치종류에 따라 다르겠지만, 많은 경우는 pedit의 J(oin)명령을 수십,수백차례 하고 그룹등의 편법을 이용하면 되겠지만 이렇게 하느니 처음부터 explode 를 하지 않아야 할것입니다.
경우에 따라 U(ndo)를 이용하면 되겠지만, 이는 explode 직후 사용해야 하며 명령이 여러번 진행된후에는 중간과정에는 취소되므로 역시 효과적이지는 않습니다.
즉, explode 는 다시 합치지 않는다고 생각하고 명령을 진행해야 합니다. 상황에 따라 방법이 전혀 없지는 않지만, 다시 합칠려면 Explode 를 안한상태에서 진행하는게 더 좋은 방법이 될것입니다.
U(ndo)의 Mark 와 Back 과 Wblock 을 이용해서 다시 돌려놓는 편법이 있지만, 쉽지 않은 방법입니다.
결론적으로 Explode 시에는 그 Explode 된 객체를 다시 하나의 객체로 돌아가지 않는다는 가정하에 진행해야 합니다. 그렇지 않고 다시 이를 합치려면 불가능하지는 않겠지만, 많은 노력이 들어가야 될것입니다.