注册该文件并在VBA中引用TlsCad
在thisdrawing模块中加入下列代码
将TlsCadInit宏设为初始启动,即在acaddoc.lsp文件中加入(command "-vbarun" "TlsCadInit")
运行test宏
-
- Public TlsApp As New TlsApplication
- Private WithEvents Reactor1 As TlsReactor
- Public Sub TlsCadInit()
- TlsApp.Application = Application
- Set Reactor1 = TlsApp.Reactors("Reactor1")
- End Sub
- Private Sub Reactor1_DoubleClick(ByVal pObject As IAcadObject, ByVal Value As Variant)
- ThisDrawing.SendCommand "_.ddedit" & vbCr & vbCr
- End Sub
- Private Sub Reactor1_Modified(ByVal pObject As IAcadObject, ByVal Value As Variant)
- Dim pText1 As AcadText
- Dim pText2 As AcadText
- Dim pText3 As AcadText
-
- Set pText1 = ThisDrawing.HandleToObject(Value(0))
- Set pText2 = ThisDrawing.HandleToObject(Value(1))
- Set pText3 = pObject
-
-
- pText1.TextString = CDbl(pText3.TextString) + CDbl(pText2.TextString)
- End Sub
- Public Sub test()
- Set t1 = ThisDrawing.ModelSpace.AddText("1", ThisDrawing.Utility.GetPoint, 5)
- Set t2 = ThisDrawing.ModelSpace.AddText("1", ThisDrawing.Utility.GetPoint, 5)
- Set t3 = ThisDrawing.ModelSpace.AddText("1", ThisDrawing.Utility.GetPoint, 5)
- Reactor1.Add t1, Array(t3.Handle, t2.Handle)
- Reactor1.Add t2, Array(t3.Handle, t1.Handle)End Sub
|