Placing a custom Stamp

Hi Everyone,

I have a situation here that...
I want to Custom symbol using journal
so that I can have buttons for different stamps
I tried to record and play but symbol is being placed always in the same place where it's been recorded (in it's natural way) but want to catch that symbol into cursor so that I can place wherever needed and open edit dialog box after placing......
Example "Recorded....."
Totally confused...........

Option Strict Off
Imports System
Imports NXOpen

Module NXJournal
Sub Main (ByVal args() As String)

Dim theSession As NXOpen.Session = NXOpen.Session.GetSession()
Dim workPart As NXOpen.Part = theSession.Parts.Work

Dim displayPart As NXOpen.Part = theSession.Parts.Display

Dim markId1 As NXOpen.Session.UndoMarkId
markId1 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Start")

Dim nullNXOpen_Annotations_CustomSymbol As NXOpen.Annotations.CustomSymbol = Nothing

Dim draftingCustomSymbolBuilder1 As NXOpen.Annotations.DraftingCustomSymbolBuilder
draftingCustomSymbolBuilder1 = workPart.Annotations.CustomSymbols.CreateDraftingCustomSymbolBuilder(nullNXOpen_Annotations_CustomSymbol)

draftingCustomSymbolBuilder1.Origin.SetInferRelativeToGeometry(True)

draftingCustomSymbolBuilder1.Origin.SetInferRelativeToGeometry(True)

draftingCustomSymbolBuilder1.Origin.Anchor = NXOpen.Annotations.OriginBuilder.AlignmentPosition.MidCenter

draftingCustomSymbolBuilder1.Scale.RightHandSide = "1"

draftingCustomSymbolBuilder1.Angle.RightHandSide = "0"

theSession.SetUndoMarkName(markId1, "Custom Symbol Dialog")

draftingCustomSymbolBuilder1.Origin.Plane.PlaneMethod = NXOpen.Annotations.PlaneBuilder.PlaneMethodType.XyPlane

draftingCustomSymbolBuilder1.Origin.SetInferRelativeToGeometry(True)

Dim leaderData1 As NXOpen.Annotations.LeaderData
leaderData1 = workPart.Annotations.CreateLeaderData()

leaderData1.StubSize = 5.0

leaderData1.Arrowhead = NXOpen.Annotations.LeaderData.ArrowheadType.FilledArrow

leaderData1.VerticalAttachment = NXOpen.Annotations.LeaderVerticalAttachment.Center

draftingCustomSymbolBuilder1.Leader.Leaders.Append(leaderData1)

leaderData1.StubSide = NXOpen.Annotations.LeaderSide.Inferred

draftingCustomSymbolBuilder1.SelectSymbol("C:\Users\Manhah Tashmeekh\Desktop\Mystamps\Ali\Shaik.sym.prt")

draftingCustomSymbolBuilder1.Origin.SetInferRelativeToGeometry(True)

draftingCustomSymbolBuilder1.Origin.SetInferRelativeToGeometry(True)

' ----------------------------------------------
' Dialog Begin Custom Symbol
' ----------------------------------------------
Dim assocOrigin1 As NXOpen.Annotations.Annotation.AssociativeOriginData
assocOrigin1.OriginType = NXOpen.Annotations.AssociativeOriginType.Drag
Dim nullNXOpen_View As NXOpen.View = Nothing

assocOrigin1.View = nullNXOpen_View
assocOrigin1.ViewOfGeometry = nullNXOpen_View
Dim nullNXOpen_Point As NXOpen.Point = Nothing

assocOrigin1.PointOnGeometry = nullNXOpen_Point
Dim nullNXOpen_Annotations_Annotation As NXOpen.Annotations.Annotation = Nothing

