查看: 4311|回复: 0

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

[复制链接]

4

主题

3

回帖

38

积分

管理员

积分
38
发表于 2017-1-16 15:27:51 | 显示全部楼层 |阅读模式

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

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

×
通过对话框选择多个点实例
2 F* e# L: T* ]$ y( e
5 O: R; K7 @* y3 v! V0 L$ p0 y1 b' j% i, ^% d# W
Option Infer On
7 |: V, C$ S! r  g- P+ E. {Imports Snap, Snap.Create
" d, l6 Y6 |2 i4 _% b9 D& X' w2 _# m0 [+ i9 A0 C9 c  C& q" E8 P
' This is a very simple example showing you how to use a Snap.UI.BlockForm
5 Y$ \* l' Y5 c) f0 `# N( u' to create a dialog that enables the user to select multiple point locations at once.
4 r. c5 b$ E1 Z& d+ ]
, G) R; ]; x6 oPublic Class SnapBlockFormApplication2 : Inherits UI.BlockForm
( V' p/ x0 G; C4 \7 ]- W
# B; y+ Q5 \% r( }    ' Declarations of the blocks on the dialog1 ?7 u& B" O( H& ?9 J9 z

9 m9 g4 c  S! @, D3 ]! R1 H0 x    Dim ptsBlock As UI.Block.SelectObject
# x6 W: p( w, U; l% A
! Q8 R; ^5 i6 V2 f$ [    ' Constructor for a dialog object
5 r. O& R! G6 J5 q    Public Sub New()
6 ^" D! ?8 w8 N$ |% [+ E! h% H& L' U
        Me.Title = "Select Multiple Locations"  ' Text to be shown in title bar of dialog/ n$ `! [! Y) ?% L$ X) m5 v: W
        Me.Cue = "Please select some locations"   ' Text to be shown in cue line; ~  u+ \! h" ?1 ]) H- A2 h! I

; t; {" [! K6 o6 o; M        ptsBlock = New UI.Block.SelectObject
* D5 E, g( _8 i% B        ptsBlock.AllowMultiple = True
3 Q7 t6 ]: W# j+ U/ N0 x        ptsBlock.MaskTriples =
+ w! a6 ^: C, u5 {+ B8 A            {New NXOpen.Selection.MaskTriple(NXOpen.UF.UFConstants.UF_point_type, 0, 0)}" ]9 j) \3 l2 w
        ptsBlock.LabelString = "Select locations"3 c) r) m# f( Y6 I9 N2 U
        ptsBlock.PointOverlay = True3 I! t: [! G4 V. c7 t7 L% L& Z
        ptsBlock.SnapPointStates.SetAll(UI.Block.SnapPointState.Selected)- S+ e% v5 s+ ~
        ptsBlock.MaximumScope = UI.Block.SelectionScope.AnyInAssembly
# j; P4 g8 I+ d, _6 W3 X: o% ^: b' P; r  m5 b
        ' Add the block to the BlockForm
- T& S! D( [  d5 r; R' j        Me.AddBlocks(ptsBlock)& x2 T5 I* W2 |. J% ~' p: v5 o+ {
. M8 Z( J  T$ ~! u3 r0 T) g* q0 {
    End Sub
3 n: V9 ?1 ~' w8 ~) R
8 R' O) a& f! Z; I. S  w3 i/ y) V6 r5 M    Public Shared Sub Main()
+ p$ D: ^2 k/ f1 A
- L5 T" E+ e  j! I- M        ' Create and display a dialog2 [* E$ K' L3 |* X- Z& Z/ x( u5 x
        Dim myForm = New SnapBlockFormApplication2(): W! B& ^0 O6 b0 c% O) g
        myForm.Show()( a6 T; C) I8 ]( r/ G

( i( g6 _1 Y! W' f, l- r    End Sub1 ^2 V9 ~7 T" Z9 G- E0 p

; d& ?5 C$ B7 j( k1 T/ i    Public Overrides Sub OnApply()2 i3 b4 v7 m8 `/ `( H( C7 B/ |) U
9 ]0 S) W9 k8 F+ ^& r- E
        InfoWindow.WriteLine("You selected these locations:")
4 _+ p2 e  m7 \2 E4 I3 z0 |) X! x3 c# x/ V$ _
        For Each anObj As Snap.NX.Point In ptsBlock.SelectedObjects- ^5 R& x3 ^8 z( ]
            InfoWindow.WriteLine(anObj.Position)
) v$ i- f7 a! y" f7 a( G( D        Next
0 z& B0 D2 A% d3 o1 t/ P
  G' K4 \) e+ y% F  |    End Sub
! K$ Q3 y% q" H7 x0 u4 K' q9 [% j+ s
    Public Overrides Sub OnUpdate(changedBlock As UI.Block.General)$ j6 U4 }, r) N
/ `0 L! U  r. b* f
        ' This is going to be annoying so don't really do it!0 @7 a9 {7 v* Q& D" m. P
        If changedBlock = ptsBlock Then
4 T- V$ Z. e* ~" l  e' ]4 s            If ptsBlock.SelectedObjects.Length = 1 Then0 ?0 `8 n1 E# ^+ K, L7 c
                InfoWindow.WriteLine("You picked a Location")
, q1 O+ v7 \1 ?0 S" O9 x            Else
: k8 `# F3 m7 `7 ^                InfoWindow.WriteLine("You picked another Location")6 y3 i& V) W0 b' `3 M* u
            End If
- z) M9 S0 ^% g. E. i        End If
+ B0 a& ~  \6 B. R" o4 J3 z
, r3 j3 }  y9 h6 m    End Sub
; A# U. @) }4 c+ z* G2 n3 }+ k' _, q$ I  R
    Public Shared Function GetUnloadOption(ByVal dummy As String) As Integer4 A3 I1 s+ `" o8 Y- m
        Return Snap.UnloadOption.Immediately" O4 A( M2 `7 ?; }! d; J  h; Q' g) F( j
    End Function, H9 {. b  O0 G9 W# \% `) c

6 l( A5 D0 G8 V9 OEnd Class' k2 R* m5 ~' r$ r5 h4 j3 x
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部