找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1535|回复: 18

[求助] [求助]:请问如何在lsp语言下调用非CAD内部命令的其它挂件的程序命令?

[复制链接]
发表于 2004-9-10 08:59:39 | 显示全部楼层 |阅读模式

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

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

×
我知道有一种方法可以实现,但是比较麻烦,有大侠指点吗?一个人学编程真的很难。呜呜!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-9-10 12:34:33 | 显示全部楼层
(defun c:dl()(getpoint ))
(c:dl)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-9-10 12:48:19 | 显示全部楼层
这么说吧,
(defun c:tr0()
(command "exfillet" "r" "0"))
这里的exfillet是powertools软件里的命令,所以,(command "exfillet" "r" "0"))语句是调用不到exfillet命令的。问:如何实现调用!
wkai兄写的语句我不明白,不好意思,刚刚介入编程,请多指教!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2004-9-11 10:32:03 | 显示全部楼层
(vlax-add-cmd global-name func-sym [local-name cmd-flags])
具体使用方法,你可以看一下帮助
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2004-9-11 15:06:37 | 显示全部楼层
5楼大侠的vlax-add-cmd命令我具体查阅了,也许是资料不全的缘故,我怎么调试都不行啊。我也查找了好多前辈些的lsp程序,不过这个命令用的比较少。
梦断江南,你说的sendkeys是怎么一回事,我怎么找不到这个命令啊?恕我无知了!^_^
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-9-12 09:46:50 | 显示全部楼层

Re: [求助]:请问如何在lsp语言下调用非CAD内部命令的其它挂件的程序命令?

最初由 倚夕扇雪 发布
[B]我知道有一种方法可以实现,但是比较麻烦,有大侠指点吗?一个人学编程真的很难。呜呜! [/B]

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

使用道具 举报

发表于 2004-9-12 14:19:38 | 显示全部楼层
最初由 倚夕扇雪 发布
[B]5楼大侠的vlax-add-cmd命令我具体查阅了,也许是资料不全的缘故,我怎么调试都不行啊。我也查找了好多前辈些的lsp程序,不过这个命令用的比较少。
梦断江南,你说的sendkeys是怎么一回事,我怎么找不到这个命令啊?... [/B]


先加载下面的函数
[php];;Written By AIdraft
(defun SendKeys (keys / ws)
  (setq ws (vlax-create-object "WScript.Shell"))
  (vlax-invoke-method ws 'sendkeys keys)
  (vlax-release-object ws)
  (princ)
)[/php]
然后试试(SendKeys "exfillet r 0 "), 如果命令还没完,0后面再加一个空格试试看。

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

使用道具 举报

 楼主| 发表于 2004-9-13 10:00:45 | 显示全部楼层
aidraft ,你好厉害啊,小女子好好佩服的。你两个名利都可以实现我的愿望。有了sendkeys我以后不犯愁了。你的第一个程序我勉强能够一知半解,第二个程序我就啥也不懂了。唉,只好依葫芦画瓢了。
////////好,下面我将隆重推出我自己的程序,也同样能解决问题不过可能稍显麻烦一点,但是我的原创啊。各位神魔鬼怪望海涵,^_^!!!
介绍之前,大家先了解一下script命令,查阅帮助即可,或其它。。。。。。

好,在support文件夹下建立名字为“常用命令SCR文件”的文件夹,其下再建立名字为“exfillet-r=0.scr”的scr类型文件,用记事本打开,输入"exfillet
r
0"
引号不计!然后编程,如下:

;;将任何两条线汇交一点。
;;基于powertools软件。
(defun c:tr0()
  (command "script" "常用命令SCR文件\\exfillet-r=0.scr"));;因为无法直接调用非CAD内部的命令,所以先建立scr文件。





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

使用道具 举报

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

使用道具 举报

发表于 2004-9-15 17:08:44 | 显示全部楼层
晕倒,Lisp做的命令,Lisp本身都不好调用,五楼的应该可以呀?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2004-9-15 21:50:41 | 显示全部楼层
aidraft的sendkeys是生成了"WScript.Shell"对象,是一个windows带的对象.

其实sendkeys是vb的内部函数,所以eachy又写成了vla-eval的方式,用处一样,两码事.

就相当于在键盘上按下了那么多键.
VLA-SENDCOMMAND其实也是vba的方法.


VLAX-ADD-CMD肯定是可以的,先注册了再(command...)调用.


"晕倒,Lisp做的命令,Lisp本身都不好调用,五楼的应该可以呀"
其实程序要求输入"r" "0"
(initget "r")
(setq rad(getdist ".."))
我想应该是这样的,本身就是个要求输入的过程.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 18:35 , Processed in 0.319750 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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