|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
$ \7 g" o. ?6 }4 w7 q+ z8 H
4 s6 {8 v+ Y- Y. _4 ~3 [5 ?NX二次开发源码分享:选择管道routing线段的方法
2 C3 f* k( S) x4 b4 O& b5 ^! ^+ R( U' \6 S* c
代码是C#的,主要是告诉大家masktriple的设置如下:/ q8 K$ q" S: F" s$ O; L2 ~( Q
, a' S6 a4 o0 \
6 _5 J! b% R& {! Qmask[0].Type = 0;
2 M I: ~+ n0 X% jmask[0].Subtype = 0; $ t5 U" m& ~8 U- m9 @# ~
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; 0 Q: j6 ]1 Q1 S
j6 z0 h" A2 T6 N0 H2 {[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj)
& X" S5 A2 k3 j1 c0 R! L3 Q' G8 v { ( l6 d, h. x& z) b9 B
TaggedObject selobj;
* r; W9 f; S& q8 P; k3 v, \ UI ui = UI.GetUI(); ( U1 G' J' Q4 {$ w
Selection.MaskTriple[] mask = new Selection.MaskTriple[1]; 1 A6 T' z" M2 C( J
{ 7 i% d3 t& h+ s. _" ]3 N
mask[0].Type = 0; 8 H8 t% {" n% v T2 l/ T/ d
mask[0].Subtype = 0; ) P0 d+ ?" `) o
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; 0 i& T9 }7 w1 C- h% c
} % w! c& x& C7 v/ t2 c6 i7 ~: L
Point3d cursor = default(Point3d); 9 H3 O' Q0 T% D2 B% D+ E
, ` r- s& \8 b Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor); . f4 F% X- P1 U! p
" j1 p( ~/ |$ Z( N1 i if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName) 7 R/ M; s8 b$ ]5 ^9 w
{
0 Q9 {) R! j% w# A$ L obj = selobj;
, M% x+ w5 @0 e7 g# [4 Q return Selection.Response.Ok;
8 H g; T2 E( ^ }
! _0 b6 ^3 ~) z, C8 z" v! N/ v else / ~0 O% h, t: G
{ ' R5 Z, z: R1 @& G
return Selection.Response.Cancel;
: X8 l" r, J3 X1 S% @& ~, _ }
) _: s& W+ g8 j0 D, D0 U } [/mw_shl_code]
2 h& }& q/ z& m3 `8 q& `( y |
|