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

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

[复制链接]

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

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

admin 楼主

2017-1-16 15:27:51

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

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

x
通过对话框选择多个点实例
! k3 i, n- N" \
4 j/ ~. e; W7 Q# r
3 b: M8 ]( q- R" q' H8 ROption Infer On
- t  F( W  U2 Q$ w4 xImports Snap, Snap.Create
$ K+ r+ B! H- u$ n7 D
( @  a) t" k% _+ V6 Z' This is a very simple example showing you how to use a Snap.UI.BlockForm3 J* ~2 G* I5 e
' to create a dialog that enables the user to select multiple point locations at once.
6 ?0 G. M  G% \* I
. R4 {: ^% H0 c5 Z1 n: t, U. uPublic Class SnapBlockFormApplication2 : Inherits UI.BlockForm
" {) W6 T& Z& b+ t+ f7 Z8 m$ i
6 f8 ]3 k' A' W% u. c9 z    ' Declarations of the blocks on the dialog) i; `1 b$ j" e9 \; Z" }3 H

9 T6 R2 @3 x4 t/ n; n  q0 g    Dim ptsBlock As UI.Block.SelectObject  r) V& W1 `6 ?6 _1 a+ l

( b& q6 t3 P, |6 G    ' Constructor for a dialog object
' v4 G& s: z9 @: }0 t# P6 ]    Public Sub New(). n! F3 K) c, ~* |; j; z& v

- G9 B& _8 ?& R! C1 j( e8 ^6 C        Me.Title = "Select Multiple Locations"  ' Text to be shown in title bar of dialog
6 f; A8 p/ D! W! n" z2 ~        Me.Cue = "Please select some locations"   ' Text to be shown in cue line
% u  N, c1 x% W9 O2 y+ ^7 Y
- Z/ H% Y, ^8 |" r' T3 ]' z        ptsBlock = New UI.Block.SelectObject) l0 h- c# Q$ o/ t8 K% h
        ptsBlock.AllowMultiple = True
5 i3 t  e. s4 j9 w        ptsBlock.MaskTriples =* v) M* [9 Q+ D9 m4 y. c$ f
            {New NXOpen.Selection.MaskTriple(NXOpen.UF.UFConstants.UF_point_type, 0, 0)}8 E* }( r+ {. L8 L, z& ?
        ptsBlock.LabelString = "Select locations"
7 ^4 V, {9 T( z) N, ?0 [2 n        ptsBlock.PointOverlay = True
5 r- r9 ^( V6 c) `/ v0 J9 F        ptsBlock.SnapPointStates.SetAll(UI.Block.SnapPointState.Selected)! {0 u3 ?1 f  w2 d) U5 A
        ptsBlock.MaximumScope = UI.Block.SelectionScope.AnyInAssembly
. O1 D9 `$ K/ {2 p, l/ P. N$ l. Y6 |3 _  F8 R
        ' Add the block to the BlockForm
' H* W5 a* x+ Q/ J( k' X. y        Me.AddBlocks(ptsBlock)
1 \6 ^4 r  i0 x% y  s% t- {$ |+ t2 [" {3 ~+ z9 Y' X
    End Sub' `) \' u$ J& K5 b  r

$ M1 l# y" U9 k+ U$ ^+ l+ I  E    Public Shared Sub Main()
' s- G6 u0 g$ C& g7 v' l& |- I) H# }& ^4 w! ?0 b9 z; L
        ' Create and display a dialog
7 {9 z, w  z. g7 [        Dim myForm = New SnapBlockFormApplication2()0 W: r7 B% ^) G9 h  y
        myForm.Show()
# K: d: ?8 d+ E) I. P
  V/ a. W4 o0 P6 J4 w8 i    End Sub
7 u- ^! L+ A( U4 c7 l7 {3 }" G0 R5 v4 X
    Public Overrides Sub OnApply()
: w  N' b0 E6 N* u% Q8 r# g5 b% F: Q; f9 w
        InfoWindow.WriteLine("You selected these locations:")
* |/ `" P' f( v% b+ O, Y
7 N  y( d( a6 X. u+ D( H* G: N' ~        For Each anObj As Snap.NX.Point In ptsBlock.SelectedObjects4 ]/ s0 |- }& ]. y0 L: J
            InfoWindow.WriteLine(anObj.Position)
  |; I! F, \  t0 o        Next2 U4 {* k/ Y& T( b, M; v+ I1 p
( I4 p5 L. g. p2 ]! i4 X' |  b
    End Sub
" D7 }; e# e" u" k2 x& u: G  P' o
    Public Overrides Sub OnUpdate(changedBlock As UI.Block.General)7 J2 N: M1 [- i9 \4 B
1 m9 g8 l# I% c
        ' This is going to be annoying so don't really do it!* I- X; {. @# _, Q3 H- @
        If changedBlock = ptsBlock Then
4 X6 S% d$ N# {. @            If ptsBlock.SelectedObjects.Length = 1 Then
+ Y: Y1 P7 e' k                InfoWindow.WriteLine("You picked a Location")
/ N/ P" P+ ^( d5 c* u% i! g1 B4 D            Else
# c. U  n2 ^7 k* z                InfoWindow.WriteLine("You picked another Location")9 F5 ?, Q6 f) F, y
            End If
$ d1 e+ k# ?( F1 u) D8 ?. N        End If
8 C! i' ?9 }& q6 Q+ R
$ Y2 a) E4 t# U0 g# K) g2 E    End Sub
, O* X) G! P3 b& e
" D* ]7 @" ?& @+ _9 f* k/ x    Public Shared Function GetUnloadOption(ByVal dummy As String) As Integer+ _1 z' I* p( G5 f" K6 X4 a7 G
        Return Snap.UnloadOption.Immediately
& [# a  N- M' g: g    End Function# H- O4 i, r6 B. r; P( u- I2 O. C

$ v0 `( G# e2 P6 l: O4 v; CEnd Class+ Q# o  N- F. c! r
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了