帮我写个反应器
要求两图元位置互相关联,移动其中一个图元,另一个图元随之移动,删除一个图元,另一个图元随之删除,谢谢不用反应器,直接group命令就行 xinxirong 发表于 2017-12-25 22:50
不用反应器,直接group命令就行
谢谢,不想用组或块的形式实现,希望学习一下反应器 本帖最后由 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个圆即可。
页:
[1]