no function definition: VLAX-ENAME->VLA-OBJECT
(” 이런 에러가 나는데 어떻게 해야 되요?
(defun gpv(EntList / VtxList AA X)
(setq VtxList ‘())
(IF (= “LWPOLYLINE” (CDR (ASSOC 0 EntList)))
(mapcar ‘(lambda (x) (if (= 10 (car x)) (setq VtxList (append VtxList (list (cdr x))) ) ) ) EntList)
(PROGN
(SETQ AA (ENTGET(ENTNEXT (CDR (ASSOC -1 EntList)))))
(WHILE (/= “SEQEND” (CDR (ASSOC 0 AA)))
(setq VtxList (append VtxList (list (cdr (ASSOC 10 AA)))))
(SETQ AA (ENTGET(ENTNEXT (CDR (ASSOC -1 AA)))))
)
))
VtxList
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun maptrim(ssset entl / sss)
(setq sss(ssget “cp” ssset ))
(setq map_trim(map_dwgtrimobj sss entl 1 1 1 0))
(setq sss nil)
(ade_ssfree map_trim)
(gc)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun wb(cliplist filename / ss1)
(setq ss1(ssget “cp” cliplist ))
(command “_.wblock” filename “” ‘(0.0 0.0 0.0) ss1 “” “”)
(setq ss1 nil)
(gc)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun Box (en / minpoint maxpoint)
(vl-load-com)
(setq myEnt (vlax-ename->vla-object En))
(vla-getboundingbox myEnt ‘minpoint ‘maxpoint)
(setq lt (vlax-safearray->list minpoint))
(setq rb (vlax-safearray->list maxpoint))
(command “zoom” lt rb)
(command “zoom” “0.9x”)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:dinw(/ ;dir ss ssle no ent pt ptt las dolist lastlist sss d_no d_num dwg_name1 dwg_name2 ss1
)
(setvar “cmddia” 0)
(setvar “filedia” 0)
(setvar “cmdecho” 0)
(setq dir (getvar “dwgprefix”))
(setq point00 (list 0.0 0.0 0.0))
(setq ss(ssget “x” (list (cons 8 “ZD001”))));–> 도곽 레이어를 맞춰주자.
(if ss
(progn
(setq ssle (sslength ss))
(setq no 0)
(repeat ssle
(gc)
(setq ent(ssname ss no))
(box ent)
(command “offset” “30” ent point00 “”)
(setq las (entlast))
(setq dolist(gpv (entget ent)))
(setq laslist(gpv (entget las)))
(entdel las)
; (maptrim dolist ent)
(maptrim laslist ent)
(setq no(+ no 1))
(setq d_no (ssget “cp” dolist (list (cons 8 “11”))));–> 도엽번호 레이어를 맞춰주자.
(setq d_num (ssname d_no 0))
(setq dwg_name1 (strcat (cdr (assoc 1 (entget d_num))) “-b”))
(setq dwg_name2 (strcat dir dwg_name1))
;(entdel d_num);도엽번호를 지우고 저장하고자 할때 열어준다.
(wb dolist dwg_name2)
(command “undo” “2”)
(setq ent nil)
);repeat
);progn
);if
(setq ss nil)
(gc)
(command “zoom” “e” “zoom” “.8x”)
(setvar “cmddia” 1)
(setvar “filedia” 1)
(setvar “cmdecho” 1)
(princ)
(princ “n 작업 완료”)
(princ)
);defun
(” 이 리습인데여..어디를 수정 해야 되는지..
그리고 윈도우 비스타입니다..비스타라 않되나여??
공유