|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
8 R, o, e9 t( Q( \3 X- ]4 n% G1 s% i7 w- m, |8 o! U* b/ x
NX二次开发源码分享:选择管道routing线段的方法$ W- ]- W ]9 L4 M3 U
6 X' P& h, C' V, d$ k" y代码是C#的,主要是告诉大家masktriple的设置如下:
* ]4 s$ k( W1 \0 c; i) u$ c6 h4 b7 A
2 E) G- O7 E' v* U2 ^
mask[0].Type = 0; - Q1 M6 T- m' A" w4 B. G6 n# _
mask[0].Subtype = 0; 5 }$ _( ~ N0 {# V# P
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; % j! G$ e" I0 e, m# s% m
! P& ^0 H! y/ M3 C
[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj) : ^7 K+ s$ b5 j2 F& o+ P5 R+ I6 D
{
, T# U7 Q/ S. L TaggedObject selobj;
, |3 ]: {& s0 @6 F4 I# H1 M' O5 W UI ui = UI.GetUI();
u5 ^2 R5 j0 [8 W" ^* v0 C( C Selection.MaskTriple[] mask = new Selection.MaskTriple[1]; 7 v& m' K# ^3 Y" K
{ 2 T7 q" p0 j$ k
mask[0].Type = 0; 2 f1 ?) @" n7 G" F
mask[0].Subtype = 0;
, ~: u. [& \* U1 e* K' w mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; & R( t3 \5 v( z0 M' c7 f
}
) S: `* `% h; A- y( l4 K( y* }- @ Point3d cursor = default(Point3d); ' m& x/ c/ k' I
, C5 B+ S! l9 |6 x7 i# X Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor); % g8 S! h+ o/ e- m, J
2 n: G7 |& N0 V0 X4 ^4 a
if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName) 1 L% J1 f2 r% }
{ ; r% h& O+ W) `- V- t! x
obj = selobj;
: \) Q# H. x. E- z return Selection.Response.Ok;
' J3 j3 |$ G" u6 J4 s } # N1 D3 [" l! c
else
0 c1 |- J( ^4 G) \/ |; X# \ {
* H4 Z. d7 p1 K return Selection.Response.Cancel; / |& E) t0 [ j5 P" |' v
}
/ F" `. |& e' e2 ~ } [/mw_shl_code]
: V% {2 _" |2 P U2 M4 ]2 ] |
|