明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4259|回复: 15

有没有办法用VLISP程序添加文件支持路径!!!!!!!

  [复制链接]
发表于 2003-12-16 11:29:00 | 显示全部楼层 |阅读模式
发表于 2021-8-19 12:07:09 | 显示全部楼层
本帖最后由 秋枫 于 2021-8-19 12:08 编辑
秋枫 发表于 2003-12-16 20:08
;;;AddSupportPath
;;;添加文件夹到AutoCAD支持搜索路径中的指定位置
;;;参数

  1. (defun strsplit (str pat / i j n lst)
  2.     (cond
  3.         ((/= (type str) (type pat) 'STR))
  4.         ((= str pat) '(""))
  5.         (T
  6.          (setq i 0
  7.                n (strlen pat)
  8.          )
  9.          (while (setq j (vl-string-search pat str i))
  10.              (setq lst (cons (substr str (1+ i) (- j i)) lst)
  11.                    i   (+ j n)
  12.              )
  13.          )
  14.          (reverse (cons (substr str (1+ i)) lst))
  15.         )
  16.     )
  17. )
  18. (defun strjoin (Lst Delimiter / return)
  19.     (setq return "")
  20.     (foreach str Lst
  21.         (setq return (strcat return Delimiter str))
  22.     )
  23.     (substr return 2)
  24. )


@尘缘一生
发表于 2021-8-30 22:47:41 | 显示全部楼层

大佬原谅我通过这种方式给您留言(新手权限太低)想问问您能不能发一下安装向导的脚本文件,我用inno setup 解开您发布的程序有些乱码,我的邮箱1655179357@qq.com,感谢!
发表于 2020-3-20 03:23:00 | 显示全部楼层
秋枫 发表于 2003-12-16 20:08
;;;AddSupportPath
;;;添加文件夹到AutoCAD支持搜索路径中的指定位置
;;;参数

大师的代码,这地方显示个笑脸,是哪个变量?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2003-12-16 11:37:00 | 显示全部楼层
可以:
如下所示:
(setenv "ACAD" (strcat  "D:\\Program Files\\BDYCAD;" (getenv "ACAD")));(加在前面的)
或者(setenv "ACAD" (strcat   (getenv "ACAD")"D:\\Program Files\\BDYCAD;"));(加在后面的)



"D:\\Program Files\\BDYCAD;" =要加的支持路徑哦



不明白你為何要這樣做的原因和用處呀? 手動加不就行了嗎? 另外如果一定要程序來加應加以識別這個路徑在支持路徑中有沒有的. 不然執行一次就多加一個給你. 所以個人認為用手動加上就不煩了. 
 楼主| 发表于 2003-12-16 12:46:00 | 显示全部楼层
谢谢,也同时谢谢你的忠告!!!
发表于 2003-12-16 20:08:00 | 显示全部楼层
;;;AddSupportPath
;;;添加文件夹到AutoCAD支持搜索路径中的指定位置
;;;参数
;;;文件夹路径及插入的位置(0时插入前端)
;;;示例
;;;(addSupportPath "c:\\myFolder" 2)
;;;注意
;;;位置参数为空时将文件夹添加到路径最后。位置参数为0时将文件夹添加到路径最前端。
(defun addSupportPath (dir pos / tmp c)
  (setq        tmp ""
        c   -1
  )
  (if (not pos)
    (setq tmp (strcat (getenv "ACAD") ";" dir))
    (mapcar '(lambda (x)
               (setq tmp (if (= (setq c (1+ c)) pos)
                           (strcat tmp ";" dir ";" x)
                           (strcat tmp ";" x)
                         )
               )
             )
            (parse (getenv "ACAD") ";")
    )
  )
  (setenv "ACAD" tmp)
  (princ)
)


;;;removeSupportPath
;;;从AutoCAD支持搜索路径中移去指定文件夹
;;;参数
;;;所要移去的文件夹
;;;示例
;;;(removeSupportPath "c:\myFolder")
(defun removeSupportPath (dir / tmp)
  (setq tmp "")
  (mapcar '(lambda (x)
             (if (/= (strcase x) (strcase dir))
               (setq tmp (strcat tmp x ";"))
             )
           )
          (parse (getenv "ACAD"))
  )
  (setenv "ACAD" (substr tmp 1 (1- (strlen tmp))))
  (princ)
)

;;;resetPath
;;;恢复AutoCAD的支持搜索路径为其默认路径
(defun resetPath ()
  (setenv "ACAD" "")
  (mapcar '(lambda (x)
             (if (wcmatch (strcase x t) "*autodesk shared*")
               (addSupportPath x 0)
             )
           )
          (parse (getenv "ATH") ";")
  )
  (princ)
)

(defun Parse        (Str Delimiter / SearchStr StringLen return n char)
        (setq SearchStr Str)
        (setq StringLen (strlen SearchStr))
        (setq return '())


        (while (> StringLen 0)
                (setq n 1)
                (setq char (substr SearchStr 1 1))
                (while (and (/= char Delimiter) (/= char ""))
                        (setq n (1+ n))
                        (setq char (substr SearchStr n 1))
                ) ;_ end of while
                (setq return (cons (substr SearchStr 1 (1- n)) return))
                (setq SearchStr (substr SearchStr (1+ n) StringLen))
                (setq StringLen (strlen SearchStr))
        ) ;_ end of while
        (reverse return)
) ;_ end of defun

点评

拆分路径,不支持汉字,能改改吗?  发表于 2020-3-26 10:27
发表于 2003-12-16 20:57:00 | 显示全部楼层
想不到秋楓還做得這麼先進, 真值得學習. 好!
发表于 2003-12-18 07:56:00 | 显示全部楼层
BDYCAD:
這3個函數
ADDSUPPORTPATH
REMOVESUPPORTPATH
RESETPATH
是出自ACADX網站,當你在網上再久一點,你會知道很多程序的出處!
會發現那些是新技巧或老經驗!
发表于 2003-12-18 13:54:00 | 显示全部楼层
龍龍仔再次向你代表我深深的謝意  : )
发表于 2012-5-2 21:19:24 | 显示全部楼层
学到东西了..谢谢
发表于 2012-5-2 22:50:35 | 显示全部楼层
高手汇集了
发表于 2013-12-11 14:45:11 | 显示全部楼层
秋枫 发表于 2003-12-16 20:08
;;;AddSupportPath
;;;添加文件夹到AutoCAD支持搜索路径中的指定位置
;;;参数

学习永无止境!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-25 13:28 , Processed in 0.212476 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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