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 objPatternPlane As SolidEdgePart.RefPlane
    Dim objFeatArray(1 To 2) As Object
    Dim objProfile As SolidEdgePart.Profile
    Dim objRPatterns As SolidEdgeFrameworkSupport.RectangularPatterns2d
    Dim objRPattern As SolidEdgeFrameworkSupport.RectangularPattern2d
    Dim objPattern As SolidEdgePart.Pattern
    Dim objFaces As Object
    ' 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
    'Create base model for patterning
    If CreateModel(objDoc) <> "" Then
        MsgBox "Error in creating the base model"
        Exit Sub
    End If
    Set objModel = objDoc.Models(1)
    '***** Create a Rectangular Pattern of SmartPattern Type
    ' Create a new Profile object
    Set objPatternPlane = objDoc.RefPlanes.AddParallelByDistance(ParentPlane:=objDoc.RefPlanes(1), _
                                                                 Distance:=0.025, normalside:=igRight, local:=True)
    Set objProfile = objDoc.ProfileSets.Add.Profiles.Add(objPatternPlane)
    ' Get the RectangularPatterns2d object on the Profile
    Set objRPatterns = objProfile.RectangularPatterns2d
    ' Add an item to the RectangularPatterns2d collection
    Set objRPattern = objRPatterns.Add(OriginX:=-0.035, OriginY:=-0.035, _
                                       Width:=0.08, Height:=0.075, Angle:=0, OffsetType:=sePatternFillOffset, _
                                       XCount:=1, YCount:=1, XSpace:=0.02, YSpace:=0.025)
    Set objFeatArray(1) = objModel.ExtrudedProtrusions(2)
    Set objPattern = objModel.Patterns.Add(NumberOfFeatures:=1, _
                                           FeatureArray:=objFeatArray, Profile:=objProfile, PatternType:=seSmartPattern)
    If objPattern.Status <> igFeatureOK Then
        MsgBox "Problem in creating rectangular pattern of SmartPattern type"
    End If
    'Get the number of Edges of the Pattern object
    Set objFaces = objPattern.FacesByRay(Xorigin:=-0.05, Yorigin:=-0.035, Zorigin:=0.0275, _
                                         Xdir:=1, Ydir:=0, Zdir:=0)
    ' USER DISPLAY
    ' Release objects
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objModel = Nothing
    Set objPatternPlane = Nothing
    Set objFeatArray(1) = Nothing
    Set objFeatArray(2) = Nothing
    Set objProfile = Nothing
    Set objRPatterns = Nothing
    Set objRPattern = Nothing
    Set objPattern = Nothing
End Sub
See Also

Pattern Object  | Pattern Members

Send comments on this topic.