明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 988|回复: 2

【K:CopySupportFile 】复制给定路径下给定格式的文件到支持路径

[复制链接]
发表于 2023-3-25 00:21:37 | 显示全部楼层 |阅读模式
本帖最后由 kucha007 于 2023-3-25 01:31 编辑

用来复制<acadiso.pat>或<acad.pat>等常用的文件:
  1. ;复制给定路径下给定格式的文件到支持路径
  2. (defun K:CopySupportFile (/ K:GetSubPath k:GetSupportPath SearchPath FileTypes PathLst FNamLst pt ft)
  3.   (vl-load-com)
  4.   (setq SearchPath "C:\\WorkTools");存放常用文件的路径
  5.   (setq FileTypes '("*.pat" "*.shx" "*.lin"));搜索文件格式类型,可自行添加
  6.   
  7.   (progn ;基础函数
  8.     ;返回所有子路径
  9.     (defun K:GetSubPath (Path / Folder)
  10.       (mapcar
  11.         '(lambda (x)
  12.           (setq Folder (strcat Path "\\" x))
  13.           (cons Folder (apply 'append (K:GetSubPath Folder)))
  14.         )
  15.         (cddr (vl-directory-files Path nil -1))
  16.       )
  17.     )
  18.     ;返回图案所在的路径; by Gu_xl
  19.     (defun k:GetSupportPath (/ Tmp PatNam)
  20.       (if (= 1 (getvar 'measurement)) ;公制
  21.         (setq PatNam (getenv "ISOHatch")) ;公制
  22.         (setq PatNam (getenv "ANSIHatch")) ;英制
  23.       )
  24.       (if (setq Tmp (findfile (getenv "ISOHatch")))
  25.         (vl-filename-directory Tmp)
  26.         (progn
  27.           (setq Tmp (getvar 'roamablerootprefix))
  28.           (or (eq "\\" (substr Tmp (strlen Tmp)))
  29.               (setq Tmp (strcat Tmp "\\"))
  30.           )
  31.           (strcat Tmp "support")
  32.         )
  33.       )
  34.     )
  35.     (setq PathLst (apply 'append (cons (list SearchPath) (K:GetSubPath SearchPath))));获取所有路径
  36.   )
  37.   ;-------------------
  38.   (if (vl-file-directory-p SearchPath);文件夹存在
  39.     (progn
  40.       (mapcar
  41.         '(lambda (pt)
  42.           (mapcar
  43.             '(lambda (ft)
  44.                 (if (setq FNamLst (vl-directory-files pt ft 1))
  45.                   (foreach fn FNamLst
  46.                     (vl-file-copy (strcat pt "\\" fn) (strcat (k:GetSupportPath) "\\" fn) T)
  47.                   )
  48.                 )
  49.               )
  50.             FileTypes
  51.           )
  52.         )
  53.         PathLst
  54.       )
  55.       (while (> (getvar "CMDACTIVE") 0) (command PAUSE));等待前面的命令完成
  56.       (alert "文件已全部复制完成!")
  57.     )
  58.     (alert (strcat "文件夹<" SearchPath ">不存在"))
  59.   )
  60.   (princ)
  61. )





可以这样用:
  1. (if (= 6  ;YES
  2.     (ACET-UI-MESSAGE
  3.       "复制<acadiso.pat>等文件到支持路径?"
  4.       "Copy_Support_File"
  5.       (+ Acet:YESNO Acet:ICONQUESTION)
  6.     )
  7.   )
  8.   (K:CopySupportFile)
  9.   (prin1)
  10. )

评分

参与人数 1明经币 +1 收起 理由
USER2128 + 1 赞一个!

查看全部评分

发表于 2023-3-25 14:04:59 | 显示全部楼层
本帖最后由 cchessbd 于 2023-3-25 14:06 编辑

您好,看到您有这个方面的研究,请教一下怎么添加线型到acadiso.lin呢?我是CAD 2008的用户。

我想加入自动运行,添加以下一些线型,但是我只需要添加一次,不需要每次都添加。
如果没有这些线型,那就添加。

;地质线型
*TLKC_BZHJZX, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A,0,-0.35,[{shape138},ltypeshp.shx,s=0.3,r=0,x=-0.35,y=0],-2.65
*TLKC_BLDZJX,----x-----x----x-----x----x-----x--
A,6.35,-2.54,["x",TLStyle,s=2.54,r=0,x=-0.7,y=-1],-2.54

 楼主| 发表于 2023-3-25 14:22:55 | 显示全部楼层
cchessbd 发表于 2023-3-25 14:04
您好,看到您有这个方面的研究,请教一下怎么添加线型到acadiso.lin呢?我是CAD 2008的用户。

我想加入 ...

我觉得你可以研究一下G版的程序,应该是差不多的原理?http://bbs.mjtd.com/forum.php?mod=viewthread&tid=91425&highlight=%CD%BC%B0%B8%2B%CC%EE%B3%E4
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 07:32 , Processed in 0.170950 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表