assocOrigin1.VertAnnotation = nullNXOpen_Annotations_Annotation
assocOrigin1.VertAlignmentPosition = NXOpen.Annotations.AlignmentPosition.TopLeft
assocOrigin1.HorizAnnotation = nullNXOpen_Annotations_Annotation
assocOrigin1.HorizAlignmentPosition = NXOpen.Annotations.AlignmentPosition.TopLeft
assocOrigin1.AlignedAnnotation = nullNXOpen_Annotations_Annotation
assocOrigin1.DimensionLine = 0
assocOrigin1.AssociatedView = nullNXOpen_View
assocOrigin1.AssociatedPoint = nullNXOpen_Point
assocOrigin1.OffsetAnnotation = nullNXOpen_Annotations_Annotation
assocOrigin1.OffsetAlignmentPosition = NXOpen.Annotations.AlignmentPosition.TopLeft
assocOrigin1.XOffsetFactor = 0.0
assocOrigin1.YOffsetFactor = 0.0
assocOrigin1.StackAlignmentPosition = NXOpen.Annotations.StackAlignmentPosition.Above
draftingCustomSymbolBuilder1.Origin.SetAssociativeOrigin(assocOrigin1)

Dim point1 As NXOpen.Point3d = New NXOpen.Point3d(1023.95086050725, 139.404891304348, 0.0)
draftingCustomSymbolBuilder1.Origin.Origin.SetValue(Nothing, nullNXOpen_View, point1)

draftingCustomSymbolBuilder1.Origin.SetInferRelativeToGeometry(True)

Dim markId2 As NXOpen.Session.UndoMarkId
markId2 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Custom Symbol")

Dim nXObject1 As NXOpen.NXObject
nXObject1 = draftingCustomSymbolBuilder1.Commit()

theSession.DeleteUndoMark(markId2, Nothing)

theSession.SetUndoMarkName(markId1, "Custom Symbol")

theSession.SetUndoMarkVisibility(markId1, Nothing, NXOpen.Session.MarkVisibility.Visible)

draftingCustomSymbolBuilder1.Destroy()

Dim markId3 As NXOpen.Session.UndoMarkId
markId3 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Start")

Dim draftingCustomSymbolBuilder2 As NXOpen.Annotations.DraftingCustomSymbolBuilder
draftingCustomSymbolBuilder2 = workPart.Annotations.CustomSymbols.CreateDraftingCustomSymbolBuilder(nullNXOpen_Annotations_CustomSymbol)

draftingCustomSymbolBuilder2.Origin.SetInferRelativeToGeometry(True)

draftingCustomSymbolBuilder2.Origin.SetInferRelativeToGeometry(True)

draftingCustomSymbolBuilder2.Origin.Anchor = NXOpen.Annotations.OriginBuilder.AlignmentPosition.MidCenter

draftingCustomSymbolBuilder2.Scale.RightHandSide = "1"

draftingCustomSymbolBuilder2.Angle.RightHandSide = "0"

theSession.SetUndoMarkName(markId3, "Custom Symbol Dialog")

draftingCustomSymbolBuilder2.Origin.Plane.PlaneMethod = NXOpen.Annotations.PlaneBuilder.PlaneMethodType.XyPlane

draftingCustomSymbolBuilder2.Origin.SetInferRelativeToGeometry(True)

Dim leaderData2 As NXOpen.Annotations.LeaderData
leaderData2 = workPart.Annotations.CreateLeaderData()

leaderData2.StubSize = 5.0

leaderData2.Arrowhead = NXOpen.Annotations.LeaderData.ArrowheadType.FilledArrow

leaderData2.VerticalAttachment = NXOpen.Annotations.LeaderVerticalAttachment.Center

draftingCustomSymbolBuilder2.Leader.Leaders.Append(leaderData2)

leaderData2.StubSide = NXOpen.Annotations.LeaderSide.Inferred

draftingCustomSymbolBuilder2.SelectSymbol("C:\Users\Manhah Tashmeekh\Desktop\Mystamps\Ali\Shaik.sym.prt")

draftingCustomSymbolBuilder2.Origin.SetInferRelativeToGeometry(True)

draftingCustomSymbolBuilder2.Origin.SetInferRelativeToGeometry(True)

draftingCustomSymbolBuilder2.Destroy()

theSession.UndoToMark(markId3, Nothing)

theSession.DeleteUndoMark(markId3, Nothing)

' ----------------------------------------------
' Menu: Tools->Journal->Stop Recording
' ----------------------------------------------

End Sub
End Module

I'd suggest using the .SpecifyScreenPosition function to allow the user to indicate where to place the symbol; once you have the coordinates that the user specified, you can use them for the origin of the custom symbol. Some articles/threads you might want to read through include:

http://nxjournaling.com/content/overlay-graphics

http://nxjournaling.com/content/adding-pause-or-wait-journal

