找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1329|回复: 11

[LISP程序]:请问怎么给lisp语句加上相对路径?

[复制链接]
发表于 2004-6-2 19:51:34 | 显示全部楼层 |阅读模式

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

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

×
下面这一段代码是很久以前我从网上当下来得。
。。。
(defun c:chw ()(_@ld"wdtool")(c:wcha));换平面窗
(defun c:chd ()(_@ld"wdtool")(c:dcha));换平面门
(defun c:dw ()(_@ld"dwall")(c:dwall));双线直墙
(defun c:gw ()(_@ld"dwall")(c:gdwall));双线隔墙
。。。。。

以第一行为例,他的意思是:把天正II3.0安装根目录下的lisp目录下的wdtool.lsp中的wcha命令用chw代替。其实就是自定义个简化命令了。
现在在天正六中,一部分的老ilsp被放在了和lisp平行的目录lisp2d中去了。请问如果我想继续使用上面的语句的话,怎么更改路径啊?
注意:原来的代码中没有指明路径,程序自动的认为是://tch14/lisp目录下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-6-2 21:08:11 | 显示全部楼层
你可以试试输入完整的路径。
另外,你也可以通过修改ACAD.PGP文件来简化命令,注意一定要在运行CAD时加载你的LISP程序。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2004-6-3 00:13:28 | 显示全部楼层
重写_@ld

原来的函数里有一个是找天正的路径的(注册表吧)

一个土办法解决之.
tch_kernal.arx(我还5.5呢!不知变了没)是一定在sys里的。
(setq path findfile "tch_kernal.arx") -->天正的sys,
相对关系,加加减减就是你要的lisp目录了.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-6-3 18:22:56 | 显示全部楼层

请问怎么重写_@ld?

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

使用道具 举报

发表于 2004-6-4 08:25:00 | 显示全部楼层
试试这个:
[php]
(defun _@ld (fun_name)
  (setq my_path "e:\\zhf\\lsp\\")
;;;自己修改路径,使它指向你的lsp程序文件。
  (if (member fun_name loaded_LSP)
;;;loaded_LSP作为一个全局变量,用来保存已经加载过的LSP文件名。
    (princ (strcat "\n文件已经加载: " fun_name))
    (if        (findfile (strcat my_path fun_name))
      (if (load (strcat my_path fun_name))
        (progn (princ (strcat "\n文件加载成功: " fun_name))
               (setq loaded_LSP (append loaded_LSP (list fun_name)))
        )
        (princ (strcat "\n文件加载失败: " fun_name))
      )
      (princ
        (strcat "\n在" my_path "文件夹查找不到文件: " fun_name)
      )
    )
  )
  (princ)
)[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-6-4 20:16:27 | 显示全部楼层

谢谢斑竹

可不可以指定多个路径?_@ld是什么含义?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-4 21:01:31 | 显示全部楼层
_@ld没有特别的含义,不过是个函数名。
上面的程序不支持多个路径
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-6-4 23:45:16 | 显示全部楼层

呵呵,我有点开窍了,谢谢斑竹

呵呵,我有点开窍了,谢谢斑竹
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-6-4 23:51:33 | 显示全部楼层

Re: 呵呵,我有点开窍了,谢谢斑竹

最初由 2983 发布
[B]呵呵,我有点开窍了,谢谢斑竹 [/B]

保证 Lisp2d 在 Support 路径下就可以。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-6-5 00:03:59 | 显示全部楼层
lisp2d是天正六里自己定义的。按照wkai斑竹的意见,把有用的lisp文件拷贝到一个新的目录里,再自定义一下他的路径,就可以为天正六里的天正3的命令自定义简化命令了。天正六里还是有几个命令比较好用的。象局部隐藏和恢复可见。但是对象化的方式实在难以合作和修改。还有就是天正六集成的天正三好像日照计算有大问题(也许是因为d版的原因),但是天正六自己名下的计算就没问题。所以我是大部分用天正六下面的天正三和小部分天正六下面的天正六。呵呵没被我绕晕了吧?不过最近打算用理正了。



不过aeo斑竹的“加加减减”自定义相对路径具体是什么意思?能给个实例吗?我刚开始打算学,连菜都不敢自称的。呵呵。


又:
wkai斑竹
我试过了。代码本身可用。可是天正的零件换个位置就罢工了。呵呵。这个尝试该到此结束了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2004-6-5 11:49:53 | 显示全部楼层
其实没开始学lisp,就算了.
把lisp2d目录直接加入cad的support路径.
这样什么都不要了:

  1. (defun _@ld (file)
  2.   (if (and (not(member file _tchatoml))
  3.              (findfile file)
  4.            (load  file)
  5.       )
  6.     (setq _tchatoml (cons file _tchatoml))
  7.   )
  8.   (princ)
  9. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 07:02 , Processed in 0.208260 second(s), 53 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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