Select Objects using Intersecting Ray Example (VBA)
This example shows how to select objects using
IModelDoc2::SelectByRay, which selects the first object that is intersected
by a ray by a direction vector from a point within the specified distance
radius.
'---------------------------------------------------------------
' Preconditions:
' 1. Open install_dir\samples\tutorial\api\box.sldrpt.
' 2. Open the Immediate window.
'
' Postconditions:
' 1. Selects the first face intersected by the
' ray from point (x,y,z in meters) in direction vector (x,y,z)
' within the specified distance radius.
' 2. Examine the graphics area and Immediate window.
'-----------------------------------------------------------------
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim selParams(7) As Double
Dim varSelParams As Variant
Dim status As Boolean
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
' Selection ray definitions
' Origin X location
selParams(0) = 0.1
' Origin X location
selParams(1) = 0#
' Origin X location
selParams(2) = 0#
' Direction X component
selParams(3) = -1#
' Direction X component
selParams(4) = 0#
' Direction X component
selParams(5) = 0#
' Intersection radius
selParams(6) = 1#
varSelParams = selParams
' Make the selection
status = swModel.SelectByRay((varSelParams), swSelFACES)
Debug.Print "Selection successful: " & status
End Sub