iCAx开思工具箱

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 28776|回复: 19
打印 上一主题 下一主题

VB.NET FOR UG 二次开发代码分析

[复制链接]
跳转到指定楼层
楼主
发表于 2006-10-17 11:55:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册登录,享用更多网站功能!

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

x
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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 支持支持
沙发
 楼主| 发表于 2006-10-19 11:46:37 | 只看该作者

马上注册登录,享用更多网站功能!

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

x
板凳
发表于 2006-10-20 07:59:26 | 只看该作者

马上注册登录,享用更多网站功能!

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

x
地板
 楼主| 发表于 2006-10-20 08:49:30 | 只看该作者

马上注册登录,享用更多网站功能!

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

x
5
 楼主| 发表于 2006-10-20 14:34:10 | 只看该作者

马上注册登录,享用更多网站功能!

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

x
6
发表于 2007-4-12 17:56:30 | 只看该作者

马上注册登录,享用更多网站功能!

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

x
7
发表于 2008-10-20 15:07:22 | 只看该作者

马上注册登录,享用更多网站功能!

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

x
8
发表于 2008-10-21 13:26:29 | 只看该作者

马上注册登录,享用更多网站功能!

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

x
9
发表于 2008-11-1 18:35:19 | 只看该作者

马上注册登录,享用更多网站功能!

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

x
10
发表于 2008-12-14 20:23:20 | 只看该作者

马上注册登录,享用更多网站功能!

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

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

本版积分规则

手板模型制作,在线3D打印服务

QQ|小黑屋|手机版|开思工具箱 CAD工具箱_CAM工具箱  

GMT+8, 2024-11-29 16:11 , Processed in 0.013737 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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