|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
+ `5 T" s! I. ~) ^
% R$ }, X6 J- Q4 m
NX二次开发源码分享:选择管道routing线段的方法% Y4 @9 ^# F4 g; {' c: l8 c$ F
% X2 G! a( _' v9 [! s, G ^& C1 ]+ q代码是C#的,主要是告诉大家masktriple的设置如下:. V% `8 s$ E1 _: z' E0 i
e/ R/ H& H7 \( y% e- Y
, D& v" Y; G$ y, @1 U% R) {mask[0].Type = 0; & m& E9 f; \2 C: x7 w+ r" c% _! n
mask[0].Subtype = 0; 4 {/ y. w; k5 k2 z+ Z3 V
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; 3 d+ n/ t& N7 h! m- {" s
8 {- s# ]; J/ J$ E! B3 |[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj) 7 c7 q; A8 i! Z) X
{
+ ~7 m) p( |' a; Y3 x( ~7 |. j TaggedObject selobj;. y$ A- o% Q: A; s2 T, d2 I/ U
UI ui = UI.GetUI(); * r$ X% I& y/ l" [6 [* `
Selection.MaskTriple[] mask = new Selection.MaskTriple[1]; ' r/ @. h, n0 N. h/ |5 g1 j0 w: b6 x
{ * g& }' h! ^ X9 D( h. C
mask[0].Type = 0;
2 n, X, ?7 B3 } mask[0].Subtype = 0; 6 z# ?7 m( T. B, Z+ D9 k
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; % f. d7 h2 R; K; q- l6 G9 U9 F
} ) |: f" _1 p: m* t2 |- x
Point3d cursor = default(Point3d); - T0 J$ @8 u' f
1 {. H7 t4 \ b9 T
Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor);
$ R/ b2 _1 c& ^! S3 H; J4 b 3 Y- ?. g C6 g% \: m; d7 |
if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName) + [/ e3 S7 c/ u& ~7 f: u
{
1 M/ }7 Z9 [9 ?% K8 J! S* n obj = selobj;+ {8 B, m, i4 H2 |( P( F( m. E6 H! u
return Selection.Response.Ok; 9 \3 @+ M: W0 z: e( M
}
% F: o- ?+ h! r( e' u' i+ v: ^ else
1 T; ^. ^: \( h { 1 Q4 Q" f# C9 I3 z
return Selection.Response.Cancel;
/ ^. M8 G% D7 _# Z6 ]- s" a, i0 q } % y9 d9 E% D8 o6 L* j8 _! ^0 H
} [/mw_shl_code]
0 B6 @; Z3 L. J5 i |
|