Imports System.Runtime.InteropServices
Public Class SurfaceByBoundary
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim objApplication As SolidEdgeFramework.Application
Dim objPartDoc As SolidEdgePart.PartDocument = Nothing
Dim objConstructions As SolidEdgePart.Constructions = Nothing
Dim objBdrySurfaces As SolidEdgePart.SurfaceByBoundaries = Nothing
Dim objBdrySurface As SolidEdgePart.SurfaceByBoundary = Nothing
Dim objProfileSet As SolidEdgePart.ProfileSet = Nothing
Dim objProfile As SolidEdgePart.Profile = Nothing
Dim sketch As SolidEdgePart.Sketch = Nothing
Dim arrInEdges(0 To 3) As Object
Dim arrGuideWire(0 To 1) As Object
Dim arrInEdgesForTangentTypes(1) As Object
Dim arrTangentTypes(3) As SolidEdgeConstants.SurfaceByBoundaryTangencyType
Dim arrTangentFace(3) As Object
Try
' Create/get the application with specific settings
objApplication = Marshal.GetActiveObject("SolidEdge.Application")
' Get the document
objPartDoc = objApplication.ActiveDocument
' get the constructions collection
objConstructions = objPartDoc.Constructions
objBdrySurfaces = objConstructions.SurfaceByBoundaries
' input edges
sketch = objPartDoc.Sketches.Item(1)
objProfile = sketch.Profile
' get input edges to create bounded surface
arrInEdges(0) = objProfile.CurveBody.Curves.Item(1)
arrInEdges(1) = objProfile.CurveBody.Curves.Item(2)
arrInEdges(2) = objProfile.CurveBody.Curves.Item(3)
arrInEdges(3) = objProfile.CurveBody.Curves.Item(4)
'Create the SurfaceByBoundary using Add3()
'All boundary edges with natural continuity therefore NumberOfEdgesForTangentTypes and NumberOfTangentFaces are passed as zero.
arrGuideWire(0) = objPartDoc.Sketches.Item(2).Profile.CurveBody.Curves.Item(1)
objBdrySurface = objBdrySurfaces.Add3(4, arrInEdges, 0, arrInEdgesForTangentTypes, arrTangentTypes, 0, arrTangentFace, 1, arrGuideWire, False, SolidEdgeConstants.SurfaceByBoundaryPatchTopology.igSurfaceByBoundaryMultiple)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
End Class