Solid Edge Part Type Library
Range Method
Specifies the x coordinate of the lower-left corner the referenced object.
Specifies the y coordinate of the lower-left corner of the referenced object.
Specifies the z coordinate of the lower-left corner of the referenced object.
Specifies the x coordinate of the upper-right corner of the referenced object.
Specifies the y coordinate of the upper-right corner of the referenced object.
Specifies the z coordinate of the upper-right corner of the referenced object.
Description
Returns the high and low range values for the referenced object.
Syntax
Visual Basic
Public Sub Range( _
   ByRef x1 As Double, _
   ByRef y1 As Double, _
   ByRef Z1 As Double, _
   ByRef x2 As Double, _
   ByRef y2 As Double, _
   ByRef Z2 As Double _
) 
Parameters
x1
Specifies the x coordinate of the lower-left corner the referenced object.
y1
Specifies the y coordinate of the lower-left corner of the referenced object.
Z1
Specifies the z coordinate of the lower-left corner of the referenced object.
x2
Specifies the x coordinate of the upper-right corner of the referenced object.
y2
Specifies the y coordinate of the upper-right corner of the referenced object.
Z2
Specifies the z coordinate of the upper-right corner of the referenced object.
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 objHoleProf As SolidEdgePart.Profile
    Dim objHol As SolidEdgePart.Hole
    Dim objHolData As SolidEdgePart.HoleData
    Dim objLines As SolidEdgeFrameworkSupport.Lines2d
    Dim objRelns As SolidEdgeFrameworkSupport.Relations2d
    Dim objRefPln As SolidEdgePart.RefPlane
    Dim vRng As Variant
    Dim x1 As Double, y1 As Double, z1 As Double, x2 As Double, y2 As Double, _
        z2 As Double
    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 Base Profile
    Set objProfArr(1) = objDoc.ProfileSets.Add.Profiles.Add(pRefPlaneDisp:= _
                                                            objDoc.RefPlanes(3))
    Set objLines = objProfArr(1).Lines2d
    Call objLines.AddBy2Points(x1:=0, y1:=0, x2:=0.08, y2:=0)
    Call objLines.AddBy2Points(x1:=0.08, y1:=0, x2:=0.08, y2:=0.06)
    Call objLines.AddBy2Points(x1:=0.08, y1:=0.06, x2:=0.064, y2:=0.06)
    Call objLines.AddBy2Points(x1:=0.064, y1:=0.06, x2:=0.064, y2:=0.02)
    Call objLines.AddBy2Points(x1:=0.064, y1:=0.02, x2:=0.048, y2:=0.02)
    Call objLines.AddBy2Points(x1:=0.048, y1:=0.02, x2:=0.048, y2:=0.06)
    Call objLines.AddBy2Points(x1:=0.048, y1:=0.06, x2:=0.032, y2:=0.06)
    Call objLines.AddBy2Points(x1:=0.032, y1:=0.06, x2:=0.032, y2:=0.02)
    Call objLines.AddBy2Points(x1:=0.032, y1:=0.02, x2:=0.016, y2:=0.02)
    Call objLines.AddBy2Points(x1:=0.016, y1:=0.02, x2:=0.016, y2:=0.06)
    Call objLines.AddBy2Points(x1:=0.016, y1:=0.06, x2:=0, y2:=0.06)
    Call objLines.AddBy2Points(x1:=0, y1:=0.06, x2:=0, y2:=0)
    ' Define Relations among the Line objects to make the Profile closed
    Set objRelns = objProfArr(1).Relations2d
    Call objRelns.AddKeypoint(Object1:=objLines(1), Index1:=igLineEnd, Object2:=objLines(2), Index2:=igLineStart)
    Call objRelns.AddKeypoint(Object1:=objLines(2), Index1:=igLineEnd, Object2:=objLines(3), Index2:=igLineStart)
    Call objRelns.AddKeypoint(Object1:=objLines(3), Index1:=igLineEnd, Object2:=objLines(4), Index2:=igLineStart)
    Call objRelns.AddKeypoint(Object1:=objLines(4), Index1:=igLineEnd, Object2:=objLines(5), Index2:=igLineStart)
    Call objRelns.AddKeypoint(Object1:=objLines(5), Index1:=igLineEnd, Object2:=objLines(6), Index2:=igLineStart)
    Call objRelns.AddKeypoint(Object1:=objLines(6), Index1:=igLineEnd, Object2:=objLines(7), Index2:=igLineStart)
    Call objRelns.AddKeypoint(Object1:=objLines(7), Index1:=igLineEnd, Object2:=objLines(8), Index2:=igLineStart)
    Call objRelns.AddKeypoint(Object1:=objLines(8), Index1:=igLineEnd, Object2:=objLines(9), Index2:=igLineStart)
    Call objRelns.AddKeypoint(Object1:=objLines(9), Index1:=igLineEnd, Object2:=objLines(10), Index2:=igLineStart)
    Call objRelns.AddKeypoint(Object1:=objLines(10), Index1:=igLineEnd, Object2:=objLines(11), Index2:=igLineStart)
    Call objRelns.AddKeypoint(Object1:=objLines(11), Index1:=igLineEnd, Object2:=objLines(12), Index2:=igLineStart)
    Call objRelns.AddKeypoint(Object1:=objLines(12), 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 Extruded Protrusion Feature
    Set objModel = objDoc.Models.AddFiniteExtrudedProtrusion(NumberOfProfiles:=1, _
                                                             profileArray:=objProfArr, Profileplaneside:= _
                                                             igRight, ExtrusionDistance:=0.05)
    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
    ' Create a Holes2d Profile for the Hole object
    Set objRefPln = objDoc.RefPlanes.AddParallelByDistance(ParentPlane:=objDoc.RefPlanes(2), _
                                                           Distance:=0.01, NormalSide:=igRight)
    Set objHoleProf = objDoc.ProfileSets.Add.Profiles.Add(pRefPlaneDisp:=objRefPln)
    Call objHoleProf.Holes2d.Add(xCenter:=-0.025, yCenter:=0.04)
    ' Check for the Profile Validity
    lngStatus = objHoleProf.End(ValidationCriteria:=igProfileClosed)
    If lngStatus <> 0 Then
        MsgBox ("Profile not closed")
    End If
    ' Create the HoleData object
    Set objHolData = objDoc.HoleDataCollection.Add(HoleType:=igCounterboreHole, _
                                                   HoleDiameter:=0.005, CounterboreDiameter:=0.007, _
                                                   CounterboreDepth:=0.0075)

    ' Create a Hole object
    Set objHol = objModel.Holes.AddFinite(Profile:=objHoleProf, Profileplaneside:= _
                                          igRight, FiniteDepth:=0.05, Data:=objHolData)
    objHoleProf.Visible = False
    If objHol.Status <> igFeatureOK Then
        MsgBox ("AddFinite method with Profileplaneside set to Left failed")
    End If
    ' Get the Range of Hole object
    vRng = objHol.Range(x1:=x1, y1:=y1, z1:=z1, x2:=x2, y2:=y2, z2:=z2)
    ' USER DISPLAY
    ' Release objects
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objHoleProf = Nothing
    Set objProfArr(1) = Nothing
    Set objModel = Nothing
    Set objHol = Nothing
    Set objHolData = Nothing
    Set objRelns = Nothing
    Set objLines = Nothing
    Set objRefPln = Nothing
End Sub
See Also

Hole Object  | Hole Members