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

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

[复制链接]

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

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

admin 楼主

2017-1-16 15:27:51

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

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

x
通过对话框选择多个点实例. p- x% j4 n$ @  Z9 o3 V2 M; l
) g' t4 x% M2 j) v2 Z

& w( R3 N/ v: N+ \1 g4 O& sOption Infer On
8 ?  R( x% ^. s6 M! eImports Snap, Snap.Create+ L6 O; {- u; w! ^
5 `: P8 S! g8 P# L" ^
' This is a very simple example showing you how to use a Snap.UI.BlockForm
* i2 ?" X4 \0 f- j- H' to create a dialog that enables the user to select multiple point locations at once.; Q# q1 i/ M# x/ z  \

* [+ o; @, }4 [Public Class SnapBlockFormApplication2 : Inherits UI.BlockForm
* ?, j) H( B; [1 j- w% h( O
) l" Y: U% `" m3 V) n# H; ?    ' Declarations of the blocks on the dialog, n6 [7 y; g. C  d8 P5 G
: S1 O4 F- c. R& z( I
    Dim ptsBlock As UI.Block.SelectObject, k5 \3 e% l5 j5 G( @5 k" W& @  T  [
+ q* t$ c- {1 v: l7 a5 @
    ' Constructor for a dialog object" ]6 i. Z4 ~/ v5 a( L6 o
    Public Sub New()' w/ R2 N! T1 s! ]6 D7 Q
. C" G1 s8 G' ~6 W3 m
        Me.Title = "Select Multiple Locations"  ' Text to be shown in title bar of dialog
- p. `# N7 f9 r        Me.Cue = "Please select some locations"   ' Text to be shown in cue line! U1 P  j& e3 E2 o

; e& m  T2 G1 _& m! P7 A+ A        ptsBlock = New UI.Block.SelectObject6 K# I; n; K: T5 p- \  D7 Y* e
        ptsBlock.AllowMultiple = True
( D6 H! q$ G4 Y6 n2 B        ptsBlock.MaskTriples =" B# p! I* d  T" U6 D: g
            {New NXOpen.Selection.MaskTriple(NXOpen.UF.UFConstants.UF_point_type, 0, 0)}
9 i9 c6 y/ N$ [* z' J2 ?4 K        ptsBlock.LabelString = "Select locations"7 i* t$ K* d# k
        ptsBlock.PointOverlay = True0 F7 c0 [7 M3 T4 d+ m
        ptsBlock.SnapPointStates.SetAll(UI.Block.SnapPointState.Selected); Q- Y( X& d- C5 y0 j
        ptsBlock.MaximumScope = UI.Block.SelectionScope.AnyInAssembly" |" b' k( T+ X5 l) v
2 u$ A5 X1 T. z. U
        ' Add the block to the BlockForm
: R# d6 T9 L$ v$ z6 O& P9 k        Me.AddBlocks(ptsBlock)1 r( N% o2 o5 C' X+ o1 J+ ]2 m
2 b3 i& @4 T1 n' G) r7 a8 w
    End Sub- s$ @; t4 W( `0 Y
* R( x& }0 Y, @7 [6 I& ~
    Public Shared Sub Main()
) }- r; }$ ^+ u6 p' m% q8 E" d4 Y5 y8 S4 g/ e# t) p+ e4 O
        ' Create and display a dialog
  p) t# Z2 E6 ?$ V        Dim myForm = New SnapBlockFormApplication2()2 D9 L1 F. c* C: @2 ^) F$ o
        myForm.Show()
. U& h* X  Q* g$ |6 U7 d% @* k$ @2 _* y" n1 i5 Q) g, r
    End Sub
9 L: S- u; a4 K: O) |% }
, e* r" G- W) q$ l6 _& @    Public Overrides Sub OnApply()
3 i) e8 s: \2 X& B8 T; m* u% q5 C5 f* Z+ d
        InfoWindow.WriteLine("You selected these locations:")
8 t% ~# b& q) t4 K3 `" Q2 e+ n3 Z. ^
3 Z1 [* V3 U! z  m$ e6 T        For Each anObj As Snap.NX.Point In ptsBlock.SelectedObjects# [+ X+ Q- C5 R$ O" C
            InfoWindow.WriteLine(anObj.Position)( m9 R% Z4 o8 n8 c4 y2 [5 a2 Y
        Next+ U* y, v" z! i% i. ]

0 y; E" ?: i5 c/ N" K+ z- n7 `    End Sub; R* \8 e2 J) E( A! d

. I8 {& j3 t- w7 n  y% f8 N2 i) M    Public Overrides Sub OnUpdate(changedBlock As UI.Block.General)
+ o" [5 S: f* |1 p$ l0 _+ V. g% b3 u* O
        ' This is going to be annoying so don't really do it!
: O6 s% p1 ^0 V& T( v, w& s$ U# N        If changedBlock = ptsBlock Then. K5 ^3 V% l3 d5 i% [- |+ C
            If ptsBlock.SelectedObjects.Length = 1 Then3 _# W, D" h$ ?' t
                InfoWindow.WriteLine("You picked a Location")7 ?/ U, A0 Y& m& u7 u: g% c$ F- @+ N
            Else- {) z! d2 s9 d: U
                InfoWindow.WriteLine("You picked another Location")' w# B! v/ R# A, f2 d
            End If
* o  M, e4 i$ O3 g! _* H8 C        End If
' O- F8 @# E+ s0 X. |7 z9 {0 D3 W
5 u0 I. C. g5 R8 j- U# f    End Sub( r  Q3 x" \9 i3 h, r
0 g$ n! W! |) ]2 [6 u( \3 K& u
    Public Shared Function GetUnloadOption(ByVal dummy As String) As Integer3 m) d# A: Z6 g* p/ o% F
        Return Snap.UnloadOption.Immediately
0 K( ]4 i" K3 N    End Function/ x- g/ U; ?+ _8 C
, n$ x, C3 }4 [
End Class; W. ~- s9 c7 E% J4 g
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了