|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 r) ]3 d, P; `
* R2 E3 C4 h3 q# m$ V4 rNX二次开发源码分享:选择管道routing线段的方法) C8 t/ R1 j, v; C
/ K) c4 d1 M8 m% A. u9 {
代码是C#的,主要是告诉大家masktriple的设置如下:
( [' @) Q/ t( s: z0 j q9 r1 p/ m
& o: b0 W: u5 e$ l9 f/ D, f- |
mask[0].Type = 0; ( R7 x% W1 ^, R; `- K. p5 l
mask[0].Subtype = 0; - S+ b4 E1 p, L2 M, @
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; % v" L! d6 |4 m5 m4 L% W4 b
$ |, j$ I9 O% F2 J$ L[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj) # }* t! h) m7 g' {: J
{ 6 p" a- R5 I- E5 e0 V- A( G. `3 N
TaggedObject selobj;* p+ r, J; q4 F4 F2 r1 o
UI ui = UI.GetUI(); ( |1 {0 z5 {1 D9 E* ^
Selection.MaskTriple[] mask = new Selection.MaskTriple[1]; a3 R0 Y1 \6 b
{ / ^: v- q4 j" h* G
mask[0].Type = 0;
5 r/ `* p, G- u4 w$ f2 R$ d mask[0].Subtype = 0;
) Y6 Y- n! x; _ j3 B4 Z) {) ^' q0 q mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; 1 J' m& q" f; s2 X! d
}
5 r' L" ^# |0 T9 O; F Point3d cursor = default(Point3d); . ^5 t: c# p# `- q$ h0 e: |
& v- X" ]: r$ k) r6 Z0 M) g; z Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor);
1 N# C; i( S1 A$ j0 h! B5 d. u
8 |2 [9 P3 k* { if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName) : l, M( w/ T: I% z$ }
{ / B0 S @4 ~ a1 H/ ^6 p
obj = selobj;/ P7 ]9 h- G' l ], B
return Selection.Response.Ok;
* J" T4 k" W. g3 A; J, a Z }
5 ` O) W9 Q i! d. ] else
5 Z: D. d- u: ~( ` { ) n$ c! T: @ C" @+ N
return Selection.Response.Cancel; 9 V. p. N& a+ L; H* }1 A, g- f
}
1 v3 `6 F* }! t4 V `2 Y* Y) o } [/mw_shl_code]+ S' F3 I& `5 L; y5 T0 Q" f
|
|