|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
3 M5 _; }* W v5 E0 {( G9 b
/ |. t1 d! P. k, u6 mNX二次开发源码分享:选择管道routing线段的方法: c) I* j/ J7 X8 i, c- h
" Q) Q/ b- |8 y! G
代码是C#的,主要是告诉大家masktriple的设置如下:$ I) }* P% I0 P
- Q, [) f8 B1 A( l4 e7 a% w6 ]5 e. q
0 g/ h7 e' w0 A4 H, w! Tmask[0].Type = 0;
) J0 H* e/ s" a$ ]0 @ emask[0].Subtype = 0;
4 m- r |1 o6 [/ H3 Wmask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
, { P t6 L% s
. r( Z; b- `1 d: @[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj)
9 B2 L& p; z2 |1 q+ u0 ` {
8 Q9 [7 S6 S2 {7 C0 Z- L TaggedObject selobj;
. u% G# r0 B$ E) x1 e UI ui = UI.GetUI(); 6 m" ~; N+ W/ ^' J: |
Selection.MaskTriple[] mask = new Selection.MaskTriple[1]; ; ?7 x: h+ ~) _# P
{
# W& P+ z9 b4 @* X h mask[0].Type = 0;
: m& V+ ^) w y) u6 s mask[0].Subtype = 0;
' D4 A/ Z! v0 H0 H3 e mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; . m0 e7 x) D) H: V1 e. O
}
$ M8 |& W" w5 x& | _9 n( u Point3d cursor = default(Point3d);
% _, e9 h0 v# e5 q 3 u! `5 D% }% Q( n! n0 x3 z
Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor);
4 t6 k# ^2 i8 q5 j
- N( c9 t+ Y: m3 M if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName) ' n. a! Q% l2 h- i
{
" d0 l9 N! o/ o5 [" j% i8 {5 e obj = selobj;5 r7 u: e2 Z" P( }
return Selection.Response.Ok;
( _7 O4 U) Q2 k4 a, C6 M0 J p } $ K/ j, Q& K! ~8 O- r( i' ?
else
% _; K# Q$ Z q5 d" N1 p* M { + P9 J, p4 z2 g3 k" {) Q
return Selection.Response.Cancel; 3 D$ ^7 b; y/ W( A( t
} 7 M. d" q; p6 y/ Z4 u- Z) p
} [/mw_shl_code]% V+ Q$ {7 M! m6 D3 p
|
|