这是按你的图框的一个导入程序,如果有什么问题,请详细说明,不要我来问。。。- (defun c:im( / i dir pt_last files os)
- (setq i 0)
- (setq dir (GetFolder "选择文件夹..."))
- (setq pt_last (getpoint "选择起点:"))
- (setq pt_last (polar pt_last 0 4200))
- (setq files (vl-directory-files dir "*.dwg" 1))
- (if (/= (substr dir (1- (strlen dir)) 1) "\")
- (setq dir (strcat dir "\"))
- )
- (setvar "cmdecho" 0)
- (command "_.undo" "be")
- (setq os (getvar "osmode"))
- (setvar "osmode" 0)
- (repeat (length files)
- (setq pt_last (Insert (strcat "*" dir (nth i files)) pt_last i))
- (setq i (1+ i))
- )
- (setvar "osmode" os)
- (command "_.undo" "e")
- (princ)
- )
- (defun insert(filename pt_last index)
- (setq filename (strcat """ filename """))
- (if (= (rem index 5) 0)
- (setq pt_last (list (- (car pt_last) 4200) (- (cadr pt_last) 850)));polar pt_last pi 4200))
- (setq pt_last (polar pt_last 0 1050))
- )
- (command "_.insert" filename pt_last "" "" )
- pt_last
- )
- (defun GetFolder (msg / WinShell shFolder path catchit)
- (setq winshell (vlax-create-object "Shell.Application"))
- (setq
- shFolder (vlax-invoke-method WinShell 'BrowseForFolder 0 msg 1)
- )
- (setq
- catchit (vl-catch-all-apply
- '(lambda ()
- (setq shFolder (vlax-get-property shFolder 'self))
- (setq path (vlax-get-property shFolder 'path))
- )
- )
- )
- (if (vl-catch-all-error-p catchit)
- nil
- path
- )
- )
|