åäºä¸ä¸ªautolispï¼æ³¨æ以ä¸æ¡ä»¶ï¼
æå¼çdwgæ件å¿
é¡»è¦ä¿åã
å¦ææ°æ件夹没æ建ç«æåï¼æ¥çcadæ¯å¦å®è£
äºãExpress Toolsãã
(defun c:tes ( / &tr1 ff1 ff2)
(setq ff1 "D:\\A");建ç«æ件夹
(if (VXMAKEDIRECTORY ff1);å¦æ建ç«æå
(progn
(setq &tr1 (getvar "dwgname"));æåæ件å
(if (setq ff2 (findfile &tr1));å¦ææ¾å°è¿ä¸ªæ件
(vl-file-copy ff2 (strcat ff1 "\\" &tr1));å¤å¶æ件å°æ°æ件夹éé¢
)
)
)
(princ)
);apploadå½ä»¤å è½½autolispï¼å½ä»¤ãTESãï¼çé件ä¸è½½ã
追é®å»ºç«æ件夹为åéï¼å称å¨å½ä»¤æ æ示è¾å
¥
追çè¿ä¸ªè¦ä½ èªå·±ä¿®æ¹ï¼é件éé¢çç¨åºåªæ¯æä¾æ ·å¼ã
追é®çä¸ç¥éå¦ä½æ¹
追çéæ°åäºä¸ä¸ªï¼éè¦èªå·±éæ©æ°æ件夹ï¼ç¸å½äºcadçå¦ååè½ï¼
(defun c:tes ( / &tr1 ff2 path)
(vl-load-com)
(if (null path1) (setq path1 (getvar "dwgprefix")) )
(if (setq path (strcat (vl-string-right-trim "\\" (strcase (acet-ui-pickdir "éæ©ç®å½"
(vl-string-right-trim "\\" path1) "ä¿ådwgæ件" ))) "\\"))
(progn
(setq &tr1 (getvar "dwgname"));æåæ件å
(if (setq ff2 (findfile &tr1));å¦ææ¾å°è¿ä¸ªæ件
(vl-file-copy ff2 (strcat path &tr1));å¤å¶æ件å°æ°æ件夹éé¢
)
)
)
(princ)
)
追é®(setq &tr1 (getvar "dwgprefix"))
(setq str (getstring "\n è¾å
¥æ件夹å: " ))
(setq ff1 (strcat &tr1 "\\" str))
追ç(defun c:tes ( / &tr1 ff1 ff2)
(vl-load-com)
(if (= (setq ff1 (getstring t (strcat "\n请è¾å
¥æ°æ件夹路å¾ï¼å车ç»æè¾å
¥:<" "D:\\A" ">"))) "") (setq ff1 "D:\\A"))
(if (and (/= ff1 "") (VXMAKEDIRECTORY ff1));å¦æ建ç«æå
(progn
(setq &tr1 (getvar "dwgname"));æåæ件å
(if (setq ff2 (findfile &tr1));å¦ææ¾å°è¿ä¸ªæ件
(vl-file-copy ff2 (strcat ff1 "\\" &tr1));å¤å¶æ件å°æ°æ件夹éé¢
)
)
)
(princ)
)
åæ°éå¶ï¼VXMAKEDIRECTORYåç¨åºè¦ä¸è½½é件éé¢çå
容ã
追é®vxmakedirectoryå½æ°æ¥é
追ç(defun VXMAKEDIRECTORY (DIR / CURDIR DRVOBJ FILSYS RETVAL TMPLST TMPVAL)
(setq FILSYS (vlax-create-object "Scripting.FileSystemObject")
CURDIR (vl-string-right-trim "\\" (vl-string-right-trim "/" DIR))
)
(while (/= (setq TMPVAL (vl-filename-directory CURDIR)) CURDIR)
(setq TMPLST (cons TMPVAL TMPLST)
CURDIR TMPVAL
)
)
(setq
RETVAL (cond
((= (vlax-invoke FILSYS 'DRIVEEXISTS TMPVAL) 0) NIL)
((setq DRVOBJ (vlax-invoke FILSYS 'GETDRIVE TMPVAL))
(cond
((= (vlax-get DRVOBJ 'ISREADY) 0) NIL)
(t
(foreach MEMB TMPLST
(cond
((= (vlax-invoke FILSYS 'FOLDEREXISTS MEMB) -1))
((vlax-invoke FILSYS 'CREATEFOLDER MEMB))
)
)
(cond
((= (vlax-invoke FILSYS 'FOLDEREXISTS DIR) -1))
((vlax-invoke FILSYS 'CREATEFOLDER DIR) t)
(t NIL)
)
)
)
)
)
)
(if DRVOBJ
(vlax-release-object DRVOBJ)
)
(vlax-release-object FILSYS)
RETVAL
)
追é®è¿æ®µä»£ç æé®é¢ï¼åå
¥åæ¶ï¼"0,0"æ¥é
command "_.wblock" (strcat ff1 è¿éåææ 线ï¼è¯¥æä¹æ¹
è½è§£å³ä¹ï¼
已解å³
谢谢äº