找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?在线3D打印服务,一键上传,自动报价 
查看: 17739|回复: 5
打印 上一主题 下一主题

[原创] vb.net获取现有操作名及其所属程序组.

[复制链接]
跳转到指定楼层
1
发表于 2010-5-13 09:58:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
小弟刚刚搞了个程序,请各位多多指教.(实属 抛砖引玉)!


'获取当前文件操作导航器内程序视图中的程序组和操作名的树型结构.
Public Sub GetOperationList()
        Dim theSession As Session = Session.GetSession()
        Dim workPart As Part = theSession.Parts.Work
        Dim lst As ListingWindow
        Dim arrOpers() As NXOpen.CAM.Operation
        Dim stOpers() As String
        Dim i As Integer
        Dim theUI As UI = UI.GetUI()
        Dim CAM_GRP_COL As CAM.NCGroupCollection
        Dim n As Integer
        Dim nSpace As Integer
        Dim nCouGroup As Integer
        Dim nd As New System.Windows.Forms.TreeNode
        lst = theSession.ListingWindow
        lst.Open()
        Try
            arrOpers = workPart.CAMSetup.CAMOperationCollection.ToArray
            ReDim stOpers(arrOpers.Length - 1)
            For i = 0 To arrOpers.Length - 1
                stOpers(i) = arrOpers(i).Name.ToString
            Next

            CAM_GRP_COL = workPart.CAMSetup.CAMGroupCollection
            Dim stList(stOpers.Length + 100) As String '最多允许100个文件夹。
            n = 0
            nSpace = 8
            nCouGroup = 0
            Tree.Nodes.Clear()
            nd.Name = "NC_PROGRAM" : nd.Text = "NC_PROGRAM"
            Tree.Nodes.Add(nd)
            SortOperNames(lst, CAM_GRP_COL, "NC_PROGRAM", stOpers, n, stList, nSpace, nCouGroup, nd)
            Tree.ExpandAll()
        Catch ex As Exception
            lst.WriteLine(ex.Message)
        End Try
    End Sub

    Private Sub SortOperNames(ByRef lst As ListingWindow, ByVal CAM_GRP_COL As CAM.NCGroupCollection, ByVal stName As String, ByRef stOpers() As String, _
                        ByRef nIndex As Integer, ByRef stList() As String, ByRef nSpace As Integer, ByRef nCouGroup As Integer, ByRef nd As System.Windows.Forms.TreeNode)
        Dim nCGroup1 As CAM.NCGroup = CType(CAM_GRP_COL.FindObject(stName), CAM.NCGroup)
        Dim arrGrps() As CAM.CAMObject
        Dim i As Integer
        Dim j As Integer
        Dim NND As Windows.Forms.TreeNode
        arrGrps = nCGroup1.GetMembers
        For i = 0 To arrGrps.Length - 1
            'lst.WriteLine("判断:" + arrGrps(i).Name.ToString)
            For j = 0 To stOpers.Length - 1
                If arrGrps(i).Name.ToString = stOpers(j) Then
                    Exit For
                End If
            Next
            If j >= stOpers.Length Then
                'lst.WriteLine("是文件夹")
                NND = New Windows.Forms.TreeNode
                NND.Name = arrGrps(i).Name.ToString : NND.Text = arrGrps(i).Name.ToString
                nd.Nodes.Add(NND)
                nd = NND
                nCouGroup = nCouGroup + 1
                stList(nIndex) = Space(nSpace) + arrGrps(i).Name.ToString + "*"
                nIndex = nIndex + 1
                nSpace = nSpace + 8
                SortOperNames(lst, CAM_GRP_COL, arrGrps(i).Name.ToString, stOpers, nIndex, stList, nSpace, nCouGroup, nd)
            Else
                stList(nIndex) = Space(nSpace) + stOpers(j)
                nIndex = nIndex + 1
                'lst.WriteLine("是操作")
                NND = nd.Nodes.Add(stOpers(j))
                NND.Text = stOpers(j)
            End If
        Next
        nSpace = nSpace - 8
        nd = nd.Parent
    End Sub

可惜运行效果图无法上传.
相册使用需要添加两位好友.
小弟初来乍到.不知哪位高手可帮忙.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2010-5-16 08:53:01 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
3
发表于 2010-5-17 13:00:11 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
4
 楼主| 发表于 2010-5-19 09:56:30 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
5
发表于 2010-5-23 09:11:14 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
6
 楼主| 发表于 2010-5-24 09:30:34 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-9-20 22:38 , Processed in 0.022594 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表