error: no function definition:
VLAX-ENAME->VLA-OBJECT
Command:
(” 이렇게 에러메세지가 나오면서 실행이 안되네여..
다른 컴퓨터에서는 되는데 하나의 컴퓨터에서는 안됩니다..
캐드를 다시 설치해도 마찬가지구여..
고수님들의 조언 부탁드립니다.
(defun c:tQ ()
(vl-load-com)
(if (/= oc_entsel nil)
(redraw oc_entsel 4)
)
(if (setq oc_entsel (car (entsel “원본 객체를 선택하시요:”)))
(progn (redraw oc_entsel 3)
(setq q_vla (vlax-ename->vla-object oc_entsel))
(setq q_co (vla-get-color q_vla))
(setq q_la (vla-get-layer q_vla))
(if (setq oc_gettablename (car (ade_odgettables oc_entsel)))
(progn (print oc_gettablename)
(setq getentbldefn (MAP:GetEnTableDefn oc_entsel))
(if (setq oc_ssget (ssget))
(progn (setq oc_sslist (sset->list oc_ssget))
(foreach n oc_sslist
(MAP:SetEnTableDefn n getentbldefn)
) ;foreach
) ;progn
(alert! “선택객체가 없습니다.!!”)
) ;if
) ;progn
(alert! “원본 객체에 테이블이 안붙었습니다.!!nn다시 선택하세요!!”)
) ;if
) ;progn
(alert! “선택객체가 없습니다.!!nn다시 선택하세요!!”)
) ;if
(princ)
) ;defun
(defun MAP:GetEnTableDefn (Ename / ) ;;함수 ;;;객체에 붙어있는 테이블 필드 속성 모두 가지고 오기
(setq i_defnlist nil)
(setq i_tablename (car (ade_odgettables ename)))
(if (/= i_tablename nil)
(progn
(setq i_gettablefn (ade_odtabledefn i_tablename)) ;테이블이름으로 필드정의목록리턴
(setq i_1 (car i_gettablefn))
(setq i_2 (cadr i_gettablefn))
(setq i_3 (caddr i_gettablefn))
(setq i_cdr3 (cdr i_3))
(setq i_map (mapcar ‘(lambda (x) (assoc “ColName” x)) i_cdr3))
(Setq i_lam (mapcar ‘(lambda (x) (cdr x)) i_map)) ;;;필드항목리턴
(setq i_flist (mapcar ‘(lambda (x) (ade_odgetfield ename i_tablename x 0)) i_lam)) ;;;;필드값
;(print i_lam)
;(print i_flist)
(setq i_defnlist (list i_tablename i_lam i_flist))
)
(progn
(setq i_defnlist nil)
(alert! “원본데이타에 테이블이 안붙었습니다.!!”)
) ;progn
) ;if
i_defnlist
) ;defun
(defun MAP:SetEnTableDefn (od_setentity tabledefnlist / s_tableinput) ;;함수 ;;객체에 테이블 필드 속성값을 한번에 넣기
(Setq s_tableinput (ade_odaddrecord od_setentity (car tabledefnlist))) ;;객체에테이블붙이기
(mapcar ‘(lambda (y z) (ade_odsetfield od_setentity (car tabledefnlist) y 0 z))
(cadr tabledefnlist) (caddr tabledefnlist)
) ;mapcar
) ;defun
(DEFUN SSET->LIST (SSET / n lst) ;; 김희태님 소스
(SETQ N 0 LST (LIST))
(REPEAT (SSLENGTH SSET)
(setq lst (append lst (list (ssname sset n))) n (1+ n))
)
lst
)