PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2017-1-16 15:27:51

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

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

x
通过对话框选择多个点实例9 ]3 }. a* C/ ?& M1 F! G; p* t

  }# N/ Z3 ~! \9 d8 |/ O4 q, c# U& B! K
Option Infer On& U1 Y9 |7 o$ V- ^
Imports Snap, Snap.Create
! C, w# |$ }7 l8 \* k! a( m4 t4 ~$ V' u. O1 d7 _
' This is a very simple example showing you how to use a Snap.UI.BlockForm
, g, i/ }5 X$ N) |' to create a dialog that enables the user to select multiple point locations at once.8 t. J7 x1 }$ @
- b" b- L: ]) D2 V# j' L1 E1 C
Public Class SnapBlockFormApplication2 : Inherits UI.BlockForm
4 t$ E  h9 b. g! e* F! ?$ f7 t
/ v5 K% p$ x1 k0 v6 T$ C3 d" Y" x    ' Declarations of the blocks on the dialog
, @- a5 f. v4 r1 N* g8 F' z" q, a* F% F8 P$ s
    Dim ptsBlock As UI.Block.SelectObject5 X9 X# t3 e- h0 M$ _
$ D& _9 r& @+ }2 P5 L
    ' Constructor for a dialog object+ H' P4 ~& i7 l3 F
    Public Sub New()
) [) y# l& c" V2 x3 P7 m# w8 p$ \6 ^$ R; B: L9 m
        Me.Title = "Select Multiple Locations"  ' Text to be shown in title bar of dialog# X: [) T" l' b! z' s3 G! t  v
        Me.Cue = "Please select some locations"   ' Text to be shown in cue line
# `* m- d  a' W
9 z$ `( L/ Y5 \        ptsBlock = New UI.Block.SelectObject4 T8 D: K) F7 H7 P# l$ D) f
        ptsBlock.AllowMultiple = True
4 o. ^/ Y5 p( a2 c, L        ptsBlock.MaskTriples =2 a; h( z7 ]. W1 p  t0 _1 M- x
            {New NXOpen.Selection.MaskTriple(NXOpen.UF.UFConstants.UF_point_type, 0, 0)}. D) N; q; i7 Y' U& F) B: G2 A
        ptsBlock.LabelString = "Select locations"
- D$ u& W$ `% |4 _' L2 Y2 U- a; v        ptsBlock.PointOverlay = True/ j! i& \3 W$ P! O, |, o) v, n" Q
        ptsBlock.SnapPointStates.SetAll(UI.Block.SnapPointState.Selected)9 e- ^" I7 @$ h) d6 L2 P
        ptsBlock.MaximumScope = UI.Block.SelectionScope.AnyInAssembly
8 d6 V( k" h( y1 x3 R& E! T3 s! X' U* C5 Y
        ' Add the block to the BlockForm) X3 d, [8 ^4 j# o; R1 c+ v
        Me.AddBlocks(ptsBlock)
' Y/ |- N: X7 D! X% S1 j4 B+ \5 o* g
    End Sub
6 Z: ]( v2 }2 u" ]9 ^& X! @& n( u
5 H; _) t( n. b2 D9 o    Public Shared Sub Main(): ~$ [* j; d( u  U& q
: O2 L; j; ]. E. x: z+ A% T
        ' Create and display a dialog7 _5 I8 a5 J1 g. d
        Dim myForm = New SnapBlockFormApplication2()' x0 _) Q  N5 m/ x% P
        myForm.Show()5 ?/ E4 R% D0 x

) S$ H$ l1 @' O' ]9 g4 M0 w, Q    End Sub
( ?% ^% S, O/ z( B+ e" n* Q* ]9 x! a: C/ f, O5 K) s( K
    Public Overrides Sub OnApply()
- O2 ~2 ^  E: z8 c# }/ r4 @: z. A  M7 x0 E. {
        InfoWindow.WriteLine("You selected these locations:")
8 u9 T8 f. s6 n- ]* V* X3 j+ P  o8 u: y
        For Each anObj As Snap.NX.Point In ptsBlock.SelectedObjects- g" I& O- p" a7 T
            InfoWindow.WriteLine(anObj.Position); R8 u8 n8 T; M4 \  M1 A
        Next
& S$ Z7 N7 @5 l# ~0 ?9 \# q; M3 ]2 ^  T/ _* ?
    End Sub& l" b, T, u9 c5 R

( _& ~# [1 H+ J$ M3 X    Public Overrides Sub OnUpdate(changedBlock As UI.Block.General)/ C# X4 t+ b0 X3 [  c2 Z
( ]5 y' k; m) U0 F8 Y
        ' This is going to be annoying so don't really do it!; m7 ]  h! e1 E" e2 A
        If changedBlock = ptsBlock Then
6 X4 |# W- C6 q            If ptsBlock.SelectedObjects.Length = 1 Then
/ W8 s7 k, }. z4 `, G' S                InfoWindow.WriteLine("You picked a Location")1 v7 N# f' A# A
            Else
; ~0 h& Y  C3 G( l& i9 n4 T$ z  j, k                InfoWindow.WriteLine("You picked another Location")
! {. D6 f2 f% x" Y& ?            End If) u$ M2 f4 {/ D8 ?: `# z3 }7 l# l  H6 J* F
        End If
0 |( l* y2 ~1 \
- m# l/ D* F2 F  _9 R6 h    End Sub
3 t" [. y1 o  ?  S8 ?
* p2 J& `7 c& `" Z" o    Public Shared Function GetUnloadOption(ByVal dummy As String) As Integer
- h6 O" \1 `3 f2 E        Return Snap.UnloadOption.Immediately; Q$ J2 k/ I' Z- O0 T7 h
    End Function
, a+ `: ^, k2 T0 O' H8 ?$ A, C( J& r' t( F3 J0 P
End Class
$ J( n5 W2 @0 k- 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二次开发专题模块培训报名开始啦

    我知道了