Hi,
I tried your Suggestion and able to place symbol at required position,
But its taking long time than usual Can you make it shorter to run quickly??? and it would be better if you can show the preview of symbol as shown circle in example.

' NX 10.0.2.6
' Journal created by gashaik on Mon Jul 25 15:21:47 2016 India Standard Time
'
Option Strict Off
Imports System
Imports NXOpen
Imports NXOpen.UF

Module NXJournal
Sub Main (ByVal args() As String)

Dim theSession As Session = Session.GetSession()
Dim workPart As NXOpen.Part = theSession.Parts.Work
Dim theUfSession As UFSession = UFSession.GetUFSession()

Dim displayPart As NXOpen.Part = theSession.Parts.Display

Dim markId1 As NXOpen.Session.UndoMarkId
markId1 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Start")

Dim nullNXOpen_Annotations_CustomSymbol As NXOpen.Annotations.CustomSymbol = Nothing

Dim draftingCustomSymbolBuilder1 As NXOpen.Annotations.DraftingCustomSymbolBuilder
draftingCustomSymbolBuilder1 = workPart.Annotations.CustomSymbols.CreateDraftingCustomSymbolBuilder(nullNXOpen_Annotations_CustomSymbol)

draftingCustomSymbolBuilder1.Origin.SetInferRelativeToGeometry(True)

draftingCustomSymbolBuilder1.Origin.SetInferRelativeToGeometry(False)

draftingCustomSymbolBuilder1.Origin.Anchor = NXOpen.Annotations.OriginBuilder.AlignmentPosition.MidCenter

draftingCustomSymbolBuilder1.Scale.RightHandSide = "1"

draftingCustomSymbolBuilder1.Angle.RightHandSide = "0"

draftingCustomSymbolBuilder1.AnnotationPreference = NXOpen.Annotations.BaseCustomSymbolBuilder.AnnotationPreferences.UseDefinition

draftingCustomSymbolBuilder1.GeometryPreference = NXOpen.Annotations.BaseCustomSymbolBuilder.GeometryPreferences.UseDefinition

theSession.SetUndoMarkName(markId1, "Custom Symbol Dialog")

draftingCustomSymbolBuilder1.Origin.Plane.PlaneMethod = NXOpen.Annotations.PlaneBuilder.PlaneMethodType.XyPlane

draftingCustomSymbolBuilder1.Origin.SetInferRelativeToGeometry(False)

Dim leaderData1 As NXOpen.Annotations.LeaderData
leaderData1 = workPart.Annotations.CreateLeaderData()

leaderData1.StubSize = 5.0

leaderData1.Arrowhead = NXOpen.Annotations.LeaderData.ArrowheadType.FilledArrow

leaderData1.VerticalAttachment = NXOpen.Annotations.LeaderVerticalAttachment.Center

draftingCustomSymbolBuilder1.Leader.Leaders.Append(leaderData1)

leaderData1.Arrowhead = NXOpen.Annotations.LeaderData.ArrowheadType.FilledDot

leaderData1.StubSide = NXOpen.Annotations.LeaderSide.Inferred

draftingCustomSymbolBuilder1.SelectSymbol("C:\Users\gashaik\Desktop\Shaik\Stamps\ZUS_TECHNISCHER_PLATZ.sym.prt")

draftingCustomSymbolBuilder1.Origin.SetInferRelativeToGeometry(False)

draftingCustomSymbolBuilder1.Origin.SetInferRelativeToGeometry(True)

' ----------------------------------------------
' Dialog Begin Custom Symbol
' ----------------------------------------------
Dim assocOrigin1 As NXOpen.Annotations.Annotation.AssociativeOriginData
assocOrigin1.OriginType = NXOpen.Annotations.AssociativeOriginType.Drag
Dim nullNXOpen_View As NXOpen.View = Nothing

assocOrigin1.View = nullNXOpen_View
assocOrigin1.ViewOfGeometry = nullNXOpen_View
Dim nullNXOpen_Point As NXOpen.Point = Nothing

assocOrigin1.PointOnGeometry = nullNXOpen_Point
Dim nullNXOpen_Annotations_Annotation As NXOpen.Annotations.Annotation = Nothing

