oyxx1023 发表于 2005-4-23 12:58:00

[讨论]如何知道LISP本身的路径?

在CAD里加载了一个LISP程序,如何得到这个LISP所在目录?我想让它加载后,自动把它所在的目录添加到CAD的支持路径里?

meflying 发表于 2005-4-23 16:53:00

呵呵,,,这个用LISP好象做不到...我也曾经有这样的要求,最后还是没有找到办法

didini 发表于 2005-4-23 20:51:00

看看秋风的那片lisp安装文件的制作二,其中有说明,或许对你有启发!

alin 发表于 2005-4-24 06:47:00

用DosLIB或WinAPI


<H3>dos_lisplist </H3><!--(HR)============================================================-->
<HR style="WIDTH: 100%; HEIGHT: 2px" align=center width="100%" SIZE=2>

Returns a list of loaded AutoLISP/Visual LISP files.


<H4>Syntax </H4>
<H5>(dos_lisplist ) </H5>
<H4>Parameters </H4>
<!--(Table)=========================================================-->
<TABLE style="MARGIN-TOP: 14pt; WIDTH: 100%; border-spacing: 0px" cellSpacing=0 width="100%" x-use-null-cells wrapperparagraphselector="P">
<TBODY>
<TR>
<TD style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; WIDTH: 9%; PADDING-TOP: 2px; x-cell-content-align: TOP" vAlign=top width="9%">
<P style="MARGIN-BOTTOM: 0px">T

</TD>
<TD style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; WIDTH: 91%; PADDING-TOP: 2px; x-cell-content-align: TOP" vAlign=top width="91%">
<P style="MARGIN-BOTTOM: 0px">If specified, fully qualified paths are returned. Otherwise, just the filenames are returned.

</TD></TR></TBODY></TABLE>


<H4>Returns </H4>
A list of string identifying the loaded LISP files if successful.


nil on error.


<H4>Example </H4>
Command: (dos_lisplist)


("acetutil.fas" "acetauto.LSP" "acettest.fas" "dwfout.lsp" "acad2000.FAS" "acad2000doc.FAS" "acad.mnl" "acetmain.mnl")


Command: (dos_lisplist t)


("C:\\Program Files\\AutoCAD 2002\\express\\acetutil.fas" "C:\\Program Files\\AutoCAD 2002\\express\\acetauto.LSP" "C:\\Program Files\\AutoCAD 2002\\support\\acettest.fas" "C:\\Program Files\\AutoCAD 2002\\support\\legacy\\dwfout\\dwfout.lsp" "C:\\Program Files\\AutoCAD 2002\\support\\acad2000.FAS" "C:\\Program Files\\AutoCAD 2002\\support\\acad2000doc.FAS" "C:\\Program Files\\AutoCAD 2002\\Support\\acad.mnl" "C:\\Program Files\\AutoCAD 2002\\express\\acetmain.mnl")

hoprich123 发表于 2005-4-25 14:51:00

如果你知道LISP文件名称,用“findfile"函数可以查出路径.然后用"setenv"改写CAD支持路径。

meflying 发表于 2005-4-25 16:30:00

如果不在支持路径,findfile是找不到的

oyxx1023 发表于 2005-4-26 21:30:00

是啊。用DOSLIB倒是可以考虑一下,就是不知道R14可以不。

onej 发表于 2005-5-6 21:17:00

有个想法:创建一个文件,FINDFIL,路径应该是了吧。

onej 发表于 2005-5-7 17:32:00

自我更正,错误。

dlczb 发表于 2010-7-19 10:08:00

<p><font face="Verdana">(setq oldacad (getenv "ACAD"))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;cad原有的搜索路径</font></p>
<p><font face="Verdana">(setq path (D:\addacad))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; ;要增加的搜索路径</font></p>
<p><font face="Verdana">(setenv "ACAD" (strcat oldacad ";" path))&nbsp;&nbsp; ;向cad增加的搜索路径</font></p>
页: [1] 2
查看完整版本: [讨论]如何知道LISP本身的路径?