|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
通过对话框选择多个点实例5 B! X/ _, A6 C% c
/ X8 j6 v& _ k& M2 v) M: r& X6 N2 `; j9 j
Option Infer On/ m/ }# o; N/ J
Imports Snap, Snap.Create [6 C. N; ]5 [6 k
2 ?; A% H* Y' a/ N& u2 K) M' This is a very simple example showing you how to use a Snap.UI.BlockForm
, Z* X' C2 ~$ }# M' to create a dialog that enables the user to select multiple point locations at once.& Q X, N# ~5 F
) p7 d2 [/ n* h4 U+ a& ^% ?$ o
Public Class SnapBlockFormApplication2 : Inherits UI.BlockForm/ O5 R8 J/ U( y/ q p
4 J! _ A- \! g. b5 l ' Declarations of the blocks on the dialog
. r2 H, C7 F3 ^; t4 V4 F0 V+ T" s& g9 i, P4 D5 n) T: j
Dim ptsBlock As UI.Block.SelectObject
- o+ ]6 O. M, x
0 }' z* M- n( I, S9 i2 e1 ^" [% s ' Constructor for a dialog object" b0 r/ b( K" g7 A3 ]- b
Public Sub New()
" A/ f e* ~, J* k
; U! K, z! G8 G0 B- y Me.Title = "Select Multiple Locations" ' Text to be shown in title bar of dialog
% _& Y0 {7 \' }; R( F Me.Cue = "Please select some locations" ' Text to be shown in cue line/ X1 m0 `: E ?) k3 L$ w$ `2 r4 z
2 O+ Q: u5 U; i+ I- h2 K
ptsBlock = New UI.Block.SelectObject$ j; u# i" l7 {, K3 V5 K& d
ptsBlock.AllowMultiple = True4 ]4 d5 d3 `" @0 F
ptsBlock.MaskTriples =
- a) \' p+ d, G- x7 Z7 z# f U0 N {New NXOpen.Selection.MaskTriple(NXOpen.UF.UFConstants.UF_point_type, 0, 0)}) h0 M/ y& N8 _ k& e
ptsBlock.LabelString = "Select locations"+ I# |2 ?2 H3 D$ ]5 D# G4 f
ptsBlock.PointOverlay = True* r) w! e" K1 b$ S; E$ T# z/ b
ptsBlock.SnapPointStates.SetAll(UI.Block.SnapPointState.Selected)
- @ Y! E& \/ {" Z1 C2 O, P0 w ptsBlock.MaximumScope = UI.Block.SelectionScope.AnyInAssembly
# g: n6 i. D; A: H1 ]
9 n" [9 r B" i ' Add the block to the BlockForm
3 G% t& Z, ?: j Me.AddBlocks(ptsBlock)5 W, a0 N: @5 J6 d z( @
& A `" z6 L: P+ V
End Sub# n9 v) v8 t( R# J) P7 |+ B+ G' W
$ C( ?5 Z) m! M+ C; x2 t9 I5 S$ C Public Shared Sub Main()6 W. i1 \/ F- q) C% h0 w/ C" ~- R
7 k, H* p3 Y4 _7 m7 F/ V8 C( U: W8 H
' Create and display a dialog
) c# E) G& Q/ |; h- b2 P1 t Dim myForm = New SnapBlockFormApplication2()
' O( r4 I4 v2 q0 R5 S. n( d myForm.Show()
9 D/ H% Y' b/ g
1 S& O3 F, o! E4 @ End Sub* J v* U. U- }0 Z& j
9 r( T2 D% e6 G* y8 u3 r
Public Overrides Sub OnApply()
; u5 D, ^% ^5 w8 M. p8 r
* o' M+ E5 J4 b+ F) m InfoWindow.WriteLine("You selected these locations:")* ]- k/ w, u6 H' Y
: i& i' h. ?% p4 G) K) E0 [2 ]
For Each anObj As Snap.NX.Point In ptsBlock.SelectedObjects
2 E) Q. p: O; R& R+ h InfoWindow.WriteLine(anObj.Position)* C9 x, W1 U' a1 c# u
Next
- t$ ? H* N7 j `
& \' A! ?6 G0 Z End Sub! A/ V% Q# H' N' A- B3 Q
8 y/ t9 O: E% B( k y9 W Public Overrides Sub OnUpdate(changedBlock As UI.Block.General)7 ~ Y5 X2 ?' \0 o2 k6 f, w
0 q( k, T9 g" m' j
' This is going to be annoying so don't really do it!4 ]/ p3 I6 w! k+ X/ O
If changedBlock = ptsBlock Then3 w3 V1 o6 C8 D+ ]/ a
If ptsBlock.SelectedObjects.Length = 1 Then- I# Z. u3 K" M d! l9 m
InfoWindow.WriteLine("You picked a Location")
5 h; \% B. T& d* O4 d" D% M) ? Else
7 V. u; w& `9 j: c& x/ H InfoWindow.WriteLine("You picked another Location")
7 g4 N5 _% i. Y+ H) \. S. H End If
6 U% m$ Z M2 \! w End If- G9 c3 _. s; v+ ~* N. L
+ m. D1 x( i% _3 I End Sub" ^9 G& M" v$ x7 T b/ b
7 ^2 g+ Q/ ?5 W+ f n. O* } Public Shared Function GetUnloadOption(ByVal dummy As String) As Integer- l: J6 a4 |- I: _ M: m
Return Snap.UnloadOption.Immediately+ k0 v# K3 R8 q- U" x
End Function* [8 W/ S" Y9 I) K( Q
2 a4 V- O! h4 l# D$ `% N: jEnd Class7 C8 [; ?" t) T+ Y- W# ~
|
|