Vb.net NX日志:如何返回NX零件特定参考集中包含的所有项目的列表

Vb.net NX日志:如何返回NX零件特定参考集中包含的所有项目的列表,vb.net,Vb.net,我在西门子NX 6公司工作,正在撰写一份日志,其中列出了“可靠”参考资料集中包含的所有内容。我需要知道它是否包括实体、组件、板材或其他任何东西 此链接:建议使用AskAllDirectMembers(),但我不能,因为我使用的是NX 6。我最早使用的命令似乎是AskMembersInReferenceSet(),如本链接所述: 正如我在下面代码的注释中所说,AskMembersInReferenceSet()命令没有返回正确数量的项。它返回一个“点”,但我正在处理的零件的实体参考集中至少有11

我在西门子NX 6公司工作,正在撰写一份日志,其中列出了“可靠”参考资料集中包含的所有内容。我需要知道它是否包括实体、组件、板材或其他任何东西

此链接:建议使用AskAllDirectMembers(),但我不能,因为我使用的是NX 6。我最早使用的命令似乎是AskMembersInReferenceSet(),如本链接所述:

正如我在下面代码的注释中所说,AskMembersInReferenceSet()命令没有返回正确数量的项。它返回一个“点”,但我正在处理的零件的实体参考集中至少有11个零件。我需要知道如何获取此列表以及如何在MsgBox()中显示其内容

我的代码:

Option Strict Off
Imports System
Imports NXOpen
Imports NXOpen.UF
Imports NXOpen.UF.UFObj
imports nxopen.utilities

Module NXJournal
Sub Main

Dim theSession As Session = Session.GetSession()
Dim WorkPart As Part = theSession.Parts.Work
Dim TheUFsession As UFSession = UFSession.GetUFSession()
Dim NULLTAG As Tag = NXOpen.Tag.Null
Dim objectTag As Tag = NXOpen.Tag.Null

theUfSession.Obj.CycleObjsInPart(workpart.Tag, NXOpen.UF.UFConstants.UF_reference_set_type, objectTag)

Do

    Dim myrefset As referenceset = Nothing
    Dim myObject As NXObject = Nothing

    myObject = NXObjectManager.Get(objectTag)
    myrefset = CType(myObject, referenceset)

    If myrefset.name = "SOLID" Then
    MsgBox("This part has a SOLID ref set: " & IO.Path.GetFileNameWithoutExtension(workPart.FullPath))

    Dim list() As NXObject  = myrefset.AskMembersInReferenceSet()

    ' I want this to tell me the name of the part that is at the index 0. This doesn't return the name.
    MsgBox("name is: " & list(0).ToString)

    ' I want this to tell me how many items are included in the SOLID reference set. This command tells
    'me that there is only one item in the array (it returns 0 as the upper bound.) It should return 11 or so
    'because there are at least that many parts in the SOLID reference set.
    MsgBox("uperbound is: " & list.GetUpperBound(0))

    End If

    theUfSession.Obj.CycleObjsInPart(workPart.Tag, NXOpen.UF.UFConstants.UF_reference_set_type, objectTag)

Loop While objectTag <> NULLTAG

End Sub
End Module
选项严格关闭
导入系统
导入NXOpen
导入NXOpen.UF
导入NXOpen.UF.UFObj
导入nxopen.utilities
模块NXJournal
副总管
将会话设置为Session=Session.GetSession()
将工件尺寸标注为零件=session.Parts.Work
将UFSession设置为UFSession=UFSession.GetUFSession()
Dim NULLTAG As Tag=NXOpen.Tag.Null
Dim objectTag As Tag=NXOpen.Tag.Null
ufsession.Obj.CycleObjsInPart(workpart.Tag,NXOpen.UF.UFConstants.UF\u reference\u set\u type,objectTag)
做
Dim myrefset As referenceset=无
将myObject设置为NXObject=无
myObject=NXObjectManager.Get(objectTag)
myrefset=CType(myObject,referenceset)
如果myrefset.name=“SOLID”,则
MsgBox(“此部件具有实心引用集:”&IO.Path.GetFileName WithoutExtension(workPart.FullPath))
Dim list()作为NXObject=myrefset.AskMembersInReferenceSet()使用
'我想让它告诉我索引0处零件的名称。这不会返回名称。
MsgBox(“名称为:”&列表(0.ToString)
'我想让它告诉我实体参照集中包括多少项。这个命令告诉我们
'告诉我数组中只有一个项(它返回0作为上限)。它应该返回11左右
'因为实体参照集中至少有那么多零件。
MsgBox(“上界为:&list.GetUpperBound(0))
如果结束
ufsession.Obj.CycleObjsInPart(workPart.Tag,NXOpen.UF.UFConstants.UF\u reference\u set\u type,objectTag)
在objectTag为NULLTAG时循环
端接头
端模块