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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
通过对话框选择多个点实例
6 N* U. m2 e' b5 \+ r
# j4 P, o; p' a% V) B
2 x/ d  V5 n, _! j; G# hOption Infer On+ V; @6 Z* I# @2 h. X! p/ W. G
Imports Snap, Snap.Create4 x2 W# G" n* ^4 g3 F5 y9 E
; N7 o3 {/ g& n5 c( X- N) e0 [
' This is a very simple example showing you how to use a Snap.UI.BlockForm
/ p9 \2 _& A" b- |% g( n' to create a dialog that enables the user to select multiple point locations at once.# K& |. Y& r6 n# Q* y- \

- X6 F  @4 |$ B2 K; ^Public Class SnapBlockFormApplication2 : Inherits UI.BlockForm( V: {  w1 }6 d2 Y, Z' [
) s( T. u" C5 ]5 J, H7 A4 n
    ' Declarations of the blocks on the dialog  m( U4 l6 X* @* t8 p

$ F: s7 G& a8 p& s5 L- n" d! n  V    Dim ptsBlock As UI.Block.SelectObject/ }. W6 f9 x' N- G8 y
4 B! |  u& z( K& e5 V2 m
    ' Constructor for a dialog object+ I- P$ t( g  H: q) M+ J$ r
    Public Sub New()
+ }# Q9 b) V, D. D3 k% `7 a" x8 n: I* M9 H4 [  D  X3 a
        Me.Title = "Select Multiple Locations"  ' Text to be shown in title bar of dialog
: W$ S2 s& v0 A5 Z# U8 \0 z        Me.Cue = "Please select some locations"   ' Text to be shown in cue line( L5 t8 Y* q- j2 f
9 j- y* g9 f" {2 @: n/ H. Z
        ptsBlock = New UI.Block.SelectObject
" l6 {! L: F) j5 a        ptsBlock.AllowMultiple = True
' b  M1 ?* g4 O        ptsBlock.MaskTriples =  C& j& |, L! `( y
            {New NXOpen.Selection.MaskTriple(NXOpen.UF.UFConstants.UF_point_type, 0, 0)}
8 m( S/ Y0 G) ?' @9 S9 t5 z        ptsBlock.LabelString = "Select locations"
( t& }6 P3 F1 k. Q& \        ptsBlock.PointOverlay = True
  L8 u- [+ `9 Z) R8 L# M& @        ptsBlock.SnapPointStates.SetAll(UI.Block.SnapPointState.Selected)- w0 I# j6 Y5 o( q6 E* R* w+ G5 x
        ptsBlock.MaximumScope = UI.Block.SelectionScope.AnyInAssembly0 m6 Z/ u8 B& Z2 S% @

0 @  z$ Q: @0 B4 i/ e! b        ' Add the block to the BlockForm' h, i: f5 D& x( |. [4 m
        Me.AddBlocks(ptsBlock)4 C6 _1 s/ F: G- q

$ K5 d) v8 @) F: t1 E; {( [    End Sub
5 M& e$ Z$ k+ c/ R8 t
! E4 b7 _; i$ K* B$ A9 B$ k    Public Shared Sub Main()
- e) ?: m% a7 p/ M8 x$ X- e
% _# f- F% x5 c        ' Create and display a dialog
' M; a' H0 s' N: f5 k/ l& i3 n        Dim myForm = New SnapBlockFormApplication2()" V5 B! c# G! g  v' [6 N6 k" w1 }
        myForm.Show()
* z' N9 l3 j$ H, X  U8 P4 f9 p, m8 R
6 j/ ^1 f) w& R, x/ n    End Sub' Z( Z0 u" D, N. }) ^5 K

2 X# T( B& ]- g: {) O8 Q6 Q# W& z    Public Overrides Sub OnApply()3 w8 T- P- u- x; `+ e- W- w/ I- {: K

. T& W3 w1 c: u" m+ }        InfoWindow.WriteLine("You selected these locations:")
3 R) S! E( s! N+ z) m% c1 `# y; o, P2 X+ j
        For Each anObj As Snap.NX.Point In ptsBlock.SelectedObjects; J$ z; s" J0 u1 @1 u6 N2 y% h
            InfoWindow.WriteLine(anObj.Position)+ Y# ]- r/ Q$ b: Q2 v) q
        Next
" ?5 f' p" i. H: `6 A
2 C" L% d: M4 \0 m    End Sub# ?$ i# k) Z, D* j/ B0 C" P/ E6 M- s
1 ?- j$ R- j0 ]. b; f
    Public Overrides Sub OnUpdate(changedBlock As UI.Block.General)
: F. Y6 \6 [/ P) }+ ^5 o/ T0 E, t' m9 w4 {' o3 k% P/ u
        ' This is going to be annoying so don't really do it!
2 k# T6 t- N! ^5 Z/ Y! M8 ~        If changedBlock = ptsBlock Then/ z- J' W3 O9 z, j
            If ptsBlock.SelectedObjects.Length = 1 Then
, h  |7 j* O8 f5 N! Y                InfoWindow.WriteLine("You picked a Location")
# D6 H7 C2 O& _            Else1 }) \  V7 \7 _
                InfoWindow.WriteLine("You picked another Location")8 y7 k: l- W1 J0 n3 F/ X
            End If
) }; e& `2 I1 s1 [2 b        End If) x0 w$ u& p4 J1 \5 y8 B6 y& L
* f2 l" h% G* f
    End Sub) u; ^0 K, t$ w" ]5 T6 z3 {  U& ]. Z
1 @) W' o, x- P% h0 G. k! g
    Public Shared Function GetUnloadOption(ByVal dummy As String) As Integer
) f. b3 b) u$ o8 y2 a' G7 ^        Return Snap.UnloadOption.Immediately
! L- H& F% Z/ R    End Function
' Y2 f9 i9 H# Q" G/ l4 Y6 h4 O% [4 ?: R; y$ |8 N$ f4 u
End Class
4 `0 j# }- Y7 H+ U) @
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了