测试代码.txt
上传用户:yayuwl
上传日期:2022-03-18
资源大小:8952k
文件大小:2k
源码类别:

CAD

开发平台:

VBA

  1. Public TlsApp As New TlsApplication
  2. Private WithEvents m_XhqReactor As TlsReactor
  3. Public Sub TlsCadInit()
  4.     TlsApp.Application = Application
  5.     Set m_XhqReactor = TlsApp.Reactors("TlsXHQ")
  6. End Sub
  7. Private Sub m_XhqReactor_DoubleClick(ByVal pObject As IAcadObject, ByVal Value As Variant)
  8. On Error GoTo ErrHandle
  9.     Dim oBlock As AcadBlock
  10.     Dim oText As AcadText
  11.     Set oBlock = ThisDrawing.Blocks(pObject.Name)
  12.     Set oText = oBlock(1)
  13.     oText.TextString = InputBox("请输入序号", "TlsCad", oText.TextString)
  14.     pObject.Update
  15. ErrHandle:
  16. End Sub
  17. Private Sub m_XhqReactor_Erased(ByVal Value As Variant)
  18.     MsgBox "Delete"
  19. End Sub
  20. Private Sub m_XhqReactor_Modified(ByVal pObject As IAcadObject, ByVal Value As Variant)
  21. On Error GoTo ErrHandle
  22.     Dim oLine As AcadLine
  23.     Dim pStart, pEnd, pAngle, pDis
  24.     
  25.     Set oLine = ThisDrawing.HandleToObject(Value(0))
  26.     pStart = oLine.StartPoint
  27.     pEnd = pObject.InsertionPoint
  28.     pEnd = ThisDrawing.Utility.PolarPoint(pEnd, Atn(1) * 6, 5 * pObject.XScaleFactor)
  29.     pAngle = ThisDrawing.Utility.AngleFromXAxis(pStart, pEnd)
  30.     pDis = ((pStart(0) - pEnd(0)) ^ 2 + (pStart(1) - pEnd(1)) ^ 2) ^ 0.5 - 5 * pObject.XScaleFactor
  31.     oLine.EndPoint = ThisDrawing.Utility.PolarPoint(pStart, pAngle, pDis)
  32. ErrHandle:
  33. End Sub
  34. Sub TlsXHQ()
  35. On Error GoTo ErrHandle
  36.     Dim oLine As AcadLine
  37.     Dim oBlock As AcadBlock
  38.     Dim oText As AcadText
  39.     
  40.     s = ThisDrawing.Utility.GetString(False, "输入序号:")
  41.     p1 = ThisDrawing.Utility.getpoint(, "输入第一点:")
  42.     p2 = ThisDrawing.Utility.getpoint(p1, "输入第二点:")
  43.     Set oLine = ThisDrawing.ModelSpace.AddLine(p1, p2)
  44.     
  45.     p1 = TlsApp.Utility.CreatePoint
  46.     Set oBlock = ThisDrawing.Blocks.Add(p1, "*U")
  47.     p1 = ThisDrawing.Utility.PolarPoint(p1, Atn(1) * 6, 5)
  48.     oBlock.AddCircle p1, 5
  49.     Set oText = oBlock.AddText(s, p1, 5)
  50.     oText.Alignment = acAlignmentMiddleCenter
  51.     oText.TextAlignmentPoint = p1
  52.     
  53.     m_XhqReactor.Add ThisDrawing.ModelSpace.InsertBlock(ThisDrawing.Utility.PolarPoint(p2, Atn(1) * 2, 5), oBlock.Name, 1, 1, 1, 0), Array(oLine.Handle)
  54.  
  55. ErrHandle:
  56. End Sub