|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
+ N) x- E7 _ j. X
9 d0 i6 Y/ y8 n) ], z
NX二次开发源码分享:选择管道routing线段的方法; o7 @: ~3 b/ I/ u9 F7 p
3 b- K8 i6 v9 y( v. q' b- } z9 z代码是C#的,主要是告诉大家masktriple的设置如下:
9 @7 z7 |$ n; W# l% H7 y
7 {9 H* k5 P* W6 V$ S0 a5 Y+ ~% }% Q: `. X
mask[0].Type = 0;
, {! l! o" Z' h9 B& Hmask[0].Subtype = 0;
: Z; K" y9 b* Q; c# d9 ^mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
' R2 O; E5 l" c) E
5 ]8 U4 I& w9 p0 i Z' [1 h E[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj)
- y2 c9 o, v* D) ~! u {
% n1 D! k4 G& q2 J5 w TaggedObject selobj;3 w0 m1 `; e% h2 z5 F, A
UI ui = UI.GetUI(); 3 U# I! D# i3 g
Selection.MaskTriple[] mask = new Selection.MaskTriple[1]; . D# x. C. y9 s O
{
- T5 Y c7 b7 c! _6 ` mask[0].Type = 0;
& ?7 _8 {" f0 @6 n mask[0].Subtype = 0;
7 F& q% _8 u% x- e. Z0 ]$ h! | mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
0 s: D# L$ Q, u6 a- J* k! k+ @/ E } # n6 L- L7 ?0 z3 n% k* t+ n
Point3d cursor = default(Point3d);
# _( l3 p, w# ^1 g2 \ " A2 }2 @' q) M! I+ A
Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor);
7 R0 U6 l& k! j, [
7 f4 u2 M) x: `+ |' X' } if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName) ( N9 ]1 e% _4 e1 j
{
/ g I/ I% L4 r, [' c6 n+ { obj = selobj;1 m: L& P2 S) y7 m& P' O2 ^, t
return Selection.Response.Ok;
2 N% G3 e& r5 T1 o5 G2 Z% ] } ; s+ d( `6 W% J+ z0 Z
else
" ~/ W5 J' ?& w$ I; L( x- `, y { ' L/ K: I9 e$ d& ?$ K
return Selection.Response.Cancel; 9 [7 _( ~/ D# @/ Q! p
}
5 k2 R% b& Q& X! @. j } [/mw_shl_code]( y/ Q( j. D8 t) N1 v0 C
|
|