查看: 4230|回复: 0

[资料分享] NX二次开发源码分享:使用NXOpen C++的方式选择草图

[复制链接]

4

主题

3

回帖

38

积分

管理员

积分
38
发表于 2015-5-29 08:56:41 | 显示全部楼层 |阅读模式

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

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

×

$ l  ?, f. V, S  G2 m' uNX二次开发源码分享:使用NXOpen C++的方式选择草图
; c, Q, d: @# K
( L0 D! S8 ~5 f$ \% X% y; h
" {/ z) t1 N+ x+ [NXOpen::SkeTCh* SelectSketch()
3 Y2 G9 J3 {7 d5 W% v{       
; N8 P. C6 k7 T' ?7 l. h- V        3 G5 Z5 U( z3 _  b, U. G
        UI *theUI = UI::GetUI();; q( _' r) l" Z0 p, |+ T8 J; o
/ _7 X1 p0 u5 q! i
        NXOpen::Selection::SelectionScope scope = Selection::SelectionScopeWorkPart;
2 i% I9 }- W8 W9 Y        NXOpen::Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;, K$ n( M9 [, w3 l
        std::vector<NXOpen::Selection::MaskTriple>selectionMask_array(1);
7 H9 h$ _5 m' \        selectionMask_array[0].Type = UF_sketch_type;
. x  }5 Z, j0 F" x5 E& l4 b        selectionMask_array[0].Subtype = 0;
' `& ~) s" A- |" d/ `  ?        selectionMask_array[0].SolidBodySubtype = 0;2 W. o  x3 _0 I. D
        NXOpen::TaggedObject *selectedObject = NULL;
: u9 v2 W8 g* C: b4 Z0 x" c: a2 X" A        Point3d cursor;
( G( r$ `$ C  J2 {- f3 {        cursor.X = 0.0;
1 p2 {- C' M! Z& z& f        cursor.Y = 0.0;- ~1 U7 H! R4 g1 e& n
        cursor.Z = 0.0;
# t8 j/ Z! g3 n  F. e& i8 d7 l8 v) c% T
        theUI->SelectionManager()->SelectTaggedObject("Select Sketch","Sketch Selection",scope,action,true,false,selectionMask_array,&selectedObject,&cursor);
% I( k; W( R/ L6 m5 `) K) V" K" E% \6 V" a1 V
        Sketch *sketch1(dynamic_cast<Sketch *>(selectedObject));
8 q" H6 E; G  _1 U# ~- ]        if(sketch1==NULL)  w) U' W, f% ], Q3 W$ Y
        {; C* Z9 e! V0 n7 u1 g$ \3 A
                return NULL;
0 B+ g' z8 L% M/ \0 S2 K- r9 l        }
; U! V! k6 b* b7 W
2 u" [* @$ o9 W5 {1 H, Y        return sketch1;        ( l/ Q! y9 w! C  E  x2 l
! a: w' ?- @* m5 p  j8 M8 `7 z$ }. B* x
}
, \4 ?  o& b( u( M/ W& i5 z8 `6 J$ z" {5 T5 R
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部