明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1815|回复: 1

求助:AcadDocument_ObjectAdded函数中的问题

[复制链接]
发表于 2006-3-29 16:46:00 | 显示全部楼层 |阅读模式

求助:在AcadDocument_ObjectAdded函数中怎样把Object参数赋给AcadBlockReference类型变量,以判断插

入的块参照的名称?


我想用VBA实现下面的功能:

        当用户手动或者用其它工程(例如天正系列软件)向图形中插入一个特定的块(块名称

为"chuanghu",表示窗户)时,我的程序能检测到这个事件,并进行一些额外的处理(比如,让用户在命令行输

入块的高度,以方便以后的计算)

        于是我实现AcadDocument_ObjectAdded(ByVal Object As Object)函数.但是该函数的执行去存

在下面的问题:

        当用户手动插入块(执行CAD的"插入/块"菜单)时,AcadDocument_ObjectAdded函数运行没有问题,

能够判断出添加的时块参照,并能读取改块参照的块名称;但是当使用VBA程序,调用InsertBlock函数插入

块时,AcadDocument_ObjectAdded函数中部门把传入的参数Object赋值给一个AcadBlockReference变

量....程序会执行到Set ss = Object时出现错误

"运行时错误13,类型不匹配"...

        我的代码贴出来,如下,请各位高手看看,诊断下,不胜感激:

Private Sub AcadDocument_ObjectAdded(ByVal Object As Object)
Dim cla As String
cla = Object.ObjectName
If cla = "AcDbBlockReference" Then
  Dim ss As AcadBlockReference
  Set ss = Object
  Dim nm As String
  nm = ss.Name
  ThisDrawing.Utility.Prompt vbNewLine & "ok! 块添加到图形中" & "块名称:" & nm
End If
End Sub

发表于 2006-3-29 19:07:00 | 显示全部楼层

 [WEB]http://www.mjtd.com/object/acad2004/idh_getstring.htm[/WEB]

然后改变块的插入比例

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 06:39 , Processed in 0.177303 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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