PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2017-1-16 15:27:51

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

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

x
通过对话框选择多个点实例
& X. c( U5 N) D5 P7 d
% v6 e6 f7 Q, ?* N: G  c* N6 x7 c
: W3 Y) m, _1 @9 w! xOption Infer On
; `) Q% Y( U4 p' hImports Snap, Snap.Create
0 l, t/ b) t2 C8 z/ R; n$ m/ ~( `8 u+ q5 N& T" \
' This is a very simple example showing you how to use a Snap.UI.BlockForm9 }% ^4 c3 D2 {: M& q0 C& e$ E
' to create a dialog that enables the user to select multiple point locations at once.
% V& h$ n! s1 E' h6 g# K! R" b. v. q* f: E$ Y$ ?$ l
Public Class SnapBlockFormApplication2 : Inherits UI.BlockForm4 F* K4 u3 R% h

0 R9 c. y7 I" w5 D7 q    ' Declarations of the blocks on the dialog. E& t' S6 g1 A, E

/ L" [/ X* d0 l    Dim ptsBlock As UI.Block.SelectObject3 w& r* n# f( }2 q+ H5 f

7 g4 H- L9 C: L3 ]    ' Constructor for a dialog object; U9 u. Y/ a- t/ R+ F  K
    Public Sub New()( s  C4 ]5 k! w) b4 u/ L

# ?8 D6 l5 u4 N3 ~( K: f        Me.Title = "Select Multiple Locations"  ' Text to be shown in title bar of dialog
- c( m/ R7 h* M+ h" b        Me.Cue = "Please select some locations"   ' Text to be shown in cue line3 g4 q: M0 t0 q
! D2 q+ |$ J: S: j- }1 R' ?
        ptsBlock = New UI.Block.SelectObject+ t+ j1 D% m+ x5 Z' l1 H6 m, J8 C
        ptsBlock.AllowMultiple = True
( L; B1 X5 H% Y" n) Z( P4 ]* t        ptsBlock.MaskTriples =
. l: Z2 h) n- H2 C1 `. D( d* c+ O3 X            {New NXOpen.Selection.MaskTriple(NXOpen.UF.UFConstants.UF_point_type, 0, 0)}
7 i7 W1 y8 p3 J3 k7 Y! B0 u7 B3 _        ptsBlock.LabelString = "Select locations"
" c. J4 r4 f! h7 O$ R7 F9 A        ptsBlock.PointOverlay = True
5 a* {8 |) ^2 l6 k8 n# I4 u2 g9 o3 v& ]        ptsBlock.SnapPointStates.SetAll(UI.Block.SnapPointState.Selected)
$ F: H6 G. L. b% Q7 V        ptsBlock.MaximumScope = UI.Block.SelectionScope.AnyInAssembly
1 |5 g. `& W% }# }
' n$ \2 W# t  C( m7 A# l        ' Add the block to the BlockForm
; d. y* r, w! O7 n        Me.AddBlocks(ptsBlock)% n" D; p/ V9 b" Z
1 g) b" F  W. Z& ^
    End Sub. m( g/ N& W$ x

% F- \/ {3 l# f8 c/ c  X. P    Public Shared Sub Main()
7 A" {8 i, ]2 Y2 H9 K2 ~& d
8 `0 ?+ A* m3 q4 h+ U: b        ' Create and display a dialog
+ p6 z/ A2 ^: B+ {, z4 p        Dim myForm = New SnapBlockFormApplication2()7 ?) g( V8 V; q6 {$ F( j8 f7 M
        myForm.Show()
) g' O! v! ]+ `  e; L8 `4 H. Y2 N' e  T8 i& K9 u3 Q, F9 y
    End Sub2 v& O1 s% |. u' \
! r9 ~4 v; l/ r2 T. \, g
    Public Overrides Sub OnApply()
8 |  b; f& m, a; p2 Y5 [6 x+ j
        InfoWindow.WriteLine("You selected these locations:"): K/ f: j9 c* w, L, {2 X

" f' c7 w7 |1 \        For Each anObj As Snap.NX.Point In ptsBlock.SelectedObjects
/ O# i- X; U6 S8 n$ ^! e8 a( J6 B            InfoWindow.WriteLine(anObj.Position)
. f' i3 X3 L5 H7 V( p. `        Next
* T% F+ O$ f& G4 ~, z! w$ K0 Y0 p( v1 Y+ g
    End Sub/ F& A0 D: y( H, k* |: }: {

' B; E- i; q* r2 A    Public Overrides Sub OnUpdate(changedBlock As UI.Block.General): l" B3 ^5 ?9 I. u

1 b$ X  L1 w) J8 t1 K* o7 `9 |. a        ' This is going to be annoying so don't really do it!5 Q3 N5 Y: V: [* u0 q+ {; n  N
        If changedBlock = ptsBlock Then. m7 Q7 f" k  A8 V$ i
            If ptsBlock.SelectedObjects.Length = 1 Then; U: z+ B: ?' U# ?
                InfoWindow.WriteLine("You picked a Location")0 {" \  Z* |1 d8 s0 ]; t
            Else! ]: W# }. ^3 r8 c7 l5 `
                InfoWindow.WriteLine("You picked another Location"), h0 B+ }6 ?5 ^2 t$ T: X% N
            End If+ I. T; |/ A, q# ~
        End If
& C$ q* J1 e1 f5 X6 R
& Z, S. y; i) k- I: X    End Sub
8 D9 x7 V! S8 j* o2 v! I+ u* F1 v7 m  l% W
    Public Shared Function GetUnloadOption(ByVal dummy As String) As Integer
( m' @& L' X6 j0 |; U        Return Snap.UnloadOption.Immediately; I$ H8 g6 D' f6 Q/ B5 c( v4 X
    End Function
9 L) I- Z: R: b5 c3 A: R
0 u: P/ G$ e0 b/ d& LEnd Class
  Y% Q  c. o: l
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了