Solid Edge Part Type Library
AddUnequalSetback Method
Specifies the face to which the setbacks are referenced.
Specifies the number of edges in the array to replace with chamfers.
Contains the edges to be replaced with chamfers.
Specifies the distance of the first setback. This value must be greater than zero. Setback 1 is the distance measured from the common edge along the reference face to determine where the chamfer start point is to be located.
Specifies the distance of the second setback. This value must be greater than zero. Setback 2 is the distance measured from the common edge along the face adjacent to the reference face to determine end point of the chamfer.
Description
Creates one or more Chamfer objects of unequal setback distances.
Syntax
Visual Basic
Public Function AddUnequalSetback( _
   ByVal ReferenceFace As Object, _
   ByVal NumberOfEdgeSets As Long, _
   ByVal EdgeSetArray As Variant, _
   ByVal SetbackDistance1 As Double, _
   ByVal SetbackDistance2 As Double _
) As Chamfer
Parameters
ReferenceFace
Specifies the face to which the setbacks are referenced.
NumberOfEdgeSets
Specifies the number of edges in the array to replace with chamfers.
EdgeSetArray
Contains the edges to be replaced with chamfers.
SetbackDistance1
Specifies the distance of the first setback. This value must be greater than zero. Setback 1 is the distance measured from the common edge along the reference face to determine where the chamfer start point is to be located.
SetbackDistance2
Specifies the distance of the second setback. This value must be greater than zero. Setback 2 is the distance measured from the common edge along the face adjacent to the reference face to determine end point of the chamfer.
Remarks
This method requires a reference face, an array of edges to process, and setback distances as inputs. All chamfers created replace the specified edges with Chamfer objects. The Chamfer objects will all use the specified setback distances. Even though the distance of setback 1 is not equal to setback 2, all chamfers generated in a single iteration of this method will have the same setback 1 and the same setback 2 distances.
Example
Private Sub Form_Load()
    Dim objApp As SolidEdgeFramework.Application
    Dim objDoc As SolidEdgePart.PartDocument
    Dim objProfArr(1 To 2) As SolidEdgePart.Profile
    Dim objModel As SolidEdgePart.Model
    Dim objChmfr As SolidEdgePart.Chamfer
    Dim objLines As SolidEdgeFrameworkSupport.Lines2d
    Dim objRelns1 As SolidEdgeFrameworkSupport.Relations2d
    Dim objExtProt As SolidEdgePart.ExtrudedProtrusion
    Dim objFacs As Object
    Dim objEdgs As Object
    Dim objEdgArr(1 To 4) As Object
    Dim lngStatus As Long
    '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
    ' Draw the Profile
    Set objProfArr(1) = objDoc.ProfileSets.Add.Profiles.Add(pRefPlaneDisp:=objDoc.RefPlanes(1))
    Set objLines = objProfArr(1).Lines2d
    Call objLines.AddBy2Points(x1:=0, y1:=0, x2:=0.06, y2:=0)
    Call objLines.AddBy2Points(x1:=0.06, y1:=0, x2:=0.06, y2:=0.06)
    Call objLines.AddBy2Points(x1:=0.06, y1:=0.06, x2:=0, y2:=0.06)
    Call objLines.AddBy2Points(x1:=0, y1:=0.06, x2:=0, y2:=0)
    ' Relate the Lines to make the Profile closed
    Set objRelns1 = objProfArr(1).Relations2d
    Call objRelns1.AddKeypoint(Object1:=objLines(1), Index1:=igLineEnd, Object2:=objLines(2), Index2:=igLineStart)
    Call objRelns1.AddKeypoint(Object1:=objLines(2), Index1:=igLineEnd, Object2:=objLines(3), Index2:=igLineStart)
    Call objRelns1.AddKeypoint(Object1:=objLines(3), Index1:=igLineEnd, Object2:=objLines(4), Index2:=igLineStart)
    Call objRelns1.AddKeypoint(Object1:=objLines(4), Index1:=igLineEnd, Object2:=objLines(1), Index2:=igLineStart)
    ' Check for the Profile Validity
    lngStatus = objProfArr(1).End(ValidationCriteria:=igProfileClosed)
    If lngStatus <> 0 Then
        MsgBox ("Profile not closed")
    End If
    ' Create the Base Protrusion Object
    Set objModel = objDoc.Models.AddFiniteExtrudedProtrusion(NumberOfProfiles:=1, _
                                                             ProfileArray:=objProfArr, profileplaneSide:=igRight, _
                                                             ExtrusionDistance:=0.02)
    objProfArr(1).Visible = False
    ' Check the status of Base Feature
    If objModel.ExtrudedProtrusions(1).Status <> igFeatureOK Then
        MsgBox ("Error in the Creation of Base Protrusion Feature object")
    End If
    Set objExtProt = objModel.ExtrudedProtrusions(1)
    ' Get the Edges collection
    Set objEdgs = objExtProt.Edges(EdgeType:=igQueryAll)
    ' Get the Edges and store them in an Array
    Set objEdgArr(1) = objEdgs(5)
    Set objEdgArr(2) = objEdgs(8)
    ' Get the Faces
    Set objFacs = objExtProt.Faces(FaceType:=igQueryAll)

    ' Create a Chamfer object
    Set objChmfr = objModel.Chamfers.AddUnequalSetback(ReferenceFace:=objFacs(1), _
                                                       NumberOfEdgeSets:=2, EdgeSetArray:=objEdgArr, _
                                                       SetbackDistance1:=0.009, SetbackDistance2:=0.001)
    ' USER DISPLAY
    'Release objects
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objProfArr(1) = Nothing
    Set objModel = Nothing
    Set objExtProt = Nothing
    Set objLines = Nothing
    Set objRelns1 = Nothing
    Set objChmfr = Nothing
    Set objEdgs = Nothing
    Set objFacs = Nothing
    Set objEdgArr(1) = Nothing
    Set objEdgArr(2) = Nothing
End Sub
See Also

Chamfers Collection  | Chamfers Members