Public Shared Sub CreateWaveLinkBody(ByVal ComponentToBeWaveLinked As NXOpen.Assemblies.Component)
Dim waveLinkBuilder1 As NXOpen.Features.WaveLinkBuilder
waveLinkBuilder1 = workpart.BaseFeatures.CreateWaveLinkBuilder(Nothing)
Dim extractFaceBuilder1 As NXOpen.Features.ExtractFaceBuilder
extractFaceBuilder1 = waveLinkBuilder1.ExtractFaceBuilder
extractFaceBuilder1.FaceOption = NXOpen.Features.ExtractFaceBuilder.FaceOptionType.FaceChain
waveLinkBuilder1.Type = NXOpen.Features.WaveLinkBuilder.Types.BodyLink
extractFaceBuilder1.FaceOption = NXOpen.Features.ExtractFaceBuilder.FaceOptionType.FaceChain
extractFaceBuilder1.AngleTolerance = 45.0
waveLinkBuilder1.Associative = False
waveLinkBuilder1.CopyThreads = False
extractFaceBuilder1.ParentPart = NXOpen.Features.ExtractFaceBuilder.ParentPartType.OtherPart
extractFaceBuilder1.Associative = False
extractFaceBuilder1.MakePositionIndependent = False
extractFaceBuilder1.FixAtCurrentTimestamp = False
extractFaceBuilder1.HideOriginal = True
extractFaceBuilder1.InheritDisplayProperties = False
Dim scCollector1 As NXOpen.ScCollector
scCollector1 = extractFaceBuilder1.ExtractBodyCollector
extractFaceBuilder1.CopyThreads = False
extractFaceBuilder1.FeatureOption = NXOpen.Features.ExtractFaceBuilder.FeatureOptionType.OneFeatureForAllBodies
Dim bodies1(0) As NXOpen.Body
Dim theUI As UI = UI.GetUI()
Dim component1 As NXOpen.Assemblies.Component = CType(ComponentToBeWaveLinked, NXOpen.Assemblies.Component)
Dim body1 As NXOpen.Body = CType(component1.FindObject("PROTO#.Bodies|LINKED_BODY(0)"), NXOpen.Body)
bodies1(0) = body1
Dim bodyDumbRule1 As NXOpen.BodyDumbRule
bodyDumbRule1 = workpart.ScRuleFactory.CreateRuleBodyDumb(bodies1, True)
Dim rules1(0) As NXOpen.SelectionIntentRule
rules1(0) = bodyDumbRule1
scCollector1.ReplaceRules(rules1, False)
Dim nXObject1 As NXOpen.NXObject
nXObject1 = waveLinkBuilder1.Commit()
waveLinkBuilder1.Destroy()
End Sub