Private Sub GuideCurves_Click(sender As Object, e As EventArgs) Handles GuideCurves.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
Dim arrOutEdgesForTangentTypes(3) As Object
Dim arrOutTangentTypes(3) As SolidEdgeConstants.SurfaceByBoundaryTangencyType
Dim nGuideWire As Integer
Dim arrOutGuideCurves(2) 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)
nGuideWire = 0
objBdrySurface.get_GuideCurves(nGuideWire, arrOutGuideCurves)
arrGuideWire(0) = objPartDoc.Sketches.Item(2).Profile.CurveBody.Curves.Item(1)
arrGuideWire(1) = objPartDoc.Sketches.Item(3).Profile.CurveBody.Curves.Item(1)
objBdrySurface.put_GuideCurves(2, arrGuideWire)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub