dhy 发表于 2010-5-24 16:42:00

[求助]为什么我写出来的路径是这样的?

<p>我想在CAD里面写上文件的路径和文件名,我是这样的</p><p>(defun c:WJM(/ nowdwg path WwZGD WAPTT)<br/>&nbsp;&nbsp;&nbsp; (setq nowdwg (getvar "dwgname"))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;取得当前文件的名称<br/>&nbsp;&nbsp;&nbsp; (setq path (findfile nowdwg))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;寻找当前文件的路径<br/>&nbsp;&nbsp;&nbsp; (setq WwZGD (getreal "\n标注文字高度: "))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SETQ WAPTT (GETPOINT "\n标注放置点: "))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (COMMAND "mtext" WAPTT "h" WwZGD WAPTT path&nbsp;&nbsp;nowdwg "")<br/>&nbsp; (princ)<br/>)</p><p>可是写出来后,不知道怎么的,路径也包含了一点文件名,写出来的效果是这样的</p><p>D:\DY\泰德-05-T2-08A.dwg<br/>W100510-05-T2-08A.dwg</p><p>我想得到的是</p><p>D:\DY\泰德\W100510-05-T2-08A.dwg</p><p>这样的。请问要怎样改才行呀?请热心的朋友们帮帮忙,谢谢了</p>

caoyin 发表于 2010-5-24 16:57:00

<p>(COMMAND "mtext" WAPTT "h" WwZGD WAPTT path "")</p><p>findfile 返回的是包含路径的完整文件名,所以path的值是:D:\DY\泰德\W100510-05-T2-08A.dwg,而不是D:\DY\泰德</p>

dhy 发表于 2010-5-24 18:55:00

<p>可是文件名并不完整呀,少了W100510这几个呀。要用什么函数才可以呢?</p>

ZZXXQQ 发表于 2010-5-24 19:02:00

(setq path (getvar "DWGPREFIX"))

zhongys 发表于 2010-5-24 19:17:00

<p>(COMMAND "mtext" WAPTT "h" WwZGD WAPTT path&nbsp;&nbsp;nowdwg "")===&gt;&gt;&gt;改为(COMMAND "mtext" WAPTT "h" WwZGD WAPTT path "")</p><p>findfile已得出你要结果了,何改要画蛇添足再加上个nowdwg<br/><br/></p>

dhy 发表于 2010-5-24 19:23:00

<p>谢谢,可是还有个问题,为什么在文件名前面多了个字母P呢?文件名变成PW100510-05-T2-08A.dwg了</p>

zhongys 发表于 2010-5-24 20:00:00

<p>也可以试下这个</p><p>(defun c:WJM(/ nowdwg path WwZGD WAPTT)<br/>&nbsp;&nbsp;&nbsp; (setq nowdwg (getvar "dwgname"))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;取得当前文件的名称<br/>&nbsp;&nbsp;&nbsp; (setq path (findfile nowdwg))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;寻找当前文件的路径</p><p><font color="#f70968"><strong>&nbsp;&nbsp;&nbsp; (setq path (substr path 1 (- (strlen path) (strlen nowdwg))))</strong></font>&nbsp; <font color="#ff00ff"><strong>;取得当前文件的路径</strong></font></p><p><br/>&nbsp;&nbsp;&nbsp; (setq WwZGD (getreal "\n标注文字高度: "))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SETQ WAPTT (GETPOINT "\n标注放置点: "))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (COMMAND "mtext" WAPTT "h" WwZGD WAPTT path&nbsp;&nbsp;nowdwg "")<br/>&nbsp; (princ)<br/>)</p>

dhy 发表于 2010-5-24 20:24:00

<p>谢谢,和4楼版主得出来的效果一样</p><p>D:utoCAD Files\kn\P16#adg.dwg<br/>都是字母显示有问题,上面应该为:</p><p>D:AutoCAD Files\kn\16#adg.dwg</p><p>才对</p>
页: [1]
查看完整版本: [求助]为什么我写出来的路径是这样的?