664571221 发表于 2019-1-27 16:13:20

求修改这个程序,新建一个文件夹

如下程序,求修改一下,在目录下新建一个分图的文件夹,吧分图保存到分图文件夹下
(defun C:KMFT (/ ANSWER EN FLAG FLAG1 INITDIR NEWDNAME NEWDNAME1 SS)
(command "undo" "be")
(if (setq Initdir (getvar "dwgprefix"))
      nil
      (progn (princ "\n 文件未保存,不能分图") (exit))
)
(setq flag1 T)
(while (and flag1
            (setq en0 (entsel "\n >拾取文件名 "))
            (setq en (nentselp (cadr en0)))
            (setq NewDName (cdr (assoc 1 (entget (car en)))))
            (equal (type NewDName) 'STR)
         )
    (if(findfile (strcat Initdir NewDName ".DWG"))
      (progn(setq flag T)(setq i 1))
    )
(while flag         
         (setq ii (rtos i 2 0))
       (setq NewDName1 (strcat NewDName "_" ii ))
      (if (findfile (strcat Initdir NewDName1 ".DWG"))
          nil
         (progn (setq flag nil)(setq NewDName NewDName1))
         )
      (setq i (+ i 1 ))
   )
(setq q (entsel"\n对象图框:"))
(setq sel (car q))
(command "zoom" "o" sel "")
(vl-load-com)
(setq minPt (vlax-make-safearray vlax-vbdouble '(0 . 2)))
(setq maxPt (vlax-make-safearray vlax-vbdouble '(0 . 2)))
(setq obj (vlax-ename->vla-object sel))
(vla-GetBoundingBox obj 'minpt 'maxpt)
(setq minPt1 (vlax-safearray->list minPt))
(setq maxPt1 (vlax-safearray->list maxPt))
(Setq SS (ssget "_C"maxPt1 minPt1 ))
(command "_.WBLOCK" (strcat Initdir NewDName) """0,0" ss "" )
)
(command "undo" "e")
(princ)
)

页: [1]
查看完整版本: 求修改这个程序,新建一个文件夹