zgs378530220 发表于 2025-5-12 18:13:38

CAD支持文件搜索路径最大允许多少个

本帖最后由 zgs378530220 于 2025-5-12 18:23 编辑

;;将路径及路径下的文件夹添加到文件支持搜索路径
(foreach x (vl-directory-files (vl-filename-directory (findfile lspfile)) nil -1)
    (if (and (vl-file-directory-p x) (not (vl-string-search x (getenv "ACAD")))) (setenv "ACAD" (strcat x ";" (getenv "ACAD"))))
)
首先分享一段代码,抛砖引玉。

由于目录下子文件夹较多,使用上述代码添加“文件支持搜索路径”后发现CAD部分功能运行异常,经搜索发现是cad原有的支持路径消失了,多次测试发现只有删除一些路径才能添加,以上测试版本:AutoCAD2018标准版。
不知道大佬们有没有发现这个限制,是所有版本都有这个显示还是仅该版本,还是说是我个人使用的CAD存在这个限制。
这个限制的数量是路径个数还是路径字符数。
请大家各抒己见,分享个人测试结果。

vitalgg 发表于 2025-5-13 08:47:45

zgs378530220 发表于 2025-5-12 23:57
这样说,我mnu菜单文件也可以用相对路径执行?!又可以进一步减少文件的大小了

菜单文件会加载mnl 文件,这个mnl 需要在信任目录下。可以加三个点表示信任子目录
其它像font,CAD搜索时不会自动加相对路径,可以统一到一个目录下,或在一个目录下做文件链接。
pythom npm winget 的外部命令管理都是采用这种方式。

windows cmd命令行命令示例:
mklink hztxt.shx03/hztxt.shx

zgs378530220 发表于 2025-5-12 18:36:31

kozmosovia 发表于 2025-5-12 18:28
限制应该在两个方面:
1)单个字符串的长度限制:255
2)目录数的限制,就如同选择集的限制一样,可能是1 ...

说的是 (getenv "ACAD")返回的字符数限制在255个以内吧。
实际上我的路径层数比较多,一开始是手动添加,当时就应该超过了255个字符。

vitalgg 发表于 2025-5-12 18:58:40

加那么多路径干什么?
load 也支持相对路径的
比如目录a下有,01,02,03子目录。
把a加到cad路径中。
(load "01/x.lsp")
(load "02/y.lsp")
(load "03/z.lsp")
就行了。
如果你把 03目录删了,你会清理 acad的路径吗?

kozmosovia 发表于 2025-5-12 18:28:40

限制应该在两个方面:
1)单个字符串的长度限制:255
2)目录数的限制,就如同选择集的限制一样,可能是128

目录内容长度,肯定128个目录早就超过255,所以最终应该是字符数。

你有种再说一遍 发表于 2025-5-12 20:01:19

CAD的支持路径就是注册表项.
Windows注册表中PATH环境变量的值长度限制如下:
默认限制:单个环境变量(如PATH)的默认最大长度为2047个字符.若超过此限制,系统会报错.

gzcsun 发表于 2025-5-12 21:08:00

从来不添加搜索路径,加载都加上路径的。

你有种再说一遍 发表于 2025-5-12 22:24:31

gzcsun 发表于 2025-5-12 21:08
从来不添加搜索路径,加载都加上路径的。

shx字体你是手工放CAD安装目录?

zgs378530220 发表于 2025-5-12 23:42:49

做了一个功能集合,收集到的lsp,vlx等文件,统一放到一个大目录下,然后根据子文件定多级菜单,一个小白就能自定义菜单。然而子文件夹没控制好,设置的太多了,又偷懒将所有子文件夹均设为支持路径,才发现这个限制。

zgs378530220 发表于 2025-5-12 23:47:27

现在做了优化,只将部分文件夹加入了支持路径,主要是收集到的vlx、fas文件有的还有配套文件,这些文件只能在支持路径中才能读取到。如果单纯的vlx等文件,直接在mnu文件中全路径load,随用随加载,不会占用太多启动时间

zgs378530220 发表于 2025-5-12 23:57:23

vitalgg 发表于 2025-5-12 18:58
加那么多路径干什么?
load 也支持相对路径的
比如目录a下有,01,02,03子目录。


这样说,我mnu菜单文件也可以用相对路径执行?!又可以进一步减少文件的大小了
页: [1] 2
查看完整版本: CAD支持文件搜索路径最大允许多少个