Convert Curves into 3D Sketches Example (VBA)
This example:
Shows how to convert curves (edges) into 3D sketches.
Uses IModelDoc2::SketchConvertIsoCurves to extract
ISO-parametric (UV) curves from a face or surface. Specifically, this
code shows how to extract the curves containing a vertex.
'---------------------------------
'
' Preconditions:
' (1)
Part or assembly is open.
' (2)
Assembly is fully resolved.
' (3)
Face is the first selected item.
' (4)
Vertex is the first selected item.
'
' Postconditions:
' (1)
Two 3D sketches are generated.
' (2)
First 3D sketch is edge of face in V direction
' from
the selected vertex.
' (3)
Second 3D sketch is edge of face in U direction
' from
the selected vertex.
'
' NOTES: IModelDoc2::SketchConvertIsoCurves fails for
V direction when early bound.
'
'-----------------------------------------------
Option Explicit
Sub main()
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
Object 'SldWorks.ModelDoc2
Dim
swSelMgr As
SldWorks.SelectionMgr
Dim
swSelData As
SldWorks.SelectData
Dim
swFace As
SldWorks.face2
Dim
swVertex As
SldWorks.Vertex
Dim
swFaceEnt As
SldWorks.Entity
Dim
swVertexEnt As
SldWorks.Entity
Dim
bRet As
Boolean
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swSelMgr = swModel.SelectionManager
Set
swSelData = swSelMgr.CreateSelectData
Set
swFace = swSelMgr.GetSelectedObject5(1)
Set
swVertex = swSelMgr.GetSelectedObject5(2)
Set
swFaceEnt = swFace
Set
swVertexEnt = swVertex
swModel.ClearSelection2 True
bRet
= swFaceEnt.Select4(True, swSelData):
Debug.Assert bRet
bRet
= swVertexEnt.Select4(True, swSelData):
Debug.Assert bRet
swModel.SketchConvertIsoCurves 100#, False,
True, True
swModel.SketchConvertIsoCurves 100#, True, True,
True
End Sub