Solid Edge Part Type Library
SetUniqueThicknesses Method
Specifies the number of faces having a unique thickness.
Specifies each unique thickness.
Description
Sets the number of faces that have a unique thickness and sets the value of each unique thickness for the referenced object.
Syntax
Visual Basic
Public Sub SetUniqueThicknesses( _
   ByVal UniqueThicknessCount As Long, _
   ByRef UniqueThicknesses() As Double _
) 
Parameters
UniqueThicknessCount
Specifies the number of faces having a unique thickness.
UniqueThicknesses
Specifies each unique thickness.
Example
Private Sub Form_Load()
    Dim objApp As SolidEdgeFramework.Application
    Dim objDoc As SolidEdgePart.PartDocument
    Dim objModel As SolidEdgePart.Model
    Dim objProfArr(1 To 2) As SolidEdgePart.Profile
    Dim objLines As SolidEdgeFrameworkSupport.Lines2d
    Dim objRelns1 As SolidEdgeFrameworkSupport.Relations2d
    Dim objThnWls As SolidEdgePart.Thinwalls
    Dim objFaceArr(1 To 3) As Object
    Dim objThnWl1 As SolidEdgePart.Thinwall
    Dim objFaces As Object
    Dim dblThkArr(1 To 3) As Double
    Dim lngGetNum As Long
    Dim dblGetThkArr(1 To 3) As Double
    ' 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.04, y2:=0)
    Call objLines.AddBy2Points(x1:=0.04, y1:=0, x2:=0.04, y2:=0.04)
    Call objLines.AddBy2Points(x1:=0.04, y1:=0.04, x2:=0, y2:=0.04)
    Call objLines.AddBy2Points(x1:=0, y1:=0.04, 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
    If objProfArr(1).End(ValidationCriteria:=igProfileClosed) <> 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.04)
    objProfArr(1).Visible = False
    ' Check the status of Base Feature
    If Not (objModel.ExtrudedProtrusions(1).Status = igFeatureOK) Then
        MsgBox ("Error in the Creation of Base Protrusion Feature object")
    End If
    ' Get the Faces collection of the Protrusion Feature
    Set objFaces = objModel.ExtrudedProtrusions(1).Faces(FaceType:=igQueryAll)
    ' Create the UniqueThicknessArray & FacesArray having Unique thicknesses
    dblThkArr(1) = 0.002
    dblThkArr(2) = 0.001
    Set objFaceArr(1) = objFaces(1)
    Set objFaceArr(2) = objFaces(2)
    ' Create a ThinWall object
    Set objThnWl1 = objModel.Thinwalls.Add(ThicknessSide:=igInside, CommonThickness:=0.005, _
                                           OpenFaces:=objFaces(5), NumberOfUniqueThicknesses:=2, _
                                           UniqueThicknessesArray:=dblThkArr, UniqueThicknessFaceListArray:=objFaceArr)
    ' Check the status of Base Feature
    If (objThnWl1.Status <> igFeatureOK) Then
        MsgBox ("Add method of ThinWalls object fails")
    End If
    ' Reset the thickness values
    dblGetThkArr(1) = 0.004
    dblGetThkArr(2) = 0.003
    ' Set the UniqueThickness values
    Call objThnWl1.SetUniqueThicknesses(UniqueThicknessCount:=2, UniqueThicknesses:=dblGetThkArr)
    ' USER DISPLAY
    ' Release objects
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objProfArr(1) = Nothing
    Set objProfArr(2) = Nothing
    Set objModel = Nothing
    Set objLines = Nothing
    Set objRelns1 = Nothing
    Set objThnWls = Nothing
    Set objFaceArr(1) = Nothing
    Set objFaceArr(2) = Nothing
    Set objFaceArr(3) = Nothing
End Sub
See Also

Thinwall Object  | Thinwall Members

Send comments on this topic.