|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 q( ]4 Y9 n9 ~) D
- i+ Q4 R; Y1 {- f5 J4 m" lNX二次开发源码分享:选择管道routing线段的方法
z% I8 n( S' v/ a+ _1 X1 k9 m& w* g# x, M7 ^
代码是C#的,主要是告诉大家masktriple的设置如下:+ ?0 h1 A S% L, J" T; [$ P
! k: s" I! e0 l' f' d
+ F& l2 f" J9 |4 [mask[0].Type = 0;
+ \# c9 @$ e, Y, A* H. ~mask[0].Subtype = 0; 0 h8 Y# S H3 d+ Z ]
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; 5 {$ f! P% L- ?
. g. I5 ~. n2 W+ N3 [[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj) 7 v1 R0 l* K& k, w' X: {; V1 e6 K+ [: u, E
{ + p" O" X& J. o- n K$ U& y
TaggedObject selobj;
* ` U5 B9 n1 B5 ^ k# | UI ui = UI.GetUI(); 4 J. c2 }( J' H& U
Selection.MaskTriple[] mask = new Selection.MaskTriple[1]; 0 h% N6 j; c) R8 e
{
& V7 r, }! `+ Q+ _& G3 V" k+ H6 [' }0 Z0 e6 \ mask[0].Type = 0;
+ }& [4 }/ V! b. h mask[0].Subtype = 0; $ g1 L/ \' N. y* ~3 f1 |
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; 2 c, a, t( X2 Y4 e% o8 N' x. }
}
. }* b! Q, [" O1 u) } Point3d cursor = default(Point3d);
; h; x+ i/ m" q, z) l. \$ ^
y/ d# t3 e" n6 X1 f Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor); : [& ~! l1 Q% f G
' o4 `$ B& n, l& _/ w: T2 n0 p if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName) $ s5 P0 ], i& c7 m% K( A9 Q- i( K
{ ! ^4 f$ v; B7 A/ R: f* H
obj = selobj;# h' b2 e" K; g2 E# I) d
return Selection.Response.Ok;
1 }% u. M% ~. N! M- v5 V }
: O8 Q+ H) [' }7 ]$ h1 w else 5 E# p4 s1 y% a2 X3 e
{
9 q4 @) B4 _6 g- X return Selection.Response.Cancel;
9 ~; O7 z' c, k: t }
2 [) {( m& W, y$ w* y } [/mw_shl_code]
1 L& O: r- m' a7 K2 B% i4 b |
|