iCAx开思工具箱

标题: VB.NET FOR UG 二次开发代码分析 [打印本页]

作者: 昆山人    时间: 2006-10-17 11:55
标题: VB.NET FOR UG 二次开发代码分析
vodka 大叔和路过的高手们,下面是我看到的"选择一个部件"比较典型的程序,我觉的凡是涉及到"选择东西"的框架跟这段代码都应该差不多,所以我想请你们帮帮忙,分析一下,发表一下意见...(其中红色的地方是我不是很明白的,蓝色的地方的取值分别代表什么意思,如果取其他的会有什么变化,希望详细些)

Option Strict Off

Imports System

Imports NXOpen
Imports NXOpen.UI
Imports NXOpen.Utilities
Imports NXOpen.UF

Module select_a_component_demo

  Dim s As Session = Session.GetSession()
  Dim ufs As UFSession = UFSession.GetUFSession()

Sub Main()
    Dim component As NXOpen.Tag

    While select_a_component(component) = Selection.Response.Ok

        MsgBox("Component Tag:" & component.ToString())

        ufs.Disp.SetHighlight(component, 0)

    End While

    End Sub

Function select_a_component(ByRef component As NXOpen.Tag) _
                                             As Selection.Response

    Dim message As String
    Dim title As String = "Select a COMPONENT"
    Dim scope As Integer = UFConstants.UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY
    Dim response As Integer
    Dim obj As NXOpen.Tag
    Dim view As NXOpen.Tag
    Dim cursor(2) As Double
    Dim mask_cmpnt As UFUi.SelInitFnT = AddressOf mask_for_components

    ufs.Ui.LockUgAccess(UFConstants.UF_UI_FROM_CUSTOM)

    Try
        ufs.Ui.SelectWithSingleDialog(message, title, scope, mask_cmpnt, _
                     Nothing, response, component, cursor, view)
    Finally
         ufs.Ui.UnlockUgAccess(UFConstants.UF_UI_FROM_CUSTOM)
    End Try

    If response <> UFConstants.UF_UI_OBJECT_SELECTED And _
       response <> UFConstants.UF_UI_OBJECT_SELECTED_BY_NAME Then
        Return Selection.Response.Cancel
    Else
        Return Selection.Response.Ok
    End If

    End Function

Function mask_for_components(ByVal select_ As IntPtr, _
                       ByVal userdata As IntPtr) As Integer

    Dim num_triples As Integer = 1
    Dim mask_triples(0) As UFUi.Mask
    mask_triples(0).object_type = UFConstants.UF_component_type
    mask_triples(0).object_subtype = 0
    mask_triples(0).solid_type = 0

    ufs.Ui.SetSelMask(select_, _
                       UFUi.SelMaskAction.SelMaskClearAndEnableSpecific, _
                       num_triples, mask_triples)
    Return UFConstants.UF_UI_SEL_SUCCESS

End Function

Public Function GetUnloadOption(ByVal dummy As String) As Integer

    GetUnloadOption = UFConstants.UF_UNLOAD_IMMEDIATELY

End Function

End Module


作者: 昆山人    时间: 2006-10-19 11:46
vodka 大叔...帮帮忙啊....期待中........
作者: cam-yp    时间: 2006-10-20 07:59
原贴由发表:
vodka 大叔...帮帮忙啊....期待中........


作者: 昆山人    时间: 2006-10-20 08:49
帅哥... 你老是顶....也没顶出个答案来....会不会做啊?帮帮我
作者: 昆山人    时间: 2006-10-20 14:34
vodka 大叔..走过路过不要错过
作者: wangyong420    时间: 2007-4-12 17:56
怎么好东西都被删了呢
作者: listview    时间: 2008-10-20 15:07
看不到看的
作者: jhj1    时间: 2008-10-21 13:26
DDDDDDDDDDDDDDDD
作者: 昱仁吾子    时间: 2008-11-1 18:35
是回复可看吗,希望是
正需要这方面的资料呢
作者: yqlplh    时间: 2008-12-14 20:23
可 以 下 吗 ?
作者: zenghong789    时间: 2008-12-26 22:37

忽悠你
作者: zhangxinyuan    时间: 2009-2-4 16:14
???????????
作者: lb6384    时间: 2009-2-9 09:25
kan  kan  hao  ma?
作者: Y0701010    时间: 2009-4-27 10:45
怎么都屏蔽了?
作者: zjh_133    时间: 2009-5-13 10:03
是回复可看吗,希望是
正需要这方面的资料呢
作者: zjh_133    时间: 2009-5-13 10:04
是回复可看吗,希望是
正需要这方面的资料呢
作者: lgmsddy    时间: 2009-5-17 07:42
为什么屏蔽起来呢?
作者: UG008    时间: 2009-9-12 19:40
weefcvtrbtrb
作者: lgmsddy    时间: 2009-9-18 07:44
昆山人,你是不是犯错误了?
作者: jili_rory0211    时间: 2011-12-19 10:14
qwwsdsdsd




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3