CAD lisp中,是否可以获取自己所在的lisp源代码文件的当前所在路径名? 20

我有个配置文件setting.txt,放在lsp文件同目录。lisp中需要读取该文件的信息,但是直接(open"setting.txt""r")返回nil。由于程序会发布... 我有个配置文件setting.txt,放在lsp文件同目录。lisp中需要读取该文件的信息,但是直接(open "setting.txt" "r")返回nil。
由于程序会发布,使用者可能把该程序放在任何目录,所以不能指定绝对路径,有没有办法打开到这个文件?谢谢!
展开
 我来答
cjj7923
2022-12-19
知道答主
回答量:3
采纳率:0%
帮助的人:2.7万
展开全部
(findfile "setting.txt")
用以上语句获取你这个文件的完整路径,前提是不管这个文件是放在那个目录,必须将该目录设置在autocad的支持文件搜索路径内,否则是找不到该文件目录的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光的雷咩咩
2016-09-04 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7840万
展开全部
(defun c:show_current_directory ()
(setq cur_dir (getvar "dwgprefix"))
(startapp "explorer" cur_dir)
);end
更多追问追答
追问
这是当前CAD文件的路径,不是lsp文件的路径,二者毫无关联,谢谢。
追答
lisp是嵌入在cad里的,打个比方,word的vba打开了某个文档,代码获取文档的路径,你给我说代码的路径不是它?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mark20160225
2022-09-02
知道答主
回答量:1
采纳率:0%
帮助的人:329
展开全部
(setq version_path (vlax-product-key))

(setq software_name (vla-get-activeprofile (vla-get-profiles (vla-get-preferences (vlax-get-acad-object )))))
(setq lsp_path (vl-registry-read (strcat "HKEY_CURRENT_USER\\" version_path "\\Profiles\\" software_name "\\Dialogs\\Appload") "MainDialog"))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式