Solid Edge Part Type Library
AddFiniteMulti Method
Specifies the number of profiles on which the Revolved feature is to be based.
Contains the Profile objects to be used to construct the feature.
Specifies the RefAxis object about which the feature is to be revolved.
A member of the FeaturePropertyConstants constant set that indicates the direction in relation to the reference plane, in which the revolved feature extends. For example, this argument specifies if a revolved protrusion extends to the positive, negative, or both directions of the profile's reference plane.
Specifies in radians the sweep of the angle of revolution.
Description
Adds a multi-profile 3-D feature object to an object collection.
Syntax
Visual Basic
Public Function AddFiniteMulti( _
   ByVal NumberOfProfiles As Long, _
   ByRef ProfileArray() As Object, _
   ByVal RefAxis As RefAxis, _
   Optional ByVal ProfilePlaneSide As Variant, _
   Optional ByVal AngleofRevolution As Variant _
) As RevolvedProtrusion
Parameters
NumberOfProfiles
Specifies the number of profiles on which the Revolved feature is to be based.
ProfileArray
Contains the Profile objects to be used to construct the feature.
RefAxis
Specifies the RefAxis object about which the feature is to be revolved.
ProfilePlaneSide
A member of the FeaturePropertyConstants constant set that indicates the direction in relation to the reference plane, in which the revolved feature extends. For example, this argument specifies if a revolved protrusion extends to the positive, negative, or both directions of the profile's reference plane.
AngleofRevolution
Specifies in radians the sweep of the angle of revolution.
Example
Private Sub Form_Load()
    Dim objApp As SolidEdgeFrameWork.Application
    Dim objDoc As SolidEdgePart.PartDocument
    Dim objBaseProfile As SolidEdgePart.Profile
    Dim objBaseProfileArray(1 To 2) As SolidEdgePart.Profile
    Dim objBaseModel As SolidEdgePart.Model
    Dim objRPProfile As SolidEdgePart.Profile
    Dim objRPProfCollection As SolidEdgePart.Profiles
    Dim objLine As SolidEdgeFrameworkSupport.Line2d
    Dim objRefAxis As SolidEdgePart.RefAxis
    Dim objProfileArray(1 To 2) As SolidEdgePart.Profile
    Dim objMultFinRevProt As SolidEdgePart.RevolvedProtrusion
    Dim objLines As SolidEdgeFrameworkSupport.Lines2d
    Dim objRelns As SolidEdgeFrameworkSupport.Relations2d
    Dim lngStatus As Long
    Dim i As Single
    ' 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
    ' *** Creating the base feature
    ' Creating the profile for the base feature and validating it
    Set objBaseProfile = objDoc.ProfileSets.Add.Profiles.Add(pRefPlaneDisp:=objDoc.RefPlanes(1))
    Call objBaseProfile.Circles2d.AddByCenterRadius(x:=0, y:=0, Radius:=0.025)
    lngStatus = objBaseProfile.End(ValidationCriteria:=igProfileClosed)
    If (lngStatus <> 0) Then
        MsgBox "Profile for the base feature is not closed"
        Exit Sub
    End If
    ' Creating the base extruded protrusion and validating it
    Set objBaseProfileArray(1) = objBaseProfile
    Set objBaseModel = objDoc.Models.AddFiniteExtrudedProtrusion(NumberOfProfiles:=1, _
                                                                 ProfileArray:=objBaseProfileArray, ProfilePlaneSide:=igSymmetric, ExtrusionDistance:=0.1)
    If (objBaseModel.ExtrudedProtrusions(1).Status <> igFeatureOK) Then
        MsgBox "AddFiniteExtrudedProtrusion method of the Models object fails"
        Exit Sub
    End If
    objBaseProfile.Visible = False
    ' *** Creating a Revolved Protrusion
    ' Creating the profile for the revolved protrusion feature
    Set objRPProfile = objDoc.ProfileSets.Add.Profiles.Add(pRefPlaneDisp:=objDoc.RefPlanes(3))
    Call objRPProfile.Circles2d.AddByCenterRadius(x:=0.05, y:=-0.035, Radius:=0.015)
    Call objRPProfile.Circles2d.AddByCenterRadius(x:=0.05, y:=0.035, Radius:=0.015)
    Set objLine = objRPProfile.Lines2d.AddBy2Points(x1:=0, y1:=-0.05, x2:=0, y2:=0.05)
    Set objRefAxis = objRPProfile.SetAxisOfRevolution(lineforaxis:=objLine)
    lngStatus = objRPProfile.End(ValidationCriteria:=igProfileClosed)
    If (lngStatus <> 0) Then
        MsgBox "Profile for the revolved protrusion feature is not closed"
        Exit Sub
    End If
    'Get the Profile Array
    Set objRPProfCollection = objRPProfile.Parent.Profiles
    For i = 1 To objRPProfCollection.Count
        Set objProfileArray(i) = objRPProfCollection(i)
        objProfileArray(i).Visible = False
    Next i
    ' Creating the revolved protrusion feature with multiple profiles with the ProfileSide set to Left and ProfilePlaneSide set to Left
    Set objMultFinRevProt = objBaseModel.RevolvedProtrusions.AddFiniteMulti(NumberOfProfiles:=2, ProfileArray:=objProfileArray, _
                                                                            RefAxis:=objRefAxis, ProfilePlaneSide:=igLeft, _
                                                                            AngleOfRevolution:=PI)
    ' USER DISPLAY
    ' Release objects
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objBaseProfile = Nothing
    Set objBaseProfileArray(1) = Nothing
    Set objBaseModel = Nothing
    Set objRPProfile = Nothing
    Set objRPProfCollection = Nothing
    Set objLine = Nothing
    Set objRefAxis = Nothing
    Set objProfileArray(1) = Nothing
    Set objProfileArray(2) = Nothing
    Set objMultFinRevProt = Nothing
    Set objLines = Nothing
    Set objRelns = Nothing
End Sub
See Also

RevolvedProtrusions Collection  | RevolvedProtrusions Members