MarcoW 发表于 2022-7-6 12:28:00

Lat问题已解决:
 

(foreach file (vl-directory-files cPrinterStyleSheetDir "*.ctb" 1)
   (vl-file-copy
(strcat cPrinterStyleSheetDir file)
(strcat outval "\\" file)
   )
   )

 
我添加的红色部分是为了让它工作。
 
更新:代码在新图形中不起作用:如果outval已本地化,则可以工作。我该怎么办?可以这样留着吗?
 
->我在此感谢大家的投入!

MarcoW 发表于 2022-7-6 12:31:38

结束:
 

(defun browsefolder (title / shlobj folder fldobj outval)
(vl-load-com)

(setq shlobj (vla-getinterfaceobject
                (vlax-get-acad-object) "Shell.Application")
       folder (vlax-invoke-method shlobj 'browseforfolder 0 title 0))
(vlax-release-object shlobj)

(if folder
   (progn
   (setq fldobj (vlax-get-property folder 'self)
         outval (vlax-get-property fldobj 'path))

   (vlax-release-object folder)
   (vlax-release-object fldobj)
   outval)))

(defun SetPlotterFiles ( / sFolder)

(if (setq sFolder (browsefolder "Select shared folder"))
(progn
   (setq cPrinterStyleSheetDir
          (strcat (getenv "PrinterStyleSheetDir") "\\"))
   (foreach file (vl-directory-files cPrinterStyleSheetDir "*.ctb" 1)
   (vl-file-copy
       (strcat cPrinterStyleSheetDir file)
(strcat sFolder "\\" file)))
   (setenv "PrinterStyleSheetDir" (strcat sFolder "\\"))
   )

(Alert "No folder selected - nothing changed"))
(princ)
)
(SetPlotterFiles)
(princ)

 
我现在很冷静。。。(我希望如此)
页: 1 [2]
查看完整版本: 某些条件的问题