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

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

[复制链接]

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

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

admin 楼主

2017-1-16 15:27:51

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

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

x
通过对话框选择多个点实例) Y8 i% X& M6 X2 e
' q; S/ w$ C; G( |+ a# ]

2 E" V3 e4 X+ E: @* f! r" MOption Infer On: ^! V  G( L4 u/ ?( s, s
Imports Snap, Snap.Create, j9 \3 v& {% X8 Q
4 u/ M/ I" s+ \! V
' This is a very simple example showing you how to use a Snap.UI.BlockForm
! p' g; ^1 G  Q4 }6 {4 n' to create a dialog that enables the user to select multiple point locations at once.
) S3 z9 N$ t2 H
$ c. s* U* w. B; |. H0 s% I) ~+ g6 k- PPublic Class SnapBlockFormApplication2 : Inherits UI.BlockForm1 j- |6 ?1 y2 H3 g: P7 N, v

, `( a3 v7 X6 p; q9 |    ' Declarations of the blocks on the dialog
4 ]! S4 j- d' U" ~
1 S. V5 f2 c0 e0 b7 i    Dim ptsBlock As UI.Block.SelectObject# Q! I3 X+ f0 l3 c  D- t
7 l( ?. J# u; ?8 t  S' ]9 S; x- A
    ' Constructor for a dialog object4 L1 K0 Z# ~; ]" v& Q* S8 y
    Public Sub New()
* i# ]8 C6 |, S1 I# q( b8 w! c
1 [7 U8 c7 u# @9 B! W8 G9 x* `; [        Me.Title = "Select Multiple Locations"  ' Text to be shown in title bar of dialog
7 z' `2 X8 x% k7 R        Me.Cue = "Please select some locations"   ' Text to be shown in cue line
# g. a4 H" T6 i) l4 c
: i" Z# v9 G/ b5 }# d& E2 B        ptsBlock = New UI.Block.SelectObject2 l" x% @3 M9 r4 D
        ptsBlock.AllowMultiple = True' v" k$ E6 U' [' Q) |8 ]# E0 y
        ptsBlock.MaskTriples =
9 G5 Q7 ]/ e) U            {New NXOpen.Selection.MaskTriple(NXOpen.UF.UFConstants.UF_point_type, 0, 0)}
9 h7 ~& N9 {0 g) E1 z. `        ptsBlock.LabelString = "Select locations"7 ^1 z* U% Q: B- F, C7 b. ^
        ptsBlock.PointOverlay = True
- ~( F; X3 v  H- D2 k' \  C        ptsBlock.SnapPointStates.SetAll(UI.Block.SnapPointState.Selected)5 ^$ n" S% h1 m. t
        ptsBlock.MaximumScope = UI.Block.SelectionScope.AnyInAssembly( X8 A5 M7 W8 n" C4 a- f0 Q

0 ]! G+ [, Q5 P6 h2 I" G        ' Add the block to the BlockForm
! Y% A# C& X! X6 @2 z% G4 J/ Y        Me.AddBlocks(ptsBlock)$ W& g. C* j1 t6 E
5 g$ J, Z/ [4 I" |& `
    End Sub3 W( A& j$ o. k, E& ?

/ v# F+ o4 v* w9 ^8 n6 z# d    Public Shared Sub Main()
4 I* g3 E" j' A! n) H4 \* w8 p1 I6 P+ B/ i
        ' Create and display a dialog* l& O: ?6 L: n
        Dim myForm = New SnapBlockFormApplication2()
6 @# J7 G1 o* z4 d% Q        myForm.Show()
; u: {+ M9 {! E; c9 @3 D* H5 {& T1 G$ U9 S% i6 s7 K. s
    End Sub
; U0 Y7 g9 C. K& V9 ?* t  |  \7 q% u, L! ?4 _  }# f2 [
    Public Overrides Sub OnApply()
/ J2 R/ x$ z) g3 Y, j
8 M! d0 ?/ m+ q0 G, A" }- q7 k        InfoWindow.WriteLine("You selected these locations:")# g8 q) U& y7 m
1 s8 i8 b" E, q3 |& k, |' e4 D# `
        For Each anObj As Snap.NX.Point In ptsBlock.SelectedObjects
8 j7 H, D9 o  k, T6 [            InfoWindow.WriteLine(anObj.Position)6 F8 K7 j8 Q5 g4 }8 l, Q
        Next. J" ^! p7 K( Q, O5 E$ i

$ `* w, Y/ ~$ C% j7 T# j    End Sub
4 o% q- l0 X) q0 H: G8 F: s3 Z  ?8 H+ w4 S' A( w
    Public Overrides Sub OnUpdate(changedBlock As UI.Block.General)' B: e! X: M& u- o9 M
" K9 ~+ H: y, B# z3 j( E/ ^  v* K
        ' This is going to be annoying so don't really do it!$ `- S1 l, Q: H' T8 U% ?0 O4 b
        If changedBlock = ptsBlock Then
0 c6 @% o, ^8 z% t            If ptsBlock.SelectedObjects.Length = 1 Then. r, M2 J/ N) Z/ d6 z' f/ r/ Y$ ^: q
                InfoWindow.WriteLine("You picked a Location")
( U1 r) Q2 Q2 E. e            Else
- C+ o5 H0 ], w4 y                InfoWindow.WriteLine("You picked another Location")
$ K1 t/ Y: z, _- n            End If. o. ]" X5 [: @. n: Z& O% k# k
        End If
( O! c- f3 l0 }! n6 X" O) y, c1 Z
    End Sub) J2 f% ~2 t2 e/ h8 X& W; h# H

; i8 n9 J9 F$ w: a: U8 S0 ]    Public Shared Function GetUnloadOption(ByVal dummy As String) As Integer
+ S8 u/ p6 M; w  _6 j6 x* a        Return Snap.UnloadOption.Immediately4 b1 u' U9 v2 a: H0 x
    End Function
! N; X  E- \7 q: C  v
6 V, w: P2 K! I% C; vEnd Class
0 e9 q, n7 o& K; m' F
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了