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

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

[复制链接]

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

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

admin 楼主

2017-1-16 15:27:51

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

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

x
通过对话框选择多个点实例' S: ?1 r5 @( {0 N+ P
" r1 N* V0 P! N

5 t! p( `( j+ ~; @; c( [Option Infer On
' _) w: O0 _7 h: I5 k6 v: hImports Snap, Snap.Create
5 V4 G& i% @+ ], [+ l
6 \7 u1 Y+ C; V' t' This is a very simple example showing you how to use a Snap.UI.BlockForm
: g- G( Y$ n, L: R- B) V) n' to create a dialog that enables the user to select multiple point locations at once.
8 W/ s& T4 F" ]% U% Q! _8 q1 b
# ^5 z/ x+ u; iPublic Class SnapBlockFormApplication2 : Inherits UI.BlockForm0 @! v, w  r. R) J9 ?- M6 [8 U$ ]

+ C% N2 N8 e; {, ~7 b* t    ' Declarations of the blocks on the dialog( F  J* [% E& m/ C+ I2 Y
8 ]5 I' [; p8 N. u0 G( i8 t
    Dim ptsBlock As UI.Block.SelectObject
9 |  r; Y) d3 q) s; |9 U: F7 R' _. H3 u) k# W' t1 ^
    ' Constructor for a dialog object. z$ l' g# l: E
    Public Sub New()
$ @3 M2 m( x* w$ U+ h: {  Y
( o2 F, k1 W3 Z6 R, N0 ~        Me.Title = "Select Multiple Locations"  ' Text to be shown in title bar of dialog
( O1 f' C4 n# `7 }- k( b        Me.Cue = "Please select some locations"   ' Text to be shown in cue line
' m1 l' y+ B; p+ V6 I! @0 m  {0 L. Y. B. v5 `$ O2 n" k2 }
        ptsBlock = New UI.Block.SelectObject
9 r1 o) _# @/ H0 O        ptsBlock.AllowMultiple = True7 V9 ]/ {+ N% b6 S) W
        ptsBlock.MaskTriples =
6 b2 i6 d! p' |/ `1 {            {New NXOpen.Selection.MaskTriple(NXOpen.UF.UFConstants.UF_point_type, 0, 0)}
2 B5 q# G+ l: }6 P! y/ P        ptsBlock.LabelString = "Select locations"" m% A* s! [1 F3 ]2 T
        ptsBlock.PointOverlay = True5 k9 N) h" _7 B+ L5 A+ n
        ptsBlock.SnapPointStates.SetAll(UI.Block.SnapPointState.Selected)
; W$ L2 G0 d) e% o$ t/ ]        ptsBlock.MaximumScope = UI.Block.SelectionScope.AnyInAssembly9 T# \, T/ l8 k5 O- [+ U. p
! X4 R1 S6 A- T  ]; `
        ' Add the block to the BlockForm
4 V1 Q# z" V5 R4 h5 M: r        Me.AddBlocks(ptsBlock)
) Q5 ^7 A! a  p+ T
, ?  k$ n& k: _" ^" E    End Sub
' I  K' M+ O! N4 z8 m; x" U, z
- z3 y& T' p7 S0 ?! g* u1 |    Public Shared Sub Main()) b2 O' t6 H% A/ A2 L

! W& z( ^: R  @4 t. E6 r. G        ' Create and display a dialog
7 U* b, I4 t3 z        Dim myForm = New SnapBlockFormApplication2()
& P7 _8 v: |3 u& l: N$ z6 c0 D        myForm.Show()0 r# h3 [6 F7 T( G0 J
6 Z4 c: E& F( V
    End Sub
( @& T+ y+ u8 K1 R2 z" f4 Q- y. b( s  L! a" p
    Public Overrides Sub OnApply()
  p. D8 I2 g. _: n. h
4 t4 @' f; c: G7 X2 c        InfoWindow.WriteLine("You selected these locations:")
2 g3 h# l0 m0 _  t
+ A% H) B$ }8 P3 y- j        For Each anObj As Snap.NX.Point In ptsBlock.SelectedObjects( `) E' O3 E: r" r  f. `
            InfoWindow.WriteLine(anObj.Position)3 {2 W. c% i* \$ k8 f% l
        Next
6 Z% |+ X9 Q' y  E3 h+ f6 |, Q9 }' Y
    End Sub; q, k5 O# d+ Z/ q, U
+ w$ s+ r3 J! f4 f1 G
    Public Overrides Sub OnUpdate(changedBlock As UI.Block.General)7 F( {, M; `* T- @9 l

0 ^$ c0 T8 l3 f, i" I) I7 q: D0 F        ' This is going to be annoying so don't really do it!. v9 g  d2 ~  g' `& Y
        If changedBlock = ptsBlock Then! m& I: R6 S; _) b* g. d
            If ptsBlock.SelectedObjects.Length = 1 Then& m- o, v! Z. N8 j
                InfoWindow.WriteLine("You picked a Location")2 ]# M  W/ v" a$ V, A" z$ j# m. m
            Else; ?/ g) M! S+ `% `2 c  [
                InfoWindow.WriteLine("You picked another Location")
+ B# k7 U6 A1 T( A0 [* z            End If
  Z3 @8 ~) L7 R8 X# L7 z9 N" L2 N1 `        End If  F& a6 R) R& \% R2 H

' [: W+ z! A1 n  }# {    End Sub
: I) t' `1 ^) F9 Z1 j* m
) I  ^2 i6 o' E0 w    Public Shared Function GetUnloadOption(ByVal dummy As String) As Integer
6 j0 ~5 p/ D6 ^. W0 S% C        Return Snap.UnloadOption.Immediately' G6 ~5 U: `5 B- c% @2 V
    End Function
8 G: G  @4 b) y0 p. E
- j* _1 |8 m% s. U3 g+ _  Z9 l# o2 XEnd Class
1 e: d) z! {9 Z* k; Y- J4 e
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了