Create Loft Body Example (VB.NET)
This example shows how to create a loft body using IModeler::CreateLoftBody2.
' ******************************************************************************
' Preconditions:
' (1)
Part document is open.
' (2)
Two closed sketches representing the profiles for the loft body exist.
' (3)
One curve representing a guide curve for the loft body exists.
'
' Postconditions: Loft body is created and displayed.
' ******************************************************************************
Imports SolidWorks.Interop.sldworks
Imports SolidWorks.Interop.swconst
Imports System
Imports System.Diagnostics
Partial Class SolidWorksMacro
Public
Sub main()
Dim
swModel As ModelDoc2
Dim
swModelDocExt As ModelDocExtension
Dim
swFeatMgr As FeatureManager
Dim
count As Integer
Dim
featArr As Object
Dim
feat1 As Feature
Dim
feat2 As Feature
Dim
feat3 As Feature
Dim
swSelMgr As SelectionMgr
Dim
swModeler As Modeler
Dim
boolstatus As Boolean
Dim
profileIn As Object
Dim
guideCurve As Object
Dim
pProfile(1) As Feature
Dim
pGuide(0) As Feature
Dim
bValue As Boolean
Dim
swBody As Body2
Dim
bIsTempBody As Boolean
swModeler
= swApp.GetModeler
swModel
= swApp.ActiveDoc
swModelDocExt
= swModel.Extension
'
Select the sketches for the profiles
'
for the loft body and make them
'
elements of an array to use to
'
create the loft body
swFeatMgr
= swModel.FeatureManager
count
= swFeatMgr.GetFeatureCount(False)
featArr
= swFeatMgr.GetFeatures(False)
swSelMgr
= swModel.SelectionManager
boolstatus
= swModelDocExt.SelectByID2("Sketch1",
"SKETCH", 0.01432052560262, 0.03232526173853, 0, False, 0, Nothing,
0)
feat1
= swSelMgr.GetSelectedObject6(1,
-1)
Debug.Print("First
profile's feature name: "
& feat1.Name)
pProfile(0)
= feat1
boolstatus
= swModelDocExt.SelectByID2("Sketch2",
"SKETCH", 0, 0, 0, False, 0, Nothing, 0)
feat2
= swSelMgr.GetSelectedObject6(1,
-1)
Debug.Print("Second
profile's feature name: "
& feat2.Name)
pProfile(1)
= feat2
profileIn
= pProfile
'
Select a guide curve for the loft body
'
and make it an element of an array
'
to use to create the loft body
boolstatus
= swModelDocExt.SelectByID2("Curve1",
"REFERENCECURVES", 0.1353192072154, 0.1043159291966, 0.09477145953832,
False, 0, Nothing, 0)
feat3
= swSelMgr.GetSelectedObject6(1,
-1)
Debug.Print("Guide
curve's feature name: "
& feat3.Name)
pGuide(0)
= feat3
guideCurve
= feat3
'
Create the loft body
swBody
= swModeler.CreateLoftBody2(swModel,
profileIn, guideCurve, Nothing, False, 0, 0, 0, True, False, True, False,
True, 1, 1, 1, True, True, 1, 1, True)
'
Test whether the loft body is a temporary body
bIsTempBody
= swBody.IsTemporaryBody
Debug.Print("Is
the loft body a temporary body? "
& bIsTempBody)
'
Display the loft body
bValue
= swBody.Display3(swModel, 256,
swTempBodySelectOptions_e.swTempBodySelectOptionNone)
End
Sub
'''
<summary>
'''
The SldWorks swApp variable is pre-assigned for you.
'''
</summary>
Public
swApp As SldWorks
End Class