PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

[复制链接]

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

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

admin 楼主

2017-1-16 15:27:51

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

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

x
通过对话框选择多个点实例: ^* o2 {+ n) @' b4 x" F

: p  S; d' K2 Y, \" I3 ]+ }
0 b4 G! P" v5 YOption Infer On* ?+ I+ u* u% c- y. N
Imports Snap, Snap.Create0 P4 x: ^2 E8 Q" ]
: e! E% R* k' l
' This is a very simple example showing you how to use a Snap.UI.BlockForm
. s$ \/ G% ^0 O2 A" E  I* c1 P4 R' to create a dialog that enables the user to select multiple point locations at once.
6 ?" {( `9 r1 ~, n; ?3 R) W7 J7 `( M% _( G
Public Class SnapBlockFormApplication2 : Inherits UI.BlockForm4 V2 W4 x) y/ ]# m! o
* C" n8 t& u5 J7 ^$ i4 k! q1 V
    ' Declarations of the blocks on the dialog
: S/ q. v* o: C* W) ~% [6 p! v2 T
* y  Q. {7 \2 `2 p! L1 j    Dim ptsBlock As UI.Block.SelectObject7 T9 @& p' d6 q

1 y& \4 }9 m0 u( q3 _1 B; F# J+ E. u4 p    ' Constructor for a dialog object/ b# N5 }" B( R+ H4 C% l0 J' X; X
    Public Sub New()
4 r2 _0 x* s% b; L6 A9 R# V( k. _5 C5 I5 `
        Me.Title = "Select Multiple Locations"  ' Text to be shown in title bar of dialog: n  B1 y$ W  w" d5 H
        Me.Cue = "Please select some locations"   ' Text to be shown in cue line. n' e* i  o2 C; k) k

7 y& Z2 g: b7 X3 c8 m9 m) E  R        ptsBlock = New UI.Block.SelectObject4 A( G  O2 r5 x7 u8 U8 y# ~3 {/ b
        ptsBlock.AllowMultiple = True% k" K5 \7 B" ]) l  Q# \
        ptsBlock.MaskTriples =
+ {' c; B4 _$ d2 ]: \            {New NXOpen.Selection.MaskTriple(NXOpen.UF.UFConstants.UF_point_type, 0, 0)}5 Y8 U  H3 }" M3 J6 w
        ptsBlock.LabelString = "Select locations"2 V1 K. D1 M+ [( J
        ptsBlock.PointOverlay = True4 h9 U, g+ ]/ {2 v; V1 K
        ptsBlock.SnapPointStates.SetAll(UI.Block.SnapPointState.Selected)$ Y6 [3 F5 @+ B
        ptsBlock.MaximumScope = UI.Block.SelectionScope.AnyInAssembly
6 {8 A  O- U5 {& N8 E
: S/ Y# Q/ c+ U" C8 W* j        ' Add the block to the BlockForm( P; c- y' x: B. n
        Me.AddBlocks(ptsBlock)
9 l& }3 Q+ U) z! n3 q
/ ^1 m$ M* A# s3 B' }    End Sub
2 N/ x6 @0 D6 R" k3 p
1 i; e. _  V. ~7 S' X$ A/ ^! u    Public Shared Sub Main()
' t( C- o6 j' M) N( T3 C. b1 j9 b) d4 R  f
        ' Create and display a dialog
+ q) D& d- O6 ]& a8 s/ l; `        Dim myForm = New SnapBlockFormApplication2(): Z) g' e* T+ r1 A5 a2 X- ]: \
        myForm.Show()) Q0 s; T. j1 q- x8 i
7 a  N+ w1 P+ ?  Y0 O2 O1 o
    End Sub
3 d* r7 d5 B0 X% F9 y
( W  {  U+ |) s6 [+ p* Z' B! R; |    Public Overrides Sub OnApply()
( a: C$ A) r( t& c9 C; C$ ?& m% L& ?: U! x! @3 |8 w! r
        InfoWindow.WriteLine("You selected these locations:")7 I5 l; z( m7 L1 Q* P2 B5 W2 R; W
2 @1 t6 Z- H* h! n& {* S; ^
        For Each anObj As Snap.NX.Point In ptsBlock.SelectedObjects$ P5 j  o+ C8 l% h
            InfoWindow.WriteLine(anObj.Position)
* F: R0 m8 U) X- K        Next
" ^- A6 {) z* [+ c/ J! A; h1 \
& r$ ?9 W, y4 n* m    End Sub' ?* [) U8 ~+ F5 A* }
$ b& B* }% C3 a0 {4 q  G/ Y
    Public Overrides Sub OnUpdate(changedBlock As UI.Block.General)
! U" k# M) E0 z% d0 E( @9 ?; X0 p7 }2 g+ J2 Y4 y
        ' This is going to be annoying so don't really do it!
! Y1 {) W0 A& S: x* z/ x( ~        If changedBlock = ptsBlock Then1 N* V2 e% E; R5 X
            If ptsBlock.SelectedObjects.Length = 1 Then
0 `2 Y0 a; W) U                InfoWindow.WriteLine("You picked a Location")
; p  E2 E# i" X; j: |            Else
, D1 A6 N5 J7 L% e8 C                InfoWindow.WriteLine("You picked another Location")( R3 i; R7 W6 z
            End If
$ I, s# X0 _$ Q& H. `" F        End If6 }3 Y8 {/ K" v6 s* b; I

8 r: d; m  a& ?; [5 ^* o    End Sub
" G1 F4 m. R6 M, ?, |3 Y) x  n" l# T5 n5 K  q7 M
    Public Shared Function GetUnloadOption(ByVal dummy As String) As Integer
0 D% _+ S/ {- ?8 L        Return Snap.UnloadOption.Immediately
6 Z8 x+ c% |  B8 \    End Function! B4 ^" V% \: w$ ~+ s8 h/ r

# O% J6 ~' ^! ?/ }! r: `' X/ K2 yEnd Class- h$ ]. Q7 u( G0 z- ?6 L
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了