- 积分
- 1846
- 明经币
- 个
- 注册时间
- 2003-12-24
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2017-12-31 13:02:46
|
显示全部楼层
本帖最后由 ljq 于 2017-12-31 13:04 编辑
1、建立fyq类,代码如下:
'声明ACADent为带事件的acad实体对象
Public WithEvents ent1 As AcadCircle
Public WithEvents ent2 As AcadCircle
'在实体修改事件中增加提示框---显示多段线面积
Private Sub ent1_Modified(ByVal pObject As AutoCAD.IAcadObject)
On Error Resume Next
ent2.Center = ent1.Center
ent2.Radius = ent1.Radius + 30
If Err.Number = -2145386420 Then ent2.Delete
End Sub
'在实体修改事件中增加提示框---显示多段线面积
Private Sub ent2_Modified(ByVal pObject As AutoCAD.IAcadObject)
On Error Resume Next
ent1.Center = ent2.Center
ent1.Radius = ent2.Radius - 30
If Err.Number = -2145386420 Then ent1.Delete
End Sub
2、在模块中写代码如下:
Public Y As New fyq
'对象层事件应用
Sub ent_event1()
Dim cc1 As AcadCircle, cc2 As AcadCircle
ThisDrawing.Utility.GetEntity cc1, pt, "dsd"
cc1.color = acRed
Set Y.ent1 = cc1
ThisDrawing.Utility.GetEntity cc2, pt, "dsd"
cc2.color = acGreen
Set Y.ent2 = cc2
End Sub
3、执行模块中ent_event1宏命令,在图中任选2个圆即可。 |
|