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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
通过对话框选择多个点实例2 J6 K. x5 u1 U! W9 Q. D3 ?
+ k7 A# P+ y# z
  d, V% `+ M4 ]& C+ T: Q: k6 o
Option Infer On* ?8 s  N3 o- H3 F. U+ {
Imports Snap, Snap.Create
* [9 B& ?! C' P1 y. w( B1 J
9 ?) I3 o% g+ x0 t- M' This is a very simple example showing you how to use a Snap.UI.BlockForm" C! Q0 u, A$ ]2 A4 `( o0 ?) c
' to create a dialog that enables the user to select multiple point locations at once.
8 o. y! r: Q0 G# b1 U+ f
9 l+ h% C# m6 O! }1 LPublic Class SnapBlockFormApplication2 : Inherits UI.BlockForm! ~  n( T2 i6 C% J& k

! E0 n$ h$ g  `. I+ j    ' Declarations of the blocks on the dialog/ M. e1 u5 ]# ]9 w2 C  [- S. k

/ b, v# T* ^( K9 o0 I+ d% T    Dim ptsBlock As UI.Block.SelectObject0 l% }. u! G4 Z1 k$ L6 T
: A# K6 v. G3 `" _; M
    ' Constructor for a dialog object$ i/ z! V6 W3 s( x. k1 ^, d) T6 f
    Public Sub New()
  O5 {' ?+ h3 ~2 E* A7 @
( K9 R8 ~+ c5 c; I. r        Me.Title = "Select Multiple Locations"  ' Text to be shown in title bar of dialog
8 o5 d$ m9 f2 S6 l; ]6 g6 n        Me.Cue = "Please select some locations"   ' Text to be shown in cue line
6 ?: i. q0 S9 @0 `1 m% a+ `9 y' @* u/ c' ]2 M/ u1 U" L
        ptsBlock = New UI.Block.SelectObject
  s0 j# N) O' D2 s2 e5 R; v        ptsBlock.AllowMultiple = True
% x2 U* N. K9 L; [- \- y        ptsBlock.MaskTriples =7 w' ]/ V; Q6 H* H
            {New NXOpen.Selection.MaskTriple(NXOpen.UF.UFConstants.UF_point_type, 0, 0)}: `, p- \8 _7 G8 H3 n
        ptsBlock.LabelString = "Select locations"
; x  J; R* b( {0 d5 T5 D        ptsBlock.PointOverlay = True
" n0 e( X2 [/ Z- t$ h        ptsBlock.SnapPointStates.SetAll(UI.Block.SnapPointState.Selected)
5 K6 D; F: m! D2 n1 A/ |! \0 l1 m9 z        ptsBlock.MaximumScope = UI.Block.SelectionScope.AnyInAssembly4 `3 ]5 x' A$ T. W* _7 c

+ e- {! I/ h0 L* b, b        ' Add the block to the BlockForm' w; E# |( z( d! \- _* N; y1 w
        Me.AddBlocks(ptsBlock)# ^* k; i+ N- r5 w8 E# m0 B+ G

* E1 g3 z& V1 D0 i    End Sub. ?- U* p0 A1 P- t: K! \- P

0 b% l; e6 ]+ \  m0 a0 G    Public Shared Sub Main()3 F$ c1 g  h/ t  k0 S0 ?: ~

* d4 k( O  _. w) k        ' Create and display a dialog
% U# b7 |' F+ W' N8 R        Dim myForm = New SnapBlockFormApplication2()0 Y5 r- A- U- f, k" A
        myForm.Show()6 B+ i* g; j0 x" W

1 L5 }  m9 }2 a# [8 o! O* v    End Sub
- `6 ^: L6 L$ I- }8 s
" n4 j" r( r5 k5 A2 p    Public Overrides Sub OnApply()4 {7 p8 p5 T: D3 P. ~

: S  v3 S: n4 W% r' e6 e        InfoWindow.WriteLine("You selected these locations:")
4 _: X2 Z/ O; C$ @; K; ~& I. v# X, |; G: _3 X8 H, P
        For Each anObj As Snap.NX.Point In ptsBlock.SelectedObjects7 H; Y( _8 B. A3 J7 _& c! d
            InfoWindow.WriteLine(anObj.Position)
1 W7 P* D/ {# K4 f        Next
0 h; B7 v+ W, Y& w; g1 a! M- G2 t4 E$ w
    End Sub
' K; w- d2 y6 ^: e, d1 s: ~, {0 n% ~# C) h) [; p
    Public Overrides Sub OnUpdate(changedBlock As UI.Block.General)
; _2 E6 N4 W3 H; w4 t! p, }! x8 d' Y0 h: ?' X4 H) [
        ' This is going to be annoying so don't really do it!8 e8 l( ]" L9 g% J: W  ~5 T
        If changedBlock = ptsBlock Then
0 B- g0 v* Q# t! I. F            If ptsBlock.SelectedObjects.Length = 1 Then! I& O  V  ~/ r2 R& i
                InfoWindow.WriteLine("You picked a Location")
, D' J) q) |1 x# R8 T            Else
4 r; a+ j3 I- C8 |. `                InfoWindow.WriteLine("You picked another Location")
4 _- k4 g* P4 q  v1 Y            End If
: C. L1 P* ]7 }        End If
; A7 O' _8 W& x2 f; r$ a9 H; e- e4 t7 {
    End Sub# f+ [3 O; C+ {& `6 }. }

0 c8 G# s3 l- u6 ]$ M9 P; n4 x    Public Shared Function GetUnloadOption(ByVal dummy As String) As Integer
7 W3 H2 Y3 ^5 u+ W' q6 C+ h8 r        Return Snap.UnloadOption.Immediately
' c6 [) @% ~0 k9 K% x) i+ e1 b    End Function
8 [$ f2 M2 I2 \# X+ ]' X- `2 ^4 y' n0 t
End Class
. |8 d- M* T  T7 m
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了