找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2073|回复: 8

[完成]:判断lsp.arx.vlx.mnl的文件是否加载的lsp函数。

[复制链接]

已领礼包: 208个

财富等级: 日进斗金

发表于 2005-7-27 00:02:48 | 显示全部楼层 |阅读模式

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

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

×
为了让cad启动加快,不是每个用到的程序都要加载.lsp中如何判断一个lsp.arx.vlx的文件是否加载??
程序见7楼..
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-7-27 08:51:52 | 显示全部楼层
暂时提供个想法,我记得好象是用arx命令你试下,arx里好象是有个检验程序是否加载的命令。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-27 09:09:17 | 显示全部楼层
AP指令调出的载入程式对话框中,可以显示当前所载入的程式,针对所列出的程式名称,可根据实际需求处理那些程式需自动载入,不知这样是否如你所需
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-27 13:46:12 | 显示全部楼层
提供一个判断arx文件是否加载的函数,其它如lsp或vlx方法与此类似,楼主可自行编写。

(defun inlist        (lst str / ct tmpstr ret)
        (setq        ct        0
                                str        (strcase str)
        )
        (repeat        (length lst)
                (setq tmpstr (strcase (nth ct lst)))
                (if        (wcmatch tmpstr (strcat "*" str "*"))
                        (setq ret T)
                )
                (setq ct (1+ ct))
        )
        ret
)

测试:

命令:(inlist (arx) "doslib16")
nil
命令: arx
输入选项 [?/加载(L)/卸载(U)/命令(C)/选项(O)]: l
DOSLib Version 6.1.5 (Jun 21 2004)
Copyright ?1992-2004, Robert McNeel & Associates
命令:(inlist (arx) "doslib16")
T
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 208个

财富等级: 日进斗金

 楼主| 发表于 2005-7-27 21:38:36 | 显示全部楼层
命令(arx)可以取得加载的arx的文件列表.
但是什么命名可以取得加载的lsp.vlx等文件的列表呢??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-27 22:08:38 | 显示全部楼层
使用DOSLIB下的dos_lisplist函数可以办到。

dos_lisplist

--------------------------------------------------------------------------------

Returns a list of loaded AutoLISP/Visual LISP files.

Syntax
(dos_lisplist [T])
Parameters
T
If specified, fully qualified paths are returned. Otherwise, just the filenames are returned.

Returns
A list of string identifying the loaded LISP files if successful.

nil on error.

Example
Command: (dos_lisplist)

("acetutil.fas" "acetauto.LSP" "acettest.fas" "dwfout.lsp" "acad2000.FAS" "acad2000doc.FAS" "acad.mnl" "acetmain.mnl")

Command: (dos_lisplist t)

("C:\\Program Files\\AutoCAD 2002\\express\\acetutil.fas" "C:\\Program Files\\AutoCAD 2002\\express\\acetauto.LSP" "C:\\Program Files\\AutoCAD 2002\\support\\acettest.fas" "C:\\Program Files\\AutoCAD 2002\\support\\legacy\\dwfout\\dwfout.lsp" "C:\\Program Files\\AutoCAD 2002\\support\\acad2000.FAS" "C:\\Program Files\\AutoCAD 2002\\support\\acad2000doc.FAS" "C:\\Program Files\\AutoCAD 2002\\Support\\acad.mnl" "C:\\Program Files\\AutoCAD 2002\\express\\acetmain.mnl")
--------------------------------------------------------------------------------
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 208个

财富等级: 日进斗金

 楼主| 发表于 2005-7-27 22:45:41 | 显示全部楼层
谢谢qjcpj 帮助.我把这个程序完善一下.以方便别人使用.
[PHP]
;使用DOSLIB
;提供一个判断arx文件是否加载的函数
;使用方法(arxext arxname)
;例如是否加载"doslib16.arx",可以使用(arxext "doslib16")
;如果加载则返回T否则为nil。
(defun arxext (str / ct tmpstr ret)
(setq ct 0 str (strcase str))
(repeat (length (arx))
(setq tmpstr (strcase (nth ct (arx))))
(if (wcmatch tmpstr (strcat "*" str "*"))
(setq ret T)
)
(setq ct (1+ ct))
)
ret
)
;使用DOSLIB
;提供一个判断fas、lsp、mnl文件是否加载的函数
;使用方法(lspext arxname)
;例如是否加载"acad.lsp",可以使用(lspext "acad")
;如果加载则返回T否则为nil。
(defun lspext ( str / ct tmpstr ret)
(setq ct 0 str (strcase str))
(repeat (length (dos_lisplist))
(setq tmpstr (strcase (nth ct (dos_lisplist))))
(if (wcmatch tmpstr (strcat "*" str "*"))
(setq ret T)
)
(setq ct (1+ ct))
)
ret
)[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 02:25 , Processed in 0.388651 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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