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

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

[复制链接]

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

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

admin 楼主

2017-1-16 15:27:51

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

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

x
通过对话框选择多个点实例9 `! R6 U+ u, ~6 l) `, ^0 D

6 U& q4 q; K' R! D) T3 O% s) m) @' K% q' S! L+ n, p/ o
Option Infer On% ]; R5 y. |3 x3 [! c
Imports Snap, Snap.Create2 {: b8 @+ @, J$ g! L0 J$ p

7 B6 d4 j0 V3 w* f1 t, T' This is a very simple example showing you how to use a Snap.UI.BlockForm
9 T6 P: P4 B6 D" \% n' to create a dialog that enables the user to select multiple point locations at once.4 J: X% B7 Y$ ]2 }9 W6 k* H
  @8 i$ E) L; _8 ]5 a% |
Public Class SnapBlockFormApplication2 : Inherits UI.BlockForm$ H1 G4 P6 a9 }* }% u6 x

: l. q1 [4 y7 r# M: c% e! F    ' Declarations of the blocks on the dialog0 `6 l- C% a0 G  [: I+ _; c" k$ @
$ f6 ~3 U5 [' u6 p9 A: H
    Dim ptsBlock As UI.Block.SelectObject
. J% {% Q4 c. y, ?, n
0 ~% y. N3 I0 P/ \    ' Constructor for a dialog object& v, n4 M* r' h6 U; h% q
    Public Sub New()
+ `, g" D4 Q- v. C  ~4 Y7 ?4 T7 k" B! x8 k( ^& S
        Me.Title = "Select Multiple Locations"  ' Text to be shown in title bar of dialog2 {. ~; l# v+ M1 v# @# T( d+ W
        Me.Cue = "Please select some locations"   ' Text to be shown in cue line- x: P+ N2 ^# K4 r- ^

6 z# X2 a6 b/ x5 W8 B& _  X! ^, c( L1 X( y        ptsBlock = New UI.Block.SelectObject
0 b( q, M# \& y. h" n9 _$ T) U; A9 I        ptsBlock.AllowMultiple = True
) F1 R3 q% H' }$ w        ptsBlock.MaskTriples =7 s7 d0 U- X# g7 a4 @; C4 s) m7 w
            {New NXOpen.Selection.MaskTriple(NXOpen.UF.UFConstants.UF_point_type, 0, 0)}- P+ e# h& E: Z+ g) w4 y0 B
        ptsBlock.LabelString = "Select locations"
& _# ^* R  U$ {% G& T' I0 T2 Q        ptsBlock.PointOverlay = True/ c$ C0 }/ k8 W  w" g
        ptsBlock.SnapPointStates.SetAll(UI.Block.SnapPointState.Selected)
3 ?) B: o% ^5 R0 ]) I3 A        ptsBlock.MaximumScope = UI.Block.SelectionScope.AnyInAssembly$ ^- \- D# J- z! q7 Q
& f: L1 Z5 o; Q! d7 v: g
        ' Add the block to the BlockForm7 B1 t  y/ B3 d8 k" b5 Y
        Me.AddBlocks(ptsBlock)/ h) C: [/ N3 G, {

5 }2 Q5 D3 g/ O% H  \    End Sub
1 p' p+ F0 f) e; F! o, }$ o+ E1 t
# ~; [$ j6 x% @$ j) v! F    Public Shared Sub Main()
- R! y: z+ J+ B6 a7 v+ g9 j% X; ~5 F4 X
        ' Create and display a dialog
, s) p/ u1 r( M6 Y& p) L        Dim myForm = New SnapBlockFormApplication2()
/ T, q: B0 _2 ~7 u. C        myForm.Show()$ U5 X& f$ Z( g9 |$ J# c; A& D% d

$ y; ]1 C% Z6 E5 B    End Sub( v  S5 |4 N6 z$ r& t" T0 w; z# H

. k4 l# s' C+ }( B    Public Overrides Sub OnApply()
9 P1 @, E8 b  T  e) Z9 v" V( M; Z/ n- V# i. c
        InfoWindow.WriteLine("You selected these locations:")
  Z9 D; t$ F5 ~' [* d3 k  e
8 b: Z: e, g/ ?1 k        For Each anObj As Snap.NX.Point In ptsBlock.SelectedObjects
. u3 K8 a  R3 @. i$ x; G            InfoWindow.WriteLine(anObj.Position)
0 ~' i" M% F' H; N. s        Next
0 o7 q8 V" O4 K7 m) O, Q2 \; w. ?. G8 y1 o7 y" L( Q
    End Sub
1 m7 m, G( h% [: q+ p5 h4 N- S2 |, n; U9 W/ U7 V% B
    Public Overrides Sub OnUpdate(changedBlock As UI.Block.General)+ B/ B9 q! {. W( [+ p

4 }% }& N$ |) O0 `+ C( K        ' This is going to be annoying so don't really do it!1 }+ L- o% k; P
        If changedBlock = ptsBlock Then
. c% w9 z: r2 [% m: ]            If ptsBlock.SelectedObjects.Length = 1 Then% W1 _3 O5 R7 Q8 E3 E% H
                InfoWindow.WriteLine("You picked a Location")
+ e" A) t* C1 G8 B# N9 E            Else% X" r& \$ t0 H+ R3 d5 R% n, @
                InfoWindow.WriteLine("You picked another Location")
/ f0 V) P' @9 S2 y: \% i$ @            End If
5 B. j$ c9 C( a7 U        End If
& O1 H1 c" R6 [3 |- T7 J/ e* Q( T$ i6 Y5 @
    End Sub( K& z7 z; l/ R+ O5 O* V

+ v) z* w3 I& `& `. P( [    Public Shared Function GetUnloadOption(ByVal dummy As String) As Integer% L3 X: L2 Z5 l) n1 c2 Q6 i# ?: q
        Return Snap.UnloadOption.Immediately
: I" [4 M1 ]; N5 _/ D6 x    End Function, V9 _  R; c2 E4 q
# Q2 i$ n3 f! E8 `# z, G
End Class
3 l/ M% P* P2 P/ M2 |
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了