assocOrigin1.VertAnnotation = nullNXOpen_Annotations_Annotation
assocOrigin1.VertAlignmentPosition = NXOpen.Annotations.AlignmentPosition.TopLeft
assocOrigin1.HorizAnnotation = nullNXOpen_Annotations_Annotation
assocOrigin1.HorizAlignmentPosition = NXOpen.Annotations.AlignmentPosition.TopLeft
assocOrigin1.AlignedAnnotation = nullNXOpen_Annotations_Annotation
assocOrigin1.DimensionLine = 0
assocOrigin1.AssociatedView = nullNXOpen_View
assocOrigin1.AssociatedPoint = nullNXOpen_Point
assocOrigin1.OffsetAnnotation = nullNXOpen_Annotations_Annotation
assocOrigin1.OffsetAlignmentPosition = NXOpen.Annotations.AlignmentPosition.TopLeft
assocOrigin1.XOffsetFactor = 0.0
assocOrigin1.YOffsetFactor = 0.0
assocOrigin1.StackAlignmentPosition = NXOpen.Annotations.StackAlignmentPosition.Above
draftingCustomSymbolBuilder1.Origin.SetAssociativeOrigin(assocOrigin1)

'Dim selectedPoint As Double
'selectedPoint = SelectScreenPoint()

Dim selectedPoint(2) As Double
selectedPoint = SelectScreenPoint()
If IsNothing(selectedPoint) Then
Return
End If

'NXOpen.Point3d = New NXOpen.Point3d(914.541207518023, 64.0602085478889, 0.0)

Dim theCenPt As New Point3d(selectedPoint(0), selectedPoint(1), selectedPoint(2))
draftingCustomSymbolBuilder1.Origin.Origin.SetValue(Nothing, nullNXOpen_View, theCenPt)

draftingCustomSymbolBuilder1.Origin.SetInferRelativeToGeometry(False)

Dim markId2 As NXOpen.Session.UndoMarkId
markId2 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Custom Symbol")

Dim nXObject1 As NXOpen.NXObject
nXObject1 = draftingCustomSymbolBuilder1.Commit()

theSession.DeleteUndoMark(markId2, Nothing)

theSession.SetUndoMarkName(markId1, "Custom Symbol")

theSession.SetUndoMarkVisibility(markId1, Nothing, NXOpen.Session.MarkVisibility.Visible)

draftingCustomSymbolBuilder1.Destroy()

Dim markId3 As NXOpen.Session.UndoMarkId
markId3 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Start")

Dim draftingCustomSymbolBuilder2 As NXOpen.Annotations.DraftingCustomSymbolBuilder
draftingCustomSymbolBuilder2 = workPart.Annotations.CustomSymbols.CreateDraftingCustomSymbolBuilder(nullNXOpen_Annotations_CustomSymbol)

draftingCustomSymbolBuilder2.Origin.SetInferRelativeToGeometry(True)

draftingCustomSymbolBuilder2.Origin.SetInferRelativeToGeometry(False)

draftingCustomSymbolBuilder2.Origin.Anchor = NXOpen.Annotations.OriginBuilder.AlignmentPosition.MidCenter

draftingCustomSymbolBuilder2.Scale.RightHandSide = "1"

draftingCustomSymbolBuilder2.Angle.RightHandSide = "0"

draftingCustomSymbolBuilder2.Style.DimensionStyle.LimitFitDeviation = "H"

draftingCustomSymbolBuilder2.Style.DimensionStyle.LimitFitShaftDeviation = "g"

draftingCustomSymbolBuilder2.AnnotationPreference = NXOpen.Annotations.BaseCustomSymbolBuilder.AnnotationPreferences.UseDefinition

draftingCustomSymbolBuilder2.GeometryPreference = NXOpen.Annotations.BaseCustomSymbolBuilder.GeometryPreferences.UseDefinition

theSession.SetUndoMarkName(markId3, "Custom Symbol Dialog")

draftingCustomSymbolBuilder2.Origin.Plane.PlaneMethod = NXOpen.Annotations.PlaneBuilder.PlaneMethodType.XyPlane

draftingCustomSymbolBuilder2.Origin.SetInferRelativeToGeometry(False)

Dim leaderData2 As NXOpen.Annotations.LeaderData
leaderData2 = workPart.Annotations.CreateLeaderData()

leaderData2.StubSize = 5.0

