|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
+ {! d% X \: H
NX二次开发源码分享:使用NXOpen C++的方式选择草图
{- Z3 W2 T3 ^8 x4 j9 U. e& ?$ M% R# y: h$ c p0 p" M l
: v9 a# R; U3 i! d% S4 ?' M
NXOpen::SkeTCh* SelectSketch()5 R. t1 H- _6 Z$ ^
{ 4 [' b# ^) V& |! H i& f7 j5 d! s' B
; g3 M, D0 v6 M) S& o( c# W UI *theUI = UI::GetUI();
% f5 S8 `' E7 h! l0 q- k0 o7 E
NXOpen::Selection::SelectionScope scope = Selection::SelectionScopeWorkPart;
, }2 J9 K6 [1 l1 ?2 c" L NXOpen::Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific;* K5 N6 m8 u9 p6 b
std::vector<NXOpen::Selection::MaskTriple>selectionMask_array(1);
3 V3 d x) K3 Z6 @! L6 C selectionMask_array[0].Type = UF_sketch_type;5 @! j" L3 p" g: c# [
selectionMask_array[0].Subtype = 0;
' D( Z E! V U$ _ selectionMask_array[0].SolidBodySubtype = 0;
] v+ z* T$ `5 r1 h" D: m NXOpen::TaggedObject *selectedObject = NULL;
, U ~; j$ C& q Point3d cursor;6 ^1 A# }$ O/ r6 U, w! X
cursor.X = 0.0;
2 Z! P; |8 |9 l; \; ^3 k# ` cursor.Y = 0.0;; ?7 U- r7 Y u
cursor.Z = 0.0;7 i6 M& H7 S7 M+ W" F! U
1 x* M* Y4 m5 E8 } theUI->SelectionManager()->SelectTaggedObject("Select Sketch","Sketch Selection",scope,action,true,false,selectionMask_array,&selectedObject,&cursor);% N- c- r G' r# T
/ f: z8 ?0 c' y: b; {& N( ?$ W6 e
Sketch *sketch1(dynamic_cast<Sketch *>(selectedObject));' ~7 A% G! ?9 A0 c
if(sketch1==NULL)9 q5 x# o! Q. |8 ^% Z% B
{
! z# Y" B( G8 g# V/ f% z- } e P return NULL;
" d# a5 p8 O, T }
. @# p% Y `0 i* I+ m2 l1 g& U8 ^5 o/ A
return sketch1; # P: `0 V( y! Q) [- b
" N: M3 a& m) l}' X- e- q2 ]) ?* G- O
# T% [! @, r4 q$ f9 s9 h) x |
|