Create Callout Independent of a Selection (VB.NET)
This example shows how to create a callout that is independent of a
selection.
'---------------------------------------------------------------
'
' Preconditions: Document
is open in SolidWorks.
'
'
' Postconditions: A callout is created with two leaders.
'
'----------------------------------------------------------------
Imports SolidWorks.Interop.sldworks
Imports SolidWorks.Interop.swconst
Imports SolidWorks.Interop.swpublished
Imports System
Imports System.Diagnostics
Partial Class SolidWorksMacro
Dim
swModel As ModelDoc2
Dim
swExt As ModelDocExtension
Dim
swSelMgr As SelectionMgr
Dim
mathUtil As MathUtility
Public
Sub main()
swModel
= swApp.ActiveDoc
swExt
= swModel.Extension
swSelMgr
= swModel.SelectionManager
mathUtil
= swApp.GetMathUtility
Dim
handle As New calloutHandler
Dim
mp As MathPoint
Dim
vPnt(2) As Double
vPnt(0)
= 0.0#
vPnt(1)
= 0.0#
vPnt(2)
= 0.0#
mp
= mathUtil.CreatePoint(vPnt)
Dim
myCallout As Callout
myCallout
= swExt.CreateCallout(2, handle)
myCallout.Value(1)
= "test"
myCallout.Label2(1)
= "SldWorks API"
Call
myCallout.SetLeader(True, True)
Call
myCallout.SetTargetPoint(1, 0.001, 0.001, 0)
Call
myCallout.SetTargetPoint(2, -0.001, 0.001, 0)
myCallout.Position
= mp
myCallout.ValueInactive(0)
= True
myCallout.TextBox
= False
myCallout.Display(True)
End
Sub
'''
<summary>
'''
The SldWorks swApp variable is pre-assigned for you.
'''
</summary>
Public
swApp As SldWorks
End Class
'
' calloutHandler.vb
.
Imports SolidWorks.Interop.sldworks
Imports SolidWorks.Interop.swconst
Imports SolidWorks.Interop.swpublished
Imports System
Imports System.Diagnostics
<System.Runtime.InteropServices.ComVisible(True)>
_
Public Class calloutHandler
Implements
SwCalloutHandler
Private
Function OnStringValueChanged(ByVal pManipulator As Object, ByVal RowID
As Integer, ByVal Text As String) As Boolean Implements SolidWorks.Interop.swpublished.ISwCalloutHandler.OnStringValueChanged
Debug.Print("Text:
" & Text)
Debug.Print("Row:
" & RowID)
Return
True
End
Function
End Class