안녕하세요
밑에 리습이 수치지도 레이어를 shp파일로 내보내는 리습입니다.
수치지도버젼 1.0레이어들을 shp으로 내 보낼려고 합니다.
근데 현재 밑에 리습을 실행시키면 하나만 나가고 다른 레이어들은 안 나갑니다.
예)3111,7111,8111 레이어를 리습하나로 실행을 하여 한번에 내보내고 싶은데…
3111만 나가고 있습니다. 어디가 잘못되었는지를 잘 모르겠습니다.
현재는 3개레이어만 연습삼아 하고 있고, 수치지도상에 레이어는 많이 있어서 한번에
shp으로 내보내고 싶습니다.
좀 부탁드리겠습니다.
참고로 캐드버젼 auto cad2004 map쓰고 있습니다.
(defun c:shpexport (/ layerlst l i la _mem)
(setq layerlst (searchlayer))
(setq l (length layerlst) i 0)
(repeat l
(setq la (nth i layerlst))
(setq _mem (member la KRIHS))
(if _mem
(exportshape la (cadr _mem))
)
(setq i (1+ i))
)
(princ)
)
(defun searchlayer (/ la layerlst)
(setq la (tblnext “layer” t))
(while la
(setq la (tblnext “layer”))
(if la
(progn
(setq la (cdr (assoc 2 la)))
(setq layerlst (append layerlst (list la)))
))
)
layerlst
)
;; 지금 리습은 이 형태에 맞춰져 있음
;; exportshape 의 구조
;; >> exportshape “내보내기파일명=레이어명” “라인or폴리곤or포인트 옵션” “테이블명”
;; 예) (exportshape “3111” “L” nil)
(defun c:mapexportshape ()
(exportshape “3111” “l” “nil”)
(exportshape “7111” “l” “nil”)
(exportshape “8111” “l” “nil”)
(princ)
)
(if tblname
(command “-mapexport”
“shape”
fname
“no”
“s”
etype
“a”
shpname
“d”
“o”
tblname
“n”
“p” )
(command “-mapexport”
“shape”
fname
“no”
“s”
etype
“a”
shpname
“d”
“n”
“n”
“p” ) )
)
(princ)