CAD lisp中,是否可以获取自己所在的lisp源代码文件的当前所在路径名? 20
我有个配置文件setting.txt,放在lsp文件同目录。lisp中需要读取该文件的信息,但是直接(open"setting.txt""r")返回nil。由于程序会发布...
我有个配置文件setting.txt,放在lsp文件同目录。lisp中需要读取该文件的信息,但是直接(open "setting.txt" "r")返回nil。
由于程序会发布,使用者可能把该程序放在任何目录,所以不能指定绝对路径,有没有办法打开到这个文件?谢谢! 展开
由于程序会发布,使用者可能把该程序放在任何目录,所以不能指定绝对路径,有没有办法打开到这个文件?谢谢! 展开
3个回答
展开全部
(findfile "setting.txt")
用以上语句获取你这个文件的完整路径,前提是不管这个文件是放在那个目录,必须将该目录设置在autocad的支持文件搜索路径内,否则是找不到该文件目录的
用以上语句获取你这个文件的完整路径,前提是不管这个文件是放在那个目录,必须将该目录设置在autocad的支持文件搜索路径内,否则是找不到该文件目录的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(defun c:show_current_directory ()
(setq cur_dir (getvar "dwgprefix"))
(startapp "explorer" cur_dir)
);end
更多追问追答
追问
这是当前CAD文件的路径,不是lsp文件的路径,二者毫无关联,谢谢。
追答
lisp是嵌入在cad里的,打个比方,word的vba打开了某个文档,代码获取文档的路径,你给我说代码的路径不是它?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(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"))
(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"))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询