|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
* Z8 D3 J7 q5 x$ Y8 s: U9 d
# p& X G& O% I2 oNX二次开发源码分享:选择管道routing线段的方法6 j5 U/ t0 i& `4 A1 C
" T; _% K; Q4 x( J0 ~) S
代码是C#的,主要是告诉大家masktriple的设置如下:
# p+ t! G3 J- ^+ }0 o1 ^; n6 w
$ l l' K3 `8 Q, q+ J* A* z. J
# c9 L* X4 ?' A1 f4 U1 P' Nmask[0].Type = 0; 9 F9 I$ a' m: Z- G x
mask[0].Subtype = 0; $ W$ ]6 `) Q7 B t9 M' B
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
" I9 D6 i% \( x1 Y2 _, M X
, X' d# `5 X" }6 w) w8 L f[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj)
* j4 R# O7 z8 u; y$ q) L { : y0 X. b3 O6 g0 ?8 k9 F9 w1 R
TaggedObject selobj;( {! a3 N7 i: Q' B2 @2 v' k3 P* [
UI ui = UI.GetUI(); ! J% j% j- d, |
Selection.MaskTriple[] mask = new Selection.MaskTriple[1];
2 |3 m6 G: ~$ q3 S7 _: b5 W { * \3 ~# g: {8 V2 I: @
mask[0].Type = 0;
S( s6 [4 A' Z mask[0].Subtype = 0;
2 D: k, P! f7 u. _4 R% x1 i9 u mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
2 k0 K+ a, q5 e! V } Y, x! d. E5 [8 u) Q
Point3d cursor = default(Point3d);
A9 B! P* C) N) v+ a# j
; f9 [& z. i: w! R; S! V& W* X, g# v4 h Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor);
. ]; W2 V1 b% D% Q9 M# k/ S $ j" A% _) y. ]! W( Y
if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName)
% Y9 A- ]& s" H2 u* ~# B& |# R { * O. R: m: k7 W2 E5 b
obj = selobj;
% ^! z/ N( j% G return Selection.Response.Ok;
$ Q n6 l7 @3 X7 {* t } 8 A* ^( U' Y# ^& f' \' W/ K$ s
else
% A( I# w0 u5 J$ }$ W7 r { ) v. R8 G8 g1 A
return Selection.Response.Cancel;
6 Q% E) w5 N0 n" M7 G* [0 T }
) E4 C; t( `, Y# [2 @ } [/mw_shl_code]; W& g$ q, ~0 J! R/ k
|
|