乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 23|回复: 1

求助:AcadDocument_ObjectAdded函数中的问题

[复制链接]

1

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 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
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2006-3-29 19:07:00 | 显示全部楼层
[WEB]http://www.mjtd.com/object/acad2004/idh_getstring.htm[/WEB]
然后改变块的插入比例
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-6 06:06 , Processed in 1.276446 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表