[求助]为什么我写出来的路径是这样的?
<p>我想在CAD里面写上文件的路径和文件名,我是这样的</p><p>(defun c:WJM(/ nowdwg path WwZGD WAPTT)<br/> (setq nowdwg (getvar "dwgname")) ;取得当前文件的名称<br/> (setq path (findfile nowdwg)) ;寻找当前文件的路径<br/> (setq WwZGD (getreal "\n标注文字高度: "))<br/> (SETQ WAPTT (GETPOINT "\n标注放置点: "))<br/> (COMMAND "mtext" WAPTT "h" WwZGD WAPTT path nowdwg "")<br/> (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> <p>(COMMAND "mtext" WAPTT "h" WwZGD WAPTT path "")</p><p>findfile 返回的是包含路径的完整文件名,所以path的值是:D:\DY\泰德\W100510-05-T2-08A.dwg,而不是D:\DY\泰德</p> <p>可是文件名并不完整呀,少了W100510这几个呀。要用什么函数才可以呢?</p> (setq path (getvar "DWGPREFIX")) <p>(COMMAND "mtext" WAPTT "h" WwZGD WAPTT path nowdwg "")===>>>改为(COMMAND "mtext" WAPTT "h" WwZGD WAPTT path "")</p><p>findfile已得出你要结果了,何改要画蛇添足再加上个nowdwg<br/><br/></p> <p>谢谢,可是还有个问题,为什么在文件名前面多了个字母P呢?文件名变成PW100510-05-T2-08A.dwg了</p> <p>也可以试下这个</p><p>(defun c:WJM(/ nowdwg path WwZGD WAPTT)<br/> (setq nowdwg (getvar "dwgname")) ;取得当前文件的名称<br/> (setq path (findfile nowdwg)) ;寻找当前文件的路径</p><p><font color="#f70968"><strong> (setq path (substr path 1 (- (strlen path) (strlen nowdwg))))</strong></font> <font color="#ff00ff"><strong>;取得当前文件的路径</strong></font></p><p><br/> (setq WwZGD (getreal "\n标注文字高度: "))<br/> (SETQ WAPTT (GETPOINT "\n标注放置点: "))<br/> (COMMAND "mtext" WAPTT "h" WwZGD WAPTT path nowdwg "")<br/> (princ)<br/>)</p> <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]