|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
3 r; }$ Y, Z- I; V! X. o
4 A) W I" p# E- d! U- X
NX二次开发源码分享:选择管道routing线段的方法! G& z1 N, v6 c. K" ~/ X" D
0 W- c# _8 F$ x9 \" L+ n+ a
代码是C#的,主要是告诉大家masktriple的设置如下:+ p/ E2 K0 t9 [5 ^
4 ]+ \) {3 Z' U
+ v" h& n, Q7 G( bmask[0].Type = 0;
1 S* P) @! b+ y. J5 Rmask[0].Subtype = 0;
' [# G/ Z8 k; L- C. o- smask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; ' K7 \4 ~# O/ B* N3 V
% ?: w3 W$ S# I$ K3 p
[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj) 6 o$ a" r% l2 u8 V4 ^' V4 f. q
{
: w. p5 y2 W! J8 O7 N9 M TaggedObject selobj;4 |) v; }: W- ?0 f1 Q+ p
UI ui = UI.GetUI();
3 Z/ _, U" A3 Q9 ~1 P0 J Selection.MaskTriple[] mask = new Selection.MaskTriple[1];
) a# B" n1 ^6 O v- k. ? { 4 d# T) o$ O, U4 R. r9 h6 M
mask[0].Type = 0; " M, l% |8 m( K1 e7 ^( n8 V
mask[0].Subtype = 0;
{! O& T; U# X mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
+ u% p* Z* n% f8 s3 i3 c' X }
( {% w/ g: ^+ ]. |. S Point3d cursor = default(Point3d); % `6 N& m0 w1 I3 a, m) ]- o2 ]% Y
( ~9 g c6 x4 ?- O3 {4 f6 j' M Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor); 0 `- y8 I8 U% M9 ~/ w" x
1 ~8 _0 D7 R" O" ~ if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName) 3 J& P) @0 F5 o
{
3 H' Q1 |8 M4 o( J" H obj = selobj; x( }; N/ V+ S
return Selection.Response.Ok; / |: ? I0 n2 w I9 B( ?) a
} 9 b& J6 D1 @, Y9 V9 e
else
]/ d8 b) w4 E- W {
" K. ~/ v. ]1 n' ~' v& F5 D% ?$ q return Selection.Response.Cancel;
: n# _6 ?2 R/ B! v* @+ R- ^ } & A4 r8 P% s: I F, [: i# M
} [/mw_shl_code]
, ~6 i {! \: L/ H) j3 x7 K |
|