|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
* F2 Y, M: n- D4 l# ?; |
9 P( f `" @6 G8 p
NX二次开发源码分享:选择管道routing线段的方法) |. Q. v5 z$ @/ g* z7 N
: p1 f+ ~' H* I2 I( _
代码是C#的,主要是告诉大家masktriple的设置如下:
) r; Q- f. L+ A( f6 V# D+ N8 l3 @" _# `
% M3 N, F# i- [. L3 l6 P3 O
mask[0].Type = 0; & i% Y; x) F2 z( C# K
mask[0].Subtype = 0;
3 M/ b* e1 V5 P. A0 Pmask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; + h$ `8 g0 L' J, p' U' m+ l7 ]
1 k0 g1 B% ]; E1 t! i; {, [( K[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj)
( F, S( A1 | U$ P" j. M4 n { 1 I* L9 \8 x8 l, T8 p
TaggedObject selobj;0 [+ y2 a( O! M! ~. w) a: m6 G
UI ui = UI.GetUI(); # G2 W) h' i8 W" F q6 ~: I6 G
Selection.MaskTriple[] mask = new Selection.MaskTriple[1]; ! s. O' {& E9 Y) \
{ . C+ x; o) `, s- }: d* Z8 ]
mask[0].Type = 0; - J- b* i6 n: w: I5 T
mask[0].Subtype = 0; 8 P1 x$ I8 r+ c. g" M6 W0 h
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
" ~% s. j' Y9 f& `' R }
/ L2 I w# H$ E/ | Point3d cursor = default(Point3d); ; \+ s: i+ f( g
7 M' g$ v, c4 e$ Y) W, ^7 S
Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor); 8 c$ a# J9 V, ]! j1 ^* Q% |
- Q; _' ~. S! B. s: b
if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName)
9 q' S+ Y. |5 e8 z8 j {
# d4 n3 i- S- Z( u2 W obj = selobj;
4 r/ w- U0 o4 g: j return Selection.Response.Ok;
3 O- S$ E$ g, O# h/ A- N } ! X3 P4 {8 }) _1 b2 X# b$ j8 I
else 1 @9 Y1 z# g/ P% C' |! {
{
& w: ^9 w2 Z1 G# F return Selection.Response.Cancel; ) ?0 I$ z5 S5 H" x/ I* @4 {
}
+ t$ T& i/ e3 o8 B0 R' w( i0 ?, J } [/mw_shl_code]
8 W0 E1 R% E' I# s0 }8 L( `% h |
|