첨부파일의 od객체를 꺼낸다음 text를 객체의 한가운데 입력하는 리습을 만들건데요
(defun c:b ()
(command “-style” “스타일1” “-윤고딕330” “” “” “” “” “”)
(command “layer” “m” “지번” “”)
(setvar “cmdecho” 0)
(setq ent (ssget “x” (list (cons 8 “지적”))))
(setq i 0 err 0)
(setq ent_num (sslength ent))
(while (< i ent_num)
(setq ent_name (ssname ent i))
(setq ent_list (entget ent_name))
(setq ent_10 (send_xy ent_list 10))
(setq get_tn (ade_odgetfield ent_name “지적” “tn” 0))
(if (= get_tn 0)
(progn
(setq get_od (ade_odgetfield ent_name “지적” “jibun” 0))
(setq center_pt (ade_expreval ent_name “.center” “point”))
(command “text” “J” “mc” center_pt 5.3832 0 get_od)
(entmake (list (cons 0 “text”) (cons 1 get_od)
(cons 8 “지번”)(cons 10 center_pt) (cons 7 “스타일1”) (cons 40 5.3832)))
);progn
(progn
(entmake (list (cons 0 “circle”) (cons 8 “js_err2”)
(cons 10 center_pt) (cons 40 2) (cons 62 1)))
);
);if
(setq i (+ i 1))
(WRITE_STATE_OF_PROCESS “진행률” i ent_num err i)
);while
);defun
(defun send_xy (s_list attr_num / s_len i gn_list j i)
(setq s_len (length s_list)) //리스트 속성갯수
(setq i 0 j 0)
(setq gn_list (list )) //좌표담을 리스트 초기화
(while (< i s_len)
(if (= attr_num (car (nth i s_list)))
(progn
(setq gn_list (cons (cdr (nth i s_list)) gn_list))
(setq j (+ j 1))
)
)
(setq i (+ i 1))
)
(setq gn_list (reverse gn_list))
)
;————
리습의 문제는
text를 입력할때 (command “text” “J” “mc” center_pt 5.3832 0 get_od) 이 command을써서 입력하면
Unknown command “1511-1 전” 이런메세지가 뜨면서 text가 크기도 내용도 제대로입력이안되고
0으로 입력이 되어버리는데
(entmake (list (cons 0 “text”) (cons 1 get_od)
(cons 8 “지번”)(cons 10 center_pt) (cons 7 “스타일1”) (cons 40 5.3832)))
을써서 입력하면 제대로 입력이 되거든요,
왜 command 을 써서 입력하면 제대로 입력이 안되는건지 궁금합니다.