leaderData2.Arrowhead = NXOpen.Annotations.LeaderData.ArrowheadType.FilledArrow

leaderData2.VerticalAttachment = NXOpen.Annotations.LeaderVerticalAttachment.Center

draftingCustomSymbolBuilder2.Leader.Leaders.Append(leaderData2)

leaderData2.Arrowhead = NXOpen.Annotations.LeaderData.ArrowheadType.FilledDot

leaderData2.StubSide = NXOpen.Annotations.LeaderSide.Inferred

draftingCustomSymbolBuilder2.SelectSymbol("C:\Users\gashaik\Desktop\Shaik\Stamps\ZUS_TECHNISCHER_PLATZ.sym.prt")

draftingCustomSymbolBuilder2.Origin.SetInferRelativeToGeometry(False)

draftingCustomSymbolBuilder2.Origin.SetInferRelativeToGeometry(True)

draftingCustomSymbolBuilder2.Destroy()

theSession.UndoToMark(markId3, Nothing)

theSession.DeleteUndoMark(markId3, Nothing)

theSession.CleanUpFacetedFacesAndEdges()

' ----------------------------------------------
' Menu: Tools->Journal->Stop Recording
' ----------------------------------------------

End Sub

Function SelectScreenPoint() As Double()
Dim theSession As Session = Session.GetSession()
Dim theUfSession As UFSession = UFSession.GetUFSession()

'Allow user to interactively pick the point where the circle
'will be placed.

'This Function needs Sub MotionCallback() to work properly.

Dim myScreenPos(2) As Double
Dim theViewTag As Tag = theSession.Parts.Display.Views.WorkView.Tag
Dim theResponse As Integer

theUfSession.Ui.LockUgAccess(UFConstants.UF_UI_FROM_CUSTOM)

theUfSession.Ui.SpecifyScreenPosition("pick a point", AddressOf MotionCallback, Nothing, myScreenPos, theViewTag, theResponse)

theUfSession.Ui.UnlockUgAccess(UFConstants.UF_UI_FROM_CUSTOM)

If theResponse = UFConstants.UF_UI_PICK_RESPONSE Then
Return myScreenPos
Else
Return Nothing
End If

End Function

Sub MotionCallback(ByVal pos() As Double, _
ByRef motion_cb_data As UFUi.MotionCbData, _
ByVal client_data As System.IntPtr)

'This sub will be called every time a cursor move is detected during the
'SpecifyScreenPosition function.

'The parameters motion_cb_data and client_data are not used in this implementation,
'but the Sub must have the same signature as UFUI.MotionFnT to work properly.

'draw temporary circle for visual cue
'theUfSession.Disp.DisplayOgpCircle(theSession.Parts.Display.Views.WorkView.Tag, circleOrientation, pos, selectedPoint)

'also see:
' DisplayOgpArc
' DisplayOgpLine
' DisplayOgpPolyline

End Sub
End Module

-[]-

I've cleaned up the code a little bit and added the temporary circle to approximate the symbol size when choosing the location (you will need to modify the tempRadius value to better approximate your symbol).

Option Strict Off
Imports NXOpen
Imports NXOpen.UF

Module guljar_add_symbol

Dim theSession As Session = Session.GetSession()
Dim theUfSession As UFSession = UFSession.GetUFSession()
Dim workPart As NXOpen.Part = theSession.Parts.Work
Dim displayPart As NXOpen.Part = theSession.Parts.Display

'orientation and size of the temporary outline (simple circle in this case)
Dim circleOrientation(8) As Double
Dim tempRadius As Double = 0.25

Sub Main(ByVal args() As String)

'initialize the circleOrientation
circleOrientation(0) = 1
circleOrientation(1) = 0
circleOrientation(2) = 0
circleOrientation(3) = 0
circleOrientation(4) = 1
circleOrientation(5) = 0
circleOrientation(6) = 0
circleOrientation(7) = 0
circleOrientation(8) = 1

Dim markId1 As NXOpen.Session.UndoMarkId
markId1 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Custom Symbol")

Dim selectedPoint(2) As Double
selectedPoint = SelectScreenPoint()
If IsNothing(selectedPoint) Then
Return
End If

Dim nullNXOpen_Annotations_CustomSymbol As NXOpen.Annotations.CustomSymbol = Nothing

