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

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

[复制链接]

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

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

admin 楼主

2017-1-16 15:27:51

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

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

x
通过对话框选择多个点实例* R1 s' I+ h# ?+ z* z
0 p1 v2 T$ p. l; f
: X. `5 ~9 U9 s4 |# q
Option Infer On
" l; h3 C; \& o) C$ _Imports Snap, Snap.Create
, i. ~) j( i) ]- v
5 E4 V: _3 {2 z' This is a very simple example showing you how to use a Snap.UI.BlockForm0 K# q7 ]2 y' ^  |4 g$ p3 V  R
' to create a dialog that enables the user to select multiple point locations at once.
8 F8 R9 K) l  x. P' }- T$ D4 f* A6 P3 R; ~9 Y8 j/ T
Public Class SnapBlockFormApplication2 : Inherits UI.BlockForm
; B! q* [# x% X/ ^: s  m4 _0 T9 l. a; W* ~+ O9 f6 o6 X6 J
    ' Declarations of the blocks on the dialog
# x* o& R7 v8 E$ F4 `. c, h6 e9 n2 m! s- h2 i
    Dim ptsBlock As UI.Block.SelectObject
- Q& T. ^# Y& k9 j+ d: y! Y
; k$ s* b* X/ R& k+ j6 @1 f4 B8 H    ' Constructor for a dialog object" ~9 H+ y5 [2 |$ e$ b4 N
    Public Sub New()7 m+ _4 |' s( t  f: j
# y2 A% Y) P/ [0 z9 I
        Me.Title = "Select Multiple Locations"  ' Text to be shown in title bar of dialog5 {7 u0 O+ \! b8 X, Y
        Me.Cue = "Please select some locations"   ' Text to be shown in cue line
  V! D0 e/ L& c+ v$ U- `4 M: g7 k# G, z
        ptsBlock = New UI.Block.SelectObject
4 \6 D* J* w  Y& \% ?        ptsBlock.AllowMultiple = True5 I: c" _7 |- u8 D& J) i  |
        ptsBlock.MaskTriples =
2 u( Y$ I3 f7 {1 I  t5 D            {New NXOpen.Selection.MaskTriple(NXOpen.UF.UFConstants.UF_point_type, 0, 0)}
# \* v9 v, _, Z) W5 F9 v        ptsBlock.LabelString = "Select locations"2 L; U, T( V$ q1 w3 r' x- L) C
        ptsBlock.PointOverlay = True
5 D2 R1 x# W8 I# Y        ptsBlock.SnapPointStates.SetAll(UI.Block.SnapPointState.Selected)
1 z; T/ z! v( V  `2 H- F8 P2 Z        ptsBlock.MaximumScope = UI.Block.SelectionScope.AnyInAssembly
7 \! O7 s0 G) E' Z  T  l. z
" J* E' ], B  {+ y7 t, d9 j+ G        ' Add the block to the BlockForm1 a0 Y+ g# {! g
        Me.AddBlocks(ptsBlock)" V1 w' ?- Y% A9 S$ e3 }( t

( r# @2 R3 V) q+ O/ j    End Sub& f; p3 r6 G% y- F3 o2 J- l

! G% @! X5 m- m9 \+ I8 d    Public Shared Sub Main()' l* N) }# f, m! r; O) B, R( s

4 \1 N4 T1 i8 l! T- g        ' Create and display a dialog1 d  X- C9 E! W( i
        Dim myForm = New SnapBlockFormApplication2()
+ E, E$ R5 B- I; c2 ]& E! i        myForm.Show()( W& V5 A; G# E- H8 ?1 n+ b- G

) `" q3 m  _# @1 a    End Sub- `* u( p6 X  m8 B" H4 \' [" p- X3 m
0 O! g" J/ E$ B( D
    Public Overrides Sub OnApply()0 V2 V) {( `6 @+ F
$ b7 u- g" {% F4 f$ N- C( X& w
        InfoWindow.WriteLine("You selected these locations:"): r! E- e9 B. d1 Y% k+ I0 H& p0 S

" a6 K7 r2 b. z( a        For Each anObj As Snap.NX.Point In ptsBlock.SelectedObjects
( H2 l/ z% y! t5 g            InfoWindow.WriteLine(anObj.Position)
) }+ U3 l6 _& ~- F+ T        Next# Z' s( O8 \2 @- H6 f* V! c
( v: |0 o5 t  J5 @
    End Sub: y0 E: q* G+ y/ T; |

; H7 I1 m' Q8 h+ N3 \    Public Overrides Sub OnUpdate(changedBlock As UI.Block.General)' a# r# J' G  C* T* Q; f

7 L: x- ^: K! p. i8 x* P$ Z6 c3 T        ' This is going to be annoying so don't really do it!
5 ~6 ]5 ?/ a" @. k( ?        If changedBlock = ptsBlock Then
  Q  C! l9 {5 p) i. h            If ptsBlock.SelectedObjects.Length = 1 Then8 a1 {3 Q& t8 Z/ V4 Z, H1 f
                InfoWindow.WriteLine("You picked a Location")
* W( O9 X3 T6 x" G7 D6 C. \) X            Else2 l! r" e: N% ]4 ?6 `
                InfoWindow.WriteLine("You picked another Location")/ y! m2 w: `+ ~8 T  d0 }/ V
            End If
8 a" }% y% O. [: W4 K  R        End If" F, w" V: m, F* E
& d3 q& \$ j/ u# a# T8 o
    End Sub
; ]' T) Q0 \: r
, T$ I& T  F5 h+ K3 C    Public Shared Function GetUnloadOption(ByVal dummy As String) As Integer) k( z+ O- [- r3 |
        Return Snap.UnloadOption.Immediately
& Z! O) y+ k6 s$ }' d    End Function3 k/ T* M2 g2 m1 b" B  _

* s& g; `* u9 C: l0 ]End Class( y4 D; R; p4 l. s+ ?) O
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了