PLM之家PLMHome-工业软件践行者

[图文教程] 通过对话框选择多个点实例

[复制链接]

2017-1-16 15:27:51 4165 0

admin 发表于 2017-1-16 15:27:51 |阅读模式

admin 楼主

2017-1-16 15:27:51

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

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

x
通过对话框选择多个点实例5 B! X/ _, A6 C% c

/ X8 j6 v& _  k& M2 v) M: r& X6 N2 `; j9 j
Option Infer On/ m/ }# o; N/ J
Imports Snap, Snap.Create  [6 C. N; ]5 [6 k

2 ?; A% H* Y' a/ N& u2 K) M' This is a very simple example showing you how to use a Snap.UI.BlockForm
, Z* X' C2 ~$ }# M' to create a dialog that enables the user to select multiple point locations at once.& Q  X, N# ~5 F
) p7 d2 [/ n* h4 U+ a& ^% ?$ o
Public Class SnapBlockFormApplication2 : Inherits UI.BlockForm/ O5 R8 J/ U( y/ q  p

4 J! _  A- \! g. b5 l    ' Declarations of the blocks on the dialog
. r2 H, C7 F3 ^; t4 V4 F0 V+ T" s& g9 i, P4 D5 n) T: j
    Dim ptsBlock As UI.Block.SelectObject
- o+ ]6 O. M, x
0 }' z* M- n( I, S9 i2 e1 ^" [% s    ' Constructor for a dialog object" b0 r/ b( K" g7 A3 ]- b
    Public Sub New()
" A/ f  e* ~, J* k
; U! K, z! G8 G0 B- y        Me.Title = "Select Multiple Locations"  ' Text to be shown in title bar of dialog
% _& Y0 {7 \' }; R( F        Me.Cue = "Please select some locations"   ' Text to be shown in cue line/ X1 m0 `: E  ?) k3 L$ w$ `2 r4 z
2 O+ Q: u5 U; i+ I- h2 K
        ptsBlock = New UI.Block.SelectObject$ j; u# i" l7 {, K3 V5 K& d
        ptsBlock.AllowMultiple = True4 ]4 d5 d3 `" @0 F
        ptsBlock.MaskTriples =
- a) \' p+ d, G- x7 Z7 z# f  U0 N            {New NXOpen.Selection.MaskTriple(NXOpen.UF.UFConstants.UF_point_type, 0, 0)}) h0 M/ y& N8 _  k& e
        ptsBlock.LabelString = "Select locations"+ I# |2 ?2 H3 D$ ]5 D# G4 f
        ptsBlock.PointOverlay = True* r) w! e" K1 b$ S; E$ T# z/ b
        ptsBlock.SnapPointStates.SetAll(UI.Block.SnapPointState.Selected)
- @  Y! E& \/ {" Z1 C2 O, P0 w        ptsBlock.MaximumScope = UI.Block.SelectionScope.AnyInAssembly
# g: n6 i. D; A: H1 ]
9 n" [9 r  B" i        ' Add the block to the BlockForm
3 G% t& Z, ?: j        Me.AddBlocks(ptsBlock)5 W, a0 N: @5 J6 d  z( @
& A  `" z6 L: P+ V
    End Sub# n9 v) v8 t( R# J) P7 |+ B+ G' W

$ C( ?5 Z) m! M+ C; x2 t9 I5 S$ C    Public Shared Sub Main()6 W. i1 \/ F- q) C% h0 w/ C" ~- R
7 k, H* p3 Y4 _7 m7 F/ V8 C( U: W8 H
        ' Create and display a dialog
) c# E) G& Q/ |; h- b2 P1 t        Dim myForm = New SnapBlockFormApplication2()
' O( r4 I4 v2 q0 R5 S. n( d        myForm.Show()
9 D/ H% Y' b/ g
1 S& O3 F, o! E4 @    End Sub* J  v* U. U- }0 Z& j
9 r( T2 D% e6 G* y8 u3 r
    Public Overrides Sub OnApply()
; u5 D, ^% ^5 w8 M. p8 r
* o' M+ E5 J4 b+ F) m        InfoWindow.WriteLine("You selected these locations:")* ]- k/ w, u6 H' Y
: i& i' h. ?% p4 G) K) E0 [2 ]
        For Each anObj As Snap.NX.Point In ptsBlock.SelectedObjects
2 E) Q. p: O; R& R+ h            InfoWindow.WriteLine(anObj.Position)* C9 x, W1 U' a1 c# u
        Next
- t$ ?  H* N7 j  `
& \' A! ?6 G0 Z    End Sub! A/ V% Q# H' N' A- B3 Q

8 y/ t9 O: E% B( k  y9 W    Public Overrides Sub OnUpdate(changedBlock As UI.Block.General)7 ~  Y5 X2 ?' \0 o2 k6 f, w
0 q( k, T9 g" m' j
        ' This is going to be annoying so don't really do it!4 ]/ p3 I6 w! k+ X/ O
        If changedBlock = ptsBlock Then3 w3 V1 o6 C8 D+ ]/ a
            If ptsBlock.SelectedObjects.Length = 1 Then- I# Z. u3 K" M  d! l9 m
                InfoWindow.WriteLine("You picked a Location")
5 h; \% B. T& d* O4 d" D% M) ?            Else
7 V. u; w& `9 j: c& x/ H                InfoWindow.WriteLine("You picked another Location")
7 g4 N5 _% i. Y+ H) \. S. H            End If
6 U% m$ Z  M2 \! w        End If- G9 c3 _. s; v+ ~* N. L

+ m. D1 x( i% _3 I    End Sub" ^9 G& M" v$ x7 T  b/ b

7 ^2 g+ Q/ ?5 W+ f  n. O* }    Public Shared Function GetUnloadOption(ByVal dummy As String) As Integer- l: J6 a4 |- I: _  M: m
        Return Snap.UnloadOption.Immediately+ k0 v# K3 R8 q- U" x
    End Function* [8 W/ S" Y9 I) K( Q

2 a4 V- O! h4 l# D$ `% N: jEnd Class7 C8 [; ?" t) T+ Y- W# ~
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了