|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
7 e, |* `% w% ]. g% O* B6 y
. ?) W; H @& w
NX二次开发源码分享:选择管道routing线段的方法
+ h: u f# u5 h# g( N7 h7 {8 E$ T
9 j7 j; {# I: f+ M代码是C#的,主要是告诉大家masktriple的设置如下:4 t( U, |2 ]: `8 u4 E
/ D4 V' |4 i& v+ E
" t$ u" z% t A$ E& Q* umask[0].Type = 0; ) J% k- P# S( e% h$ o
mask[0].Subtype = 0;
% U, p/ z- ~7 X* P5 xmask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
: ?1 {5 o! g( d a* Q4 y" f8 P$ @: K6 P/ p0 [7 u
[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj)
0 a% s3 n9 d. B3 B6 c, s) V2 S { " `0 W7 Q& \# N2 r& @+ A! Z/ N
TaggedObject selobj;/ N {! x+ ~5 C( k. ^% \. F, m/ H
UI ui = UI.GetUI();
3 _6 Z/ o g, R& Q4 w! F" I _ Selection.MaskTriple[] mask = new Selection.MaskTriple[1]; ' r$ a) P9 K3 y- L
{
8 `7 l$ P7 D8 d% C! v mask[0].Type = 0;
! @: R7 c8 ?) h" \9 A$ T mask[0].Subtype = 0;
( e: k. B d0 d1 z9 [1 @ mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
I: Q E. o- N1 ?" Y! r } * D+ q% j- k- \) y
Point3d cursor = default(Point3d);
" u, `. ]& Q% D( k" b$ E" x & m( a0 ]# c |% T C3 r& Q- y. N7 q8 k
Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor);
9 }0 ?; V4 F4 L$ J
1 D3 p& q3 [0 T+ z% G8 r! e% O if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName) - P2 J. ]* I" e# e* g
{
( p6 `+ a/ X6 i% e0 }$ ` obj = selobj;
7 G) a1 i7 k9 ]2 b, R) L return Selection.Response.Ok;
6 D1 T; ?, W: y0 w' H7 ? } , M) X7 U# e8 [* b7 _8 K
else ) H0 t9 z+ V/ ^' C. y& q/ }/ c' }7 n( R
{
" b( N0 R, W8 b5 p6 q/ G return Selection.Response.Cancel;
5 M% [+ w! U) P8 a# `) d$ Q }
2 X. ?* X |% x! A1 t } [/mw_shl_code]& ?5 ~7 O, n2 f6 r( w2 s
|
|