|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
+ F" {7 ?- O- e r% j$ z
+ G( S% z }8 KNX二次开发源码分享:选择管道routing线段的方法 C) u H: e9 v; ?' @+ _
% [% Q4 @' B) v5 o代码是C#的,主要是告诉大家masktriple的设置如下:. v; P& t* b# f9 `4 L( T
- o8 N5 v, p. R' Q+ T$ B1 F) |# N
1 L: S" t9 A, }1 q: S/ imask[0].Type = 0;
( V# x6 X/ V8 o& q! y" A& Y+ Xmask[0].Subtype = 0; ) m( W/ @. M; D% _
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; + Q( z0 s7 d7 l8 x
1 u' W% J+ v2 {' p[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj)
, }( {% s+ k# ~ ~$ |5 u" ^ { M: _5 {/ S. r3 w1 u% w$ g
TaggedObject selobj;2 J: f3 r& A! T+ u
UI ui = UI.GetUI();
+ c' W5 h2 T& Q- P, J. J0 E Selection.MaskTriple[] mask = new Selection.MaskTriple[1]; ' T3 C6 _/ ?" R
{ 1 ~4 U6 ?+ h" n
mask[0].Type = 0;
& W1 r' a; t1 |+ }, R mask[0].Subtype = 0;
% B6 n" U3 O) M* j mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; 4 o, ~, B0 i+ Q% n
}
$ @# n0 ^" `) F. {9 Y Point3d cursor = default(Point3d); . l4 d( a* T+ s. e) H/ j
) n: V x" Z" Q5 T" \! n0 G! ^3 F Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor); ! F( y) ^1 V7 a
( C- K: t% B( b) J, b
if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName)
. o8 Z3 m, |* C7 Q- v2 T8 k { 0 F* T' H9 |. T" u3 G/ d5 W
obj = selobj;
9 h' ~) c5 A( l& P L return Selection.Response.Ok; ! V0 O) y7 h6 E; Z; w5 ]! v
} ' K2 p1 e" J1 r
else 7 p, g. u$ Q5 @* i& s2 [
{
" a- A$ I6 `1 r; H+ J: s- C% M return Selection.Response.Cancel; $ n- k; o; n9 Q4 t: n% r
}
' Z+ O, I+ D$ |& @. W& G3 b" S a } [/mw_shl_code]
" k6 O6 [4 J+ Q# C7 d |
|