Solid Edge Part Type Library
FacesByRay Property
Description
Returns a collection of faces that are intersected by a specified vector.
Property type
Read-only property
Syntax
Visual Basic
Public Property FacesByRay( _
   ByVal Xorigin As Double, _
   ByVal Yorigin As Double, _
   ByVal Zorigin As Double, _
   ByVal Xdir As Double, _
   ByVal Ydir As Double, _
   ByVal Zdir As Double _
) As Object
Parameters
Xorigin
Yorigin
Zorigin
Xdir
Ydir
Zdir
Remarks
The result of the FacesByRay property is a topology collection. This topology collection is a temporary collection and is overwritten the next time the Edges, Faces, or FacesByRay property is used.
Example
Private Sub Form_Load()
    Dim objApp As SolidEdgeFramework.Application
    Dim objDoc As SolidEdgePart.PartDocument
    Dim objModel As SolidEdgePart.Model
    Dim objEdges As Object
    Dim objEdgeArray(1 To 1) As SolidEdgeGeometry.Edge
    Dim objRounds As SolidEdgePart.Rounds
    Dim objRound As SolidEdgePart.Round
    Dim objRndFaces As Object
    Dim dblRadiusArray(1 To 1) As Double
    Dim lngStatus As Long
    Const TESTFILE = "T:\vbtests\testcases\cube.par"
    ' Report errors
    Const PI = 3.14159265358979
    ' Create/get the application with specific settings
    On Error Resume Next
    Set objApp = GetObject(, "SolidEdge.Application")
    If Err Then
        Err.Clear
        Set objApp = CreateObject("SolidEdge.Application")
        Set objDoc = objApp.Documents.Add("SolidEdge.PartDocument")
        objApp.Visible = True
    Else
        Set objDoc = objApp.ActiveDocument
    End If
    Call objDoc.Close
    ' opening the test case file
    Set objDoc = objApp.Documents.Open(TESTFILE)
    Set objModel = objDoc.Models(1)
    Set objRounds = objModel.Rounds
    ' *** creating a simple round on a single edge
    ' defining the radius for rounding an edge
    Set objEdges = objModel.ExtrudedProtrusions(1).Edges(edgetype:=igQueryAll)
    Set objEdgeArray(1) = objEdges(1)
    dblRadiusArray(1) = 0.005
    ' creating the round feature
    Set objRound = objRounds.Add(NumberOfEdgeSets:=1, EdgeSetArray:=objEdgeArray, _
                                 RadiusArray:=dblRadiusArray)
    If objRound.Status <> igFeatureOK Then
        MsgBox "Round feature failed"
    End If
    ' Get the faces on the round feature and intercepted by a ray
    Set objRndFaces = objRound.FacesByRay(Xorigin:=-0.048, Yorigin:=-0.055, Zorigin:=0.02, _
                                          Xdir:=0, Ydir:=1, Zdir:=0)
    ' USER DISPLAY
    ' Release objects
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objModel = Nothing
    Set objEdges = Nothing
    Set objEdgeArray(1) = Nothing
    Set objRounds = Nothing
    Set objRound = Nothing
    Set objRndFaces = Nothing
End Sub
See Also

Round Object  | Round Members