|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
, E9 S2 Y f; S+ W- P6 Y' h! q: x1 V E
8 _3 z0 D( \& O2 B) o) YNX二次开发源码分享:选择管道routing线段的方法7 U1 A2 U P4 Z9 B, v
0 E7 S @* f( _: R: v8 F3 {7 h
代码是C#的,主要是告诉大家masktriple的设置如下:5 ^' U2 ^2 a! u; R/ n
( v# N6 W) }1 d# l# S+ V
1 S* m- y! u `0 emask[0].Type = 0; 6 ^: \1 C+ @; g+ j/ }5 B0 A
mask[0].Subtype = 0;
, p9 S9 h% j& Q3 Q0 Kmask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; % }, T! @$ E {% _* C' K
4 n- g2 I) W/ `1 u F
[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj) . w% H4 i9 `4 L. D
{ 3 o! w9 |( H) s2 _9 O, a6 J+ q
TaggedObject selobj;# p+ V9 p1 I e$ B+ I
UI ui = UI.GetUI(); 0 c1 `# G2 z7 L3 t, |
Selection.MaskTriple[] mask = new Selection.MaskTriple[1]; ! M2 V1 o6 T( c( f: [0 C
{
; ~+ a) K! T; C0 j mask[0].Type = 0; 7 b) x i M. ~0 C# h/ b
mask[0].Subtype = 0;
( X; Z4 \$ K8 h6 }$ F8 r mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
8 o4 H" L# W( f# I# g! ]9 o } " t5 d& m/ }* l. A- ]: e
Point3d cursor = default(Point3d);
+ ^$ L2 T0 l' O7 t/ u6 M * ?: G4 j- d1 v1 L9 ?! K6 ]1 @7 O
Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor);
3 M$ @2 _7 |) I% ]
5 z; W- `0 ]4 n6 Z; ^4 n if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName)
3 g9 | b4 ]% v1 {* A v! l { + v& c$ O: e, h$ d3 Y. ]2 J: h- k
obj = selobj;4 }. ?" W0 Y! P
return Selection.Response.Ok;
7 D( O7 X5 D1 o' J } 0 L& r& i( b6 x& s1 L; X
else
! @4 Q: t! V& r9 ~ {
% m$ d _! P+ w5 T# q. Q( [) I return Selection.Response.Cancel; 4 U$ d/ }: Q% a$ [
}
$ `0 ?0 D$ c3 z* [6 C! W } [/mw_shl_code]# F% _1 V8 ~* Q4 T s+ u
|
|