|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
% a) g/ Q, { n% x4 R
1 |' y: x: M8 _* b7 E* _
NX二次开发源码分享:选择管道routing线段的方法
7 e; @9 z8 r, R6 F0 Q
5 f# z6 x# t2 I. |+ A代码是C#的,主要是告诉大家masktriple的设置如下:3 X6 {& v: e& ?2 h% B, Z
' `, t; ?) X5 A7 C
1 B# ?# _6 W6 F
mask[0].Type = 0;
}$ f* T: i0 Hmask[0].Subtype = 0;
3 C! I& s$ L$ [+ g) y) k* Lmask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; ( b% y4 `" y; y& h
1 e' ~. W; i" F) {
[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj) # M h. q# ?1 z4 a/ X+ K# s
{ 2 C: p3 U9 A }- |- {
TaggedObject selobj;* V4 c: S$ _1 b+ t
UI ui = UI.GetUI(); ) s2 |+ i9 \4 ~+ \* A( h/ T& Q
Selection.MaskTriple[] mask = new Selection.MaskTriple[1];
+ U* W5 Y4 z- Z; w: _& o) J5 X { 3 I- x) ^: Y1 z) }0 V7 [
mask[0].Type = 0; 6 X& R B8 b) n( M% _$ Y# T
mask[0].Subtype = 0; : n7 j/ ?+ K; R" Y
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; - n, r, m) P. \% i
} 7 e, V- O5 N4 M; B( k
Point3d cursor = default(Point3d);
+ e+ T, k* P# r5 h) Z/ K& J
5 \8 y8 K1 M# @+ M% w Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor);
# _- ^) |. x! { H6 q! N
3 O6 N2 Y5 _9 D& a if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName) 3 @$ k, c1 t3 K1 B! D5 _- D) O
{ " @4 V2 s0 D, K, w
obj = selobj;
0 m$ H0 F! p! e4 r3 D* f! ` return Selection.Response.Ok; 5 O& z% D( ?. k1 g" T* H& x
}
' [+ g# _+ u, m; S3 S7 [. L4 Z" W else - h* N' @' l0 R* w
{ / b2 A! |2 D0 d( o1 _, F
return Selection.Response.Cancel;
6 `& R* f) Z# S+ E& ] } : F' p2 l: g3 b5 x* N& I( n% U6 l7 S
} [/mw_shl_code]" {2 g4 \$ _1 g2 S7 l
|
|