找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 826|回复: 9

[VBA程序]:怎么在vba中发送一个画线line命令,然后让操作者在cad窗口自行画线?

[复制链接]
发表于 2004-7-2 13:01:17 | 显示全部楼层 |阅读模式

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

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

×
在vba中控制acad,如果我想在vba中发送一个画线line命令,然后让操作者在cad窗口自行画线?
可以怎么做,我只知道可以用sendkeys、sendcommand发送字符"line "。有没有使acad窗口命令提示符后不出现"line"字样,而是出现自己定义的字符串,如"画直线"之类的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-7-2 13:04:06 | 显示全部楼层
那就用VBA编一个和Line命令功能类似的程序
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2004-7-3 12:53:53 | 显示全部楼层
最初由 god 发布
[B]要做也可以做出来,不过麻烦了点, [/B]


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

使用道具 举报

 楼主| 发表于 2004-7-3 17:45:00 | 显示全部楼层
我也不想麻烦啊。比如我想提示操作者在acad中采用pline画公路线路中线,如果只提示“画公路线路中线”就好了,但实际上是“画公路线路中线”然后是“pline”,感觉上不太好,如果没有好办法,也就将就了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-3 18:13:09 | 显示全部楼层
应该很简单,试试下面的测试代码
Sub Test()
On Error GoTo ErrHandle
Dim pFrom, pTo
pFrom = ThisDrawing.Utility.GetPoint(, vbCr & "请输入第一点:")
Do While 1
pTo = ThisDrawing.Utility.GetPoint(pFrom, vbCr & "请输入下一点:")
ThisDrawing.ModelSpace.AddLine pFrom, pTo
pFrom = ThisDrawing.Utility.GetPoint(pTo, vbCr & "请输入下一点:")
ThisDrawing.ModelSpace.AddLine pTo, pFrom
Loop
ErrHandle:
End Sub
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-3 20:28:53 | 显示全部楼层
斑竹这个应该改一下:
Sub Test()
On Error GoTo ErrHandle
Dim pFrom, pTo
pFrom = ThisDrawing.Utility.GetPoint(, vbCr & "请输入第一点:")
Do While 1
pTo = ThisDrawing.Utility.GetPoint(pFrom, vbCr & "请输入下一点:")
ThisDrawing.ModelSpace.AddLine pFrom, pTo
pFrom = pTo
Loop
ErrHandle:
End Sub
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-7-3 22:21:54 | 显示全部楼层
两位大师都是高手,菜鸟觉得麻烦的事,高手都当作是小菜。

看来只能自编代码才能解决这个问题了。
不过这种用法还是第一次见到 ,Do While 1,感觉像是死循环,怎么跳出do循环的?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 03:19 , Processed in 0.472950 second(s), 49 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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