明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 262|回复: 11

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

[复制链接]
发表于 昨天 18:13 | 显示全部楼层 |阅读模式
本帖最后由 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存在这个限制。
这个限制的数量是路径个数还是路径字符数。
请大家各抒己见,分享个人测试结果。
回复

使用道具 举报

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

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

windows cmd命令行命令示例:
mklink hztxt.shx  03/hztxt.shx
回复 支持 反对

使用道具 举报

 楼主| 发表于 昨天 18:36 来自手机 | 显示全部楼层
kozmosovia 发表于 2025-5-12 18:28
限制应该在两个方面:
1)单个字符串的长度限制:255
2)目录数的限制,就如同选择集的限制一样,可能是1 ...

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

使用道具 举报

发表于 昨天 18:58 | 显示全部楼层
加那么多路径干什么?
load 也支持相对路径的
比如目录a下有,01,02,03子目录。
把a加到cad路径中。
(load "01/x.lsp")
(load "02/y.lsp")
(load "03/z.lsp")
就行了。
如果你把 03目录删了,你会清理 acad的路径吗?
回复 支持 反对

使用道具 举报

发表于 昨天 18:28 | 显示全部楼层
限制应该在两个方面:
1)单个字符串的长度限制:255
2)目录数的限制,就如同选择集的限制一样,可能是128

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

使用道具 举报

发表于 昨天 20:01 | 显示全部楼层
CAD的支持路径就是注册表项.
Windows注册表中PATH环境变量的值长度限制如下:
默认限制:单个环境变量(如PATH)的默认最大长度为2047个字符.若超过此限制,系统会报错.
回复 支持 反对

使用道具 举报

发表于 昨天 21:08 | 显示全部楼层
从来不添加搜索路径,加载都加上路径的。
回复 支持 反对

使用道具 举报

发表于 昨天 22:24 | 显示全部楼层
gzcsun 发表于 2025-5-12 21:08
从来不添加搜索路径,加载都加上路径的。

shx字体你是手工放CAD安装目录?
回复 支持 反对

使用道具 举报

 楼主| 发表于 昨天 23:42 来自手机 | 显示全部楼层
做了一个功能集合,收集到的lsp,vlx等文件,统一放到一个大目录下,然后根据子文件定多级菜单,一个小白就能自定义菜单。然而子文件夹没控制好,设置的太多了,又偷懒将所有子文件夹均设为支持路径,才发现这个限制。
回复 支持 反对

使用道具 举报

 楼主| 发表于 昨天 23:47 来自手机 | 显示全部楼层
现在做了优化,只将部分文件夹加入了支持路径,主要是收集到的vlx、fas文件有的还有配套文件,这些文件只能在支持路径中才能读取到。如果单纯的vlx等文件,直接在mnu文件中全路径load,随用随加载,不会占用太多启动时间
回复 支持 反对

使用道具 举报

 楼主| 发表于 昨天 23:57 来自手机 | 显示全部楼层
vitalgg 发表于 2025-5-12 18:58
加那么多路径干什么?
load 也支持相对路径的
比如目录a下有,01,02,03子目录。

这样说,我mnu菜单文件也可以用相对路径执行?!又可以进一步减少文件的大小了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-13 15:09 , Processed in 0.187182 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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