현재 폴리선과 폴리선위에 텍스트가 있는 상태입니다. (폴리선 정확히 위에)
shape 파일을 가져와서 캐드에서 작업을 할껀데 캐드내에서 그 텍스트를 폴리선 속성에
넣고싶은 상태입니다.(폴리선을 눌렀을때 특성창 또는 shape파일을 q-gis로 열었을때
속성테이블에서 볼 수 있도록.)
방법아시는분 답변 달아주시면 정말 감사하겠습니다.
비밀번호를 잊으셨나요? 비밀번호를 재설정하려면 이메일 주소를 입력해주세요.
해당 질문을 신고하는 이유를 간단히 입력해주세요.
해당 답변을 신고하는 이유를 간단히 입력해주세요.
해당 유저를 신고하는 이유를 간단히 입력해주세요.
(vl-load-com)
(setq acadObject (vlax-get-acad-object))
(setq acadDocument (vla-get-ActiveDocument acadObject))
(setq mSpace (vla-get-ModelSpace acadDocument))
(defun GetPolyVtx(EntList)
(setq VtxList ‘())
(foreach x EntList
(if (= (car x) 10)
(setq VtxList (append VtxList (list (cdr x))))
)
)
VtxList
)
(defun c:wod ()
(setq OldVarList (list “osmode” “cmdecho” “cmddia” “filedia”))
(setq OldVarValue (mapcar ‘getvar OldVarList))
(mapcar ‘setvar OldVarList'(0 0 0 0))
(setq sel (ssget (list (cons 0 “lwpolyline”))))
(setq sp “_”)
(setq table-list (ade_odtablelist))
(if (= (vl-position “Table” table-list) nil)
(progn
(setq tab_defn (list ‘(“tablename” . “Table”)'(“tabledesc” . “tabledesc”)
(list “columns”
(list ‘(“colname” . “Fields”)'(“coldesc” . “coldesc”)'(“coltype” . “character”)'(“defaultval” . “0”)))))
(ade_oddefinetab tab_defn)
)
)
(setq k 0)
(repeat (sslength sel)
(setq ss (ssname sel k))
(setq en (entget ss))
(if (= (vl-position “Table” (ade_odgettables ss)) nil)
(ade_odaddrecord ss “Table”))
(setq ptlist (GetPolyVtx en))
(setq sel_txt (ssget “F” ptlist (list (cons 0 “Text”))))
(if sel_txt
(progn
(setq j 0)
(setq w_txt “”)
(repeat (sslength sel_txt)
(setq ss_txt (ssname sel_txt j))
(setq ss_en (entget ss_txt))
(if (= j 0)
(setq w_txt (cdr (assoc 1 ss_en)))
(setq w_txt (strcat w_txt sp (cdr (assoc 1 ss_en))))
)
(ade_odsetfield ss “Table” “Fields” 0 w_txt)
(setq j (1+ j))
)
)
)
(setq k (1+ k))
)
(mapcar ‘setvar OldVarList OldVarValue)
(princ)
)
폴리선과 텍스트가 겹친다는 가정하에 만들어 봤습니다.
아 일괄적으로 처리하는건 힘든건가요? 일괄적으로 하는방법은 q-gis를 이용해 하고 있는데
AutoCAD Map버젼이 아닌데 OD속성이 다 보인다고요? 그럴리가…일반 케드가 업그레이드가 되었나?
어쨌든….
Map 버젼이라는 가정하에
OD 테이블에 define ==> modify OD 필드 만들고 define OD 하면 됩니다.
병합은 선 하나 텍스트 하나 일 경우는 위 내용처럼 하면 되지만 내용이 많을때는 선, 텍스트 따로 내보내서(shp로) 아크에서 조인하면 됩니다.
설명이 되었나 모르겠네요???
1.shape파일을 캐드로 가져온다.
질문내용 이해가 잘 안되네요.
1. dwg에 폴리선과 텍스트가 맞물려있다.
2. shp 파일을 가져와서 케드에서 작업을할꺼다.(shp파일을 폴리선과 텍스트가 물려있는 DWG로 가져온단말인지… 아님 폴리선에 텍스트를 맞물어서 shp로 만들고싶단말인지….)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
특성창에서 볼수있다는것은 오브젝트데이터가 생성 되 있다는건데…… 오브젝트데이터는 일반 케드에서 볼수도없고, 생성도 안되는것으로 압니다.