找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 784|回复: 2

[求助]:求助:如何在vb中捕捉CAD中的事件?

[复制链接]
发表于 2003-4-17 08:37:40 | 显示全部楼层 |阅读模式

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

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

×
我在vb中建立了与cad当前文档的连接,可以通过vb向cad中传递命

令,同时可以在vb中接受 cad的一些信息。 可是,怎样才能向vb

传递cad中的事件信息?

比如,我在cad中画了一条直线,我希望vb能捕捉到这个事件,并

执行一定的命令。

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

已领礼包: 181个

财富等级: 日进斗金

发表于 2003-4-17 09:25:36 | 显示全部楼层
可以先创建一个类模块,在其中编写事件的触发代码。

  1.   [FONT=courier new]
  2. '类模块Class1
  3. Option Explicit
  4. Public acadDoc As AcadDocument
  5. Public WithEvents Line As AcadLine        ' 使用 Modified 事件示例

  6. Sub Example_Modified()
  7.      ' 示例在模型空间创建一条直线,然后修改直线的颜色,触发 Modified 事件。
  8.    
  9.     Dim sPt(0 To 2) As Double
  10.     Dim ePt(0 To 2) As Double
  11.    
  12.     ' 定义起点和终点坐标
  13.     sPt(0) = 1: sPt(1) = 1: sPt(2) = 0
  14.     ePt(0) = 4: ePt(1) = 4: ePt(2) = 0
  15.         
  16.     ' 在模型空间创建一条直线
  17.     '
  18.     ' * 注意: 将返回的对象存放入模块级变量。才允许外部事件过程与对象进行关联,触发事件。
  19.     Set Line = acadDoc.ModelSpace.AddLine(sPt, ePt)
  20.    
  21.     acadDoc.Application.ZoomAll
  22.    
  23.     ' 修改直线的颜色。
  24.     Line.Color = acRed

  25.     acadDoc.Regen acAllViewports
  26.    
  27. End Sub

  28. Private Sub Line_Modified(ByVal pObject As AutoCAD.IAcadObject)
  29.     ' 示例接收对象的修改事件。.
  30.     MsgBox "You just modified an object with an ID of: " & pObject.ObjectID
  31.    
  32. End Sub

  33.   [/FONT]


然后再创建一个模块中,在其中编写与 AutoCAD 的接口。

  1.   [FONT=courier new]
  2. '模块Module1
  3. Option Explicit

  4. Sub Main()
  5.     '创建类模块的引用
  6.     Dim c As Class1
  7.     Set c = New Class1
  8.     '创建 AutoCAD 的引用,设置类中的 acadDoc 对象为 AutoCAD 中新添加文档对象。
  9.     Dim acadApp As AcadApplication
  10.     Set acadApp = CreateObject("AutoCAD.Application")
  11.     acadApp.Visible = True
  12.     Set c.acadDoc = acadApp.Documents.Add
  13.     '调用类中创建直线和修改颜色的过程。
  14.     c.Example_Modified
  15. End Sub

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 13:28 , Processed in 0.170667 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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