找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1849|回复: 6

[求助] [求助]:自写的LISP能用COMMAND调用么

[复制链接]
发表于 2004-3-21 20:53:22 | 显示全部楼层 |阅读模式

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

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

×
自己定义的C:的LISP怎么才能像CAD命令一样用
(command ".." )调用?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-3-21 23:11:28 | 显示全部楼层
(defun c:test()
程序内容
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2004-3-21 23:32:07 | 显示全部楼层
我的意思是
(defun c:test()
程序内容
)
怎么才能在别的程序中用
(command "test"......)这样使用
比如ET里的一些命令,不能用
(command "...".....)调用
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2004-3-22 00:53:38 | 显示全部楼层
最初由 WALX 发布
[B]我的意思是
(defun c:test()
程序内容
)
怎么才能在别的程序中用
(command "test"......)这样使用
比如ET里的一些命令,不能用
(command "...".....)调用 [/B]


LISP定义的C: 这样的命令实际上也是没有参数的函数而已,c:和后面的命令名一起作为一个函数整体的名字,用的时候,只是不用你输入括号了。

所以,你为什么不试试:

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

使用道具 举报

发表于 2004-3-22 14:00:36 | 显示全部楼层
可以用vlax-add-cmd函数(2000版以上)


将命令添加到 AutoCAD 内置命令集中
(vlax-add-cmd global-name func-sym [local-name cmd-flags])

使用 vlax-add-cmd 可以将函数定义为 AutoCAD 命令,而无需在函数名中使用 c: 前缀。用它也可以定义透明 AutoLISP 命令,而对于 c: 函数,这是不可能的。
vlax-add-cmd 函数使某个 AutoLISP 函数在当前 AutoCAD 任务中作为 ObjectARX 类型的命令,在 AutoCAD 命令行提示中使用。vlax-add-cmd 函数提供了对 ObjectARX acedRegCmds 宏的访问,从而提供了一个到 ObjectARX 系统 AcEdCommandStack 对象的指针。

vlax-add-cmd 函数自动将命令指定到命令组。从文档名称空间发出命令时,vlax-add-cmd 将命令添加到组 doc-ID。doc-ID 是标识文档的十六进制值。从独立名称空间 VLX 发出命令时,vlax-add-cmd 将命令添加到组 VLC-Ddoc-ID:VLX-name。这里 VLX-name 是发出 vlax-add-cmd.的应用程序名。
注意 不能使用 vlax-add-cmd 显露创建反应器对象的函数,也不能用它来显露反应器的回调函数。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-4 08:00:32 | 显示全部楼层
能用command 调用的,你只需在你编写函数时,用这样的格式就可以
(defun  c: function()
   ............................
)
但是你要注意function的名字不要和系统本身函数名重副,要不然你可能得到错误
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 04:01 , Processed in 0.311412 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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