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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
通过对话框选择多个点实例
+ g( R7 ]3 a0 }9 F: j
' q  R8 V1 O5 `9 r1 _  w
4 j. j* v8 t9 T* B3 kOption Infer On
4 H! |* Y8 t. G, i+ [Imports Snap, Snap.Create
# ^7 O. }1 W$ P, }9 D! ^8 @0 V/ t0 t8 V. v; k+ w3 P
' This is a very simple example showing you how to use a Snap.UI.BlockForm. q' G- y0 O" ]- T4 ?4 [$ F
' to create a dialog that enables the user to select multiple point locations at once.9 V0 Q, a1 ^1 w+ _7 h
& G0 k8 s6 m5 _# t5 ^0 L$ b
Public Class SnapBlockFormApplication2 : Inherits UI.BlockForm
/ n! x. w& [' m3 b0 g2 f" ~# L& H& g$ N5 U
    ' Declarations of the blocks on the dialog0 D: N, R  Q% @* J% N

- z; `5 I+ {, @3 _6 ?, d1 r    Dim ptsBlock As UI.Block.SelectObject$ v& k8 G! r8 D' l7 c7 w5 B# f

( V7 H- I& K5 X/ a0 H: Z+ s    ' Constructor for a dialog object' I% N5 ^3 X5 p2 x) K  H
    Public Sub New()- k0 v  B1 R! {

! p7 L% ^+ r# F' Q6 M        Me.Title = "Select Multiple Locations"  ' Text to be shown in title bar of dialog+ _( M+ s* N9 x" b/ y1 }% x' w
        Me.Cue = "Please select some locations"   ' Text to be shown in cue line+ l$ j1 M: {( N( z- f- ]. U

& H3 P* d/ ?. ~' ?' s        ptsBlock = New UI.Block.SelectObject' J2 ]7 ]8 U6 U. {7 P  }9 W
        ptsBlock.AllowMultiple = True
# Y$ l8 t9 j5 X! H; i        ptsBlock.MaskTriples =
/ `. C3 U' X1 R" [! F8 o            {New NXOpen.Selection.MaskTriple(NXOpen.UF.UFConstants.UF_point_type, 0, 0)}
9 I; `& r8 o, M4 @: l) }; F        ptsBlock.LabelString = "Select locations"
( O2 s  X3 {( I( C# y7 w; z        ptsBlock.PointOverlay = True& c6 R+ U% l% o2 f1 \8 a
        ptsBlock.SnapPointStates.SetAll(UI.Block.SnapPointState.Selected), B. c7 t7 x% ~, V
        ptsBlock.MaximumScope = UI.Block.SelectionScope.AnyInAssembly5 _9 G& ?+ l" R& ~+ o; b
8 i) l5 H; R% I3 B
        ' Add the block to the BlockForm: a% m: j+ F3 q/ \+ u
        Me.AddBlocks(ptsBlock)4 S" `7 z3 Q0 R# `

, M! S) y5 Q4 b- e) L3 D    End Sub5 A- ^3 Q9 H+ Q: S5 {: K5 c& S' O

) H. S, L, ~" E: h" N1 k    Public Shared Sub Main()
% l! e; w% t( a: {6 r; V" \. c3 ~, c3 h( ]
        ' Create and display a dialog
4 M& l5 q0 O, r        Dim myForm = New SnapBlockFormApplication2()
: y; W* c6 F+ U; i+ ]        myForm.Show()
( [$ f3 l2 e, F, R# u+ }5 T1 {/ M: r! P+ H/ A: |
    End Sub5 }3 i% n  H  o& g6 X3 o
: f  I/ y9 C, W/ ~* S
    Public Overrides Sub OnApply()9 `) T9 L! q7 B* u* T! j
, _: e9 a% n- f
        InfoWindow.WriteLine("You selected these locations:")9 ?0 q! f- e* m3 m4 o# }
2 t* C* O! I$ j! [/ i
        For Each anObj As Snap.NX.Point In ptsBlock.SelectedObjects
$ X1 g) I3 b  W( x+ S& a2 I3 T            InfoWindow.WriteLine(anObj.Position)
  }* S. h, O* F( X3 J        Next
4 r1 s7 M" z" @# O8 I+ q! Q3 v" [3 j8 P5 f
    End Sub
# ^$ B) l3 s9 s" h
; Y1 C1 ]$ q9 Z. Z& W+ x    Public Overrides Sub OnUpdate(changedBlock As UI.Block.General)8 P+ z: _6 T1 ~" f# H+ k: ?- ]

! D1 N0 S. w) l, l2 _: ~2 o+ x        ' This is going to be annoying so don't really do it!
, B2 _* I% h* r* X! J3 X        If changedBlock = ptsBlock Then
- ]5 I. T  Y# a            If ptsBlock.SelectedObjects.Length = 1 Then- u/ ^. g, U' M0 s
                InfoWindow.WriteLine("You picked a Location")5 }, A9 E; T/ B$ [9 Q
            Else* j5 y4 u6 J' F2 O$ {- J
                InfoWindow.WriteLine("You picked another Location")$ y+ g9 O( H8 v8 j& R7 L
            End If
% B/ Q% N1 ^+ M/ f" A: `: o        End If4 v0 d: A: F6 f% R5 {/ ]

1 G* }* V  z; S0 T0 W    End Sub
: S9 g) G. r- K/ B4 M' h( h0 X* d: B: V, i/ \
    Public Shared Function GetUnloadOption(ByVal dummy As String) As Integer& H$ T  A( T1 r: k  q: ]
        Return Snap.UnloadOption.Immediately
0 C( ]* i5 U# M! q7 g5 t5 V; e    End Function% v; A2 L1 r- C% E
# ^1 {0 p) r, {+ W. _0 a) M
End Class, i% Q( i4 k: T5 l/ s) F6 ?
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了