Solid Edge FrameworkSupport Type Library > Boundary2d Object : GetKeyPoint Method |
Visual Basic |
---|
Public Sub GetKeyPoint( _ ByVal Index As Long, _ ByRef x As Double, _ ByRef y As Double, _ ByRef z As Double, _ ByRef KeypointType As KeyPointType, _ ByRef HandleType As Long _ ) |
Value | Description |
---|---|
igKeyPointCallback | Keypoint Type - Callback |
igKeyPointCenter | Keypoint Type - Center |
igKeyPointEnd | Keypoint Type - End |
igKeyPointHorizontalSilhouette | Keypoint Type - Horizontal Silhouette |
igKeyPointInteriorNode | Keypoint Type - Interior Node |
igKeyPointInteriorPole | Keypoint Type - Interior Pole |
igKeyPointMajorAxis | Keypoint Type - Major Axis |
igKeyPointMiddle | Keypoint Type - Middle |
igKeyPointMinorAxis | Keypoint Type - Minor Axis |
igKeyPointNonDefining | Keypoint Type - Non-defining |
igKeyPointPointOnly | Keypoint Type - Point Only |
igKeyPointStart | Keypoint Type - Start |
igKeyPointVerticalSilhouette | Keypoint Type - Vertical Silhouette |
The key point is specified by its index.
GetKeyPoint is not supported for boundaries from section views. Boundaries created by the Section View process don't have flood points or keypoints because they are created by internal procedures to Solid Edge.
Since they are generated by the system, we can’t return points that we don’t have. We consistently return a position of x=1.0e+30 and y=1.0e+30, which is used internally to indicate an invalid or infinite coordinate. The programmer can reliably check for these numbers to determine that the floodpoint or handlepoint is undefined.
Private Sub Form_Load() Dim objApp As SolidEdgeFramework.Application Dim objDoc As SolidEdgeDraft.DraftDocument Dim objSheet As SolidEdgeDraft.Sheet Dim objBounds As SolidEdgeFrameworkSupport.Boundaries2d Dim objBound As SolidEdgeFrameworkSupport.Boundary2d Dim dblPoint(1 To 8) As Double Dim dblX As Double, dblY As Double, dblZ As Double Dim lngIndex As Long Dim cHandType As SolidEdgeConstants.HandleType Dim cKeyPointType As SolidEdgeConstants.KeyPointType ' 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.DraftDocument") objApp.Visible = True Else Set objDoc = objApp.ActiveDocument End If 'Get the Active Sheet object Set objSheet = objDoc.ActiveSheet 'Get the Boundaries2d object on the active sheet Set objBounds = objSheet.Boundaries2d ' Create a Points array dblPoint(1) = 0.1 dblPoint(2) = 0.1 dblPoint(3) = 0.1 dblPoint(4) = 0.2 dblPoint(5) = 0.2 dblPoint(6) = 0.2 dblPoint(7) = 0.2 dblPoint(8) = 0.1 'Create a Boundary2d object Set objBound = objBounds.AddByPoints(PointCount:=4, Points:=dblPoint) lngIndex = 0 'Get KeyPoint of the boundary Call objBound.GetKeyPoint(Index:=lngIndex, x:=dblX, y:=dblY, z:=dblZ, _ KeyPointType:=cKeyPointType, HandleType:=cHandType) ' USER DISPLAY ' Release objects Set objApp = Nothing Set objDoc = Nothing Set objSheet = Nothing Set objBounds = Nothing Set objBound = Nothing End Sub