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

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

[复制链接]

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

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

admin 楼主

2017-1-16 15:27:51

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

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

x
通过对话框选择多个点实例* Y6 N, ^! T7 m0 P9 C

$ ~* I+ v% O" u0 k' U1 F
% v0 ~- c1 N; \" x. pOption Infer On
" u; i& ]$ N0 `) `7 `5 b, hImports Snap, Snap.Create5 C5 B: Q- A# |

8 V+ i: a4 `$ W! e6 p& n' This is a very simple example showing you how to use a Snap.UI.BlockForm& O, i  p, ~3 z- X
' to create a dialog that enables the user to select multiple point locations at once.
" F& U% o1 _# `$ O1 N
6 {3 G% X& B! E- uPublic Class SnapBlockFormApplication2 : Inherits UI.BlockForm
- o& h+ S% _& n: b  Y& P. s
* M% Q3 t9 I, g2 m- {6 R    ' Declarations of the blocks on the dialog
5 y/ R* h9 c1 _# I5 _4 k0 R' l1 a2 b
    Dim ptsBlock As UI.Block.SelectObject9 n; d+ q1 [0 V* L3 U8 B

" W  @1 v( q; {( G5 e    ' Constructor for a dialog object6 ?2 `, c/ ^  _# k
    Public Sub New()
6 {1 n& y0 v. F3 R, i4 Q; K1 @
/ ^1 v; @: L$ h1 {! l1 P        Me.Title = "Select Multiple Locations"  ' Text to be shown in title bar of dialog  H/ w0 T  Y+ F) c
        Me.Cue = "Please select some locations"   ' Text to be shown in cue line
. z2 K+ [' V) e+ z& D5 R& ]* Z8 o$ l8 a9 M& ~
        ptsBlock = New UI.Block.SelectObject7 w6 N5 e( D7 q8 o1 Q8 g
        ptsBlock.AllowMultiple = True% b% }1 F6 b% e  b8 q! i
        ptsBlock.MaskTriples =
- A+ d# _8 U* P! Q" g% N- n* J. ~. Z            {New NXOpen.Selection.MaskTriple(NXOpen.UF.UFConstants.UF_point_type, 0, 0)}
6 ]) g& \; i. Y; p9 \        ptsBlock.LabelString = "Select locations"% A2 l; g" D" ?3 ?
        ptsBlock.PointOverlay = True
% |4 c; {9 `8 h( ^( n        ptsBlock.SnapPointStates.SetAll(UI.Block.SnapPointState.Selected), L- r! W9 I" k: L2 R3 U
        ptsBlock.MaximumScope = UI.Block.SelectionScope.AnyInAssembly1 ?  U( ]& j- S- `

. N3 F  `! L' r        ' Add the block to the BlockForm% K/ Q& V1 i4 T/ q4 P/ ]# l; V8 p6 {
        Me.AddBlocks(ptsBlock)  o) X, E6 D4 p: }: \7 J! A
6 D0 W9 O7 |/ B1 f) D7 S
    End Sub
$ _- }# L) z# s% ~* Y$ Q& A" c) A, }: d, M* C$ L) e* ^
    Public Shared Sub Main()$ J* B$ i+ o4 E

. \5 L2 ]; i2 ]/ x& V  R( R        ' Create and display a dialog6 s- ?; V5 E  }9 n$ n/ P6 `
        Dim myForm = New SnapBlockFormApplication2()5 C+ E# e0 b* J3 w
        myForm.Show()
: x' y  y  q5 H/ i6 I( o5 H5 @" P/ Z+ B6 D
    End Sub- b% D: U  ^0 x. U5 C

4 Q) \% U4 x9 T    Public Overrides Sub OnApply()
, s' q" a% a* `5 R; h" B" F6 Z' B  Q5 J
        InfoWindow.WriteLine("You selected these locations:")/ T: a9 w7 C/ g' Y/ }, q8 A

5 T) }, N! G6 i9 t# M( C" @: R0 Z        For Each anObj As Snap.NX.Point In ptsBlock.SelectedObjects
4 O7 G" l' D" Q) F( Q# v            InfoWindow.WriteLine(anObj.Position)
  j0 Q3 T( Z- K4 {        Next1 F& y) c* I9 S4 w% H
, m( p7 D; d/ B' q& |
    End Sub+ P7 Y2 @# Q* B" l

, B3 v" W4 }: m( p/ g  }    Public Overrides Sub OnUpdate(changedBlock As UI.Block.General)8 n' S) Z! m7 Z

  x3 h9 {2 T  s        ' This is going to be annoying so don't really do it!0 _/ p" X2 s  [. ~
        If changedBlock = ptsBlock Then
+ h# L* S# r8 A8 f            If ptsBlock.SelectedObjects.Length = 1 Then
/ Z$ |% ^% Q5 q# F                InfoWindow.WriteLine("You picked a Location")
! d/ m; b$ S4 i# w8 A            Else  k2 a, ?) {/ I, Q
                InfoWindow.WriteLine("You picked another Location")7 l% s2 b! O, n# T6 Q3 v
            End If  R0 T6 |% M1 z! u0 T$ Z2 V
        End If
$ o6 `' h1 ~0 g4 P2 e9 I  y
6 ]$ [$ |6 j# m7 x5 n6 m, \    End Sub
: k# I2 J! Q) R# \6 ]9 N- v, m$ _, L4 D
    Public Shared Function GetUnloadOption(ByVal dummy As String) As Integer" _& n% ^- {8 o0 m7 l
        Return Snap.UnloadOption.Immediately
" r$ u0 F+ U" u1 v7 E2 \    End Function
! l1 P( b0 i5 i( z1 i, P2 _. J# i1 |1 l  r
End Class
, Q# e9 T) s. E; I! n- P
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了