Dim draftingCustomSymbolBuilder1 As NXOpen.Annotations.DraftingCustomSymbolBuilder = workPart.Annotations.CustomSymbols.CreateDraftingCustomSymbolBuilder(nullNXOpen_Annotations_CustomSymbol)
With draftingCustomSymbolBuilder1
.Origin.SetInferRelativeToGeometry(False)
.Origin.Anchor = NXOpen.Annotations.OriginBuilder.AlignmentPosition.MidCenter
.Scale.RightHandSide = "1"
.Angle.RightHandSide = "0"
.AnnotationPreference = NXOpen.Annotations.BaseCustomSymbolBuilder.AnnotationPreferences.UseDefinition
.GeometryPreference = NXOpen.Annotations.BaseCustomSymbolBuilder.GeometryPreferences.UseDefinition
.Origin.Plane.PlaneMethod = NXOpen.Annotations.PlaneBuilder.PlaneMethodType.XyPlane
End With

Dim leaderData1 As NXOpen.Annotations.LeaderData
leaderData1 = workPart.Annotations.CreateLeaderData()

leaderData1.StubSize = 5.0

'leaderData1.VerticalAttachment = NXOpen.Annotations.LeaderVerticalAttachment.Center

leaderData1.Arrowhead = NXOpen.Annotations.LeaderData.ArrowheadType.FilledDot

leaderData1.StubSide = NXOpen.Annotations.LeaderSide.Inferred

draftingCustomSymbolBuilder1.Leader.Leaders.Append(leaderData1)

draftingCustomSymbolBuilder1.SelectSymbol("C:\Users\gashaik\Desktop\Shaik\Stamps\ZUS_TECHNISCHER_PLATZ.sym.prt")

draftingCustomSymbolBuilder1.Origin.SetInferRelativeToGeometry(True)

' ----------------------------------------------
' Dialog Begin Custom Symbol
' ----------------------------------------------
Dim nullNXOpen_View As NXOpen.View = Nothing
Dim nullNXOpen_Point As NXOpen.Point = Nothing
Dim nullNXOpen_Annotations_Annotation As NXOpen.Annotations.Annotation = Nothing

Dim theCenPt As New Point3d(selectedPoint(0), selectedPoint(1), selectedPoint(2))
draftingCustomSymbolBuilder1.Origin.Origin.SetValue(Nothing, nullNXOpen_View, theCenPt)

Dim nXObject1 As NXOpen.NXObject
nXObject1 = draftingCustomSymbolBuilder1.Commit()

draftingCustomSymbolBuilder1.Destroy()

theSession.CleanUpFacetedFacesAndEdges()

End Sub

Function SelectScreenPoint() As Double()
Dim theSession As Session = Session.GetSession()
Dim theUfSession As UFSession = UFSession.GetUFSession()

'Allow user to interactively pick the point where the circle
'will be placed.

'This Function needs Sub MotionCallback() to work properly.

Dim myScreenPos(2) As Double
Dim theViewTag As Tag = theSession.Parts.Display.Views.WorkView.Tag
Dim theResponse As Integer

theUfSession.Ui.LockUgAccess(UFConstants.UF_UI_FROM_CUSTOM)

theUfSession.Ui.SpecifyScreenPosition("pick a point", AddressOf MotionCallback, Nothing, myScreenPos, theViewTag, theResponse)

theUfSession.Ui.UnlockUgAccess(UFConstants.UF_UI_FROM_CUSTOM)

If theResponse = UFConstants.UF_UI_PICK_RESPONSE Then
Return myScreenPos
Else
Return Nothing
End If

End Function

Sub MotionCallback(ByVal pos() As Double,
ByRef motion_cb_data As UFUi.MotionCbData,
ByVal client_data As System.IntPtr)

'This sub will be called every time a cursor move is detected during the
'SpecifyScreenPosition function.

'The parameters motion_cb_data and client_data are not used in this implementation,
'but the Sub must have the same signature as UFUI.MotionFnT to work properly.

'draw temporary circle for visual cue
theUfSession.Disp.DisplayOgpCircle(theSession.Parts.Display.Views.WorkView.Tag, circleOrientation, pos, tempRadius)

'also see:
' DisplayOgpArc
' DisplayOgpLine
' DisplayOgpPolyline

End Sub

End Module