找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3326|回复: 7

[求助] [求助]:怎样设置这个lisp里的读取文件路径

[复制链接]
发表于 2008-3-21 21:04:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
这时一个别人很久以前的lisp文件,可能是cadR12版就有了。文件语句如下:
(setq pt (osnap (getpoint "\n捕捉一个点 :") "end,int"))
(command "ucs" "o" pt)
(setq f (open "/hcad/sld/J647.dat" "r"))
(setq t (read-line f))
  (setq a 4)
(while (/= nb t) (setq t (read-line f)))
(while (/= (substr (setq t (read-line f)) 1 1) "*")
  (command "layer" "s" (if (= (substr t 1 1) " ")
                              (substr t 2 1) (substr t 1 2)) "")
  (command "pline" (substr t 4 11))
  (while (/= (substr t (setq a (+ a 12)) 11) "")
    (command (substr t a 11))
  )
    (command "")
  (setq a 4)
  )
(close f)
(command "ucs" "")



问题是在语句
(setq f (open "/hcad/sld/J647.dat" "r"))
中如何才能正确读取J647.dat文件
该文件位于软件包目录hcad/sld/之下,我的想法是软件包hcad可能放置的位置可能是任意位置,通过设置cad的选项-文件-支持文件搜索路径来添加该文件夹的放置路径,以便让该lisp语句能正确读取J647.dat文件。
但按照上面的语句设置,只能将hcad文件夹放在c:盘的根目录下才能正确读取J647.dat文件。要不然只能速写完整的绝对路径也可以正确读取,但这样都只能将hcad文件夹放在固定的位置。
请问能不能修改lisp语句来达到上面的目的。
目前使用cad2006及2008

我对lisp来说是个菜鸟,只能看个大概,不懂具体的lisp语句的含意。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 2个

财富等级: 恭喜发财

发表于 2008-3-22 08:11:47 | 显示全部楼层
建议在程序中先搜索 "J647.dat" 文件的位置,获取路径全名后,再行打开操作。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2008-3-22 08:17:22 | 显示全部楼层
建议在程序中先搜索 "J647.dat" 文件的位置,获取路径全名后,再行打开操作。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-22 10:31:43 | 显示全部楼层
如何重新写这两句呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-22 11:00:24 | 显示全部楼层
如何重新写这两句呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 9840个

财富等级: 富甲天下

发表于 2008-3-22 14:03:25 | 显示全部楼层
楼上回声

(if (setq fnm (findfile "/hcad/sld/J647.dat")) (progn
(setq f (open fnm "r')
……
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-22 15:38:25 | 显示全部楼层
我自己试了一下,这样也可以
(setq f (open (findfile "hcad/sld/J647.dat") "r"))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 221个

财富等级: 日进斗金

发表于 2013-8-11 08:04:41 | 显示全部楼层
用全路径不行吗??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-5-6 21:43 , Processed in 0.265109 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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