|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
|0 j6 P, m |' q6 Z, b& I; M6 y/ k, g" Y3 J* I
NX二次开发源码分享:选择管道routing线段的方法
" d) ^( b& L/ v) W2 U8 N4 u8 P5 I9 y0 O' X) a
代码是C#的,主要是告诉大家masktriple的设置如下:
5 o% x, `2 N) }6 h/ [4 G
& u2 \6 R/ J) L1 E0 N/ f8 i; _% g! H3 \- ~
mask[0].Type = 0; ! Q0 X8 |; i$ Z6 E, j# Y
mask[0].Subtype = 0;
) s4 H4 z: J" F9 z- _mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
; Y! W! W, p, k8 A
@( ~5 L; j$ ^; n: P+ i/ Y9 P[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj)
6 r2 z( y4 ~4 v {
+ I1 y: P$ o% }" e TaggedObject selobj;6 Y% z$ C7 q( X" x Y& j7 C( h$ d
UI ui = UI.GetUI();
6 T; [8 L& E2 f8 X7 { Selection.MaskTriple[] mask = new Selection.MaskTriple[1];
2 @7 Z# t& h) v8 q& g {
& u1 Z( _( F" h mask[0].Type = 0; , A B7 J9 p. y) ^1 g6 f+ t: q
mask[0].Subtype = 0;
2 f' E5 J7 g' r1 }$ y: V mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; 4 L" ]5 A5 d$ U$ I$ f' u+ ~
}
9 h. s* o7 c7 {3 K. f Point3d cursor = default(Point3d);
1 y1 k4 o- X$ t
+ q. |1 {* }2 X8 H% W$ k Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor); 0 l/ \8 V# N/ s w4 \# h P* W: A
# {! y; V6 B7 c/ g" U/ s; Z if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName)
+ e) `$ q' @. u9 Y2 ` {
h. d; U& p$ Q obj = selobj;
3 H1 Y- c8 }" C( Z: b4 { return Selection.Response.Ok;
; n$ b+ n% t) @- l* X8 b8 a }
8 t; r& {! r+ H) _0 t6 q2 c else
" l+ j' V$ n K: P" Y. ^0 O { & j3 K; g4 K5 n+ q) r
return Selection.Response.Cancel; ' p$ @- c$ l' y2 b0 U
}
# I+ U V2 h( s* n% ^" F$ k2 ~ } [/mw_shl_code]% G8 R! i. b2 ?/ F$ Y
|
|