明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1425|回复: 7

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

[复制链接]
发表于 2010-5-24 16:42 | 显示全部楼层 |阅读模式

我想在CAD里面写上文件的路径和文件名,我是这样的

(defun c:WJM(/ nowdwg path WwZGD WAPTT)
    (setq nowdwg (getvar "dwgname"))          ;取得当前文件的名称
    (setq path (findfile nowdwg))             ;寻找当前文件的路径
    (setq WwZGD (getreal "\n标注文字高度: "))
         (SETQ WAPTT (GETPOINT "\n标注放置点: "))
         (COMMAND "mtext" WAPTT "h" WwZGD WAPTT path  nowdwg "")
  (princ)
)

可是写出来后,不知道怎么的,路径也包含了一点文件名,写出来的效果是这样的

D:\DY\泰德-05-T2-08A.dwg
W100510-05-T2-08A.dwg

我想得到的是

D:\DY\泰德\W100510-05-T2-08A.dwg

这样的。请问要怎样改才行呀?请热心的朋友们帮帮忙,谢谢了

发表于 2010-5-24 16:57 | 显示全部楼层

(COMMAND "mtext" WAPTT "h" WwZGD WAPTT path "")

findfile 返回的是包含路径的完整文件名,所以path的值是:D:\DY\泰德\W100510-05-T2-08A.dwg,而不是D:\DY\泰德

 楼主| 发表于 2010-5-24 18:55 | 显示全部楼层

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

发表于 2010-5-24 19:02 | 显示全部楼层
(setq path (getvar "DWGPREFIX"))
发表于 2010-5-24 19:17 | 显示全部楼层

(COMMAND "mtext" WAPTT "h" WwZGD WAPTT path  nowdwg "")===>>>改为(COMMAND "mtext" WAPTT "h" WwZGD WAPTT path "")

findfile已得出你要结果了,何改要画蛇添足再加上个nowdwg

 楼主| 发表于 2010-5-24 19:23 | 显示全部楼层

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

发表于 2010-5-24 20:00 | 显示全部楼层

也可以试下这个

(defun c:WJM(/ nowdwg path WwZGD WAPTT)
    (setq nowdwg (getvar "dwgname"))          ;取得当前文件的名称
    (setq path (findfile nowdwg))             ;寻找当前文件的路径

    (setq path (substr path 1 (- (strlen path) (strlen nowdwg))))  ;取得当前文件的路径


    (setq WwZGD (getreal "\n标注文字高度: "))
         (SETQ WAPTT (GETPOINT "\n标注放置点: "))
         (COMMAND "mtext" WAPTT "h" WwZGD WAPTT path  nowdwg "")
  (princ)
)

 楼主| 发表于 2010-5-24 20:24 | 显示全部楼层

谢谢,和4楼版主得出来的效果一样

D:utoCAD Files\kn\P16#adg.dwg
都是字母显示有问题,上面应该为:

D:AutoCAD Files\kn\16#adg.dwg

才对

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-3 07:15 , Processed in 0.389179 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表