|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
2 x; D, ?8 H. C- I8 p" |5 q3 {4 ^8 E" r1 z4 v
NX二次开发源码分享:选择管道routing线段的方法! c2 Q& D3 e7 R2 f' M( w
* |) G% o8 e2 d! A
代码是C#的,主要是告诉大家masktriple的设置如下:" o \7 A0 B( U6 V0 {0 O# S
8 \ |6 W, L/ U" l; J" q
5 ]6 l7 |; ^0 \( T5 {( p+ Imask[0].Type = 0; ( q4 U9 g4 L+ ]& x0 }* @4 B' w
mask[0].Subtype = 0; ; h$ x- j F/ d
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; ' _' h D' @. s% Y0 C$ r+ k8 P! r
# g" V3 c/ }* a) }6 N[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj)
& b% J2 t9 a: P {
- I5 X O; t7 s+ n/ z+ U' P+ T TaggedObject selobj;, G3 [" \4 {3 }8 L% \
UI ui = UI.GetUI();
* K% M8 O$ ~1 t" L3 B% ] Selection.MaskTriple[] mask = new Selection.MaskTriple[1]; 6 `% W' |( n( P, X$ `5 q( N/ U
{ # K ]" G' l% X, \, m
mask[0].Type = 0;
, E s' x/ C+ b" p, u+ V( g mask[0].Subtype = 0; w7 Z2 r$ r& M. W
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
" \2 G' G7 R4 Q; I }
" @+ ], z+ L% ^ Point3d cursor = default(Point3d);
5 C# a( c) I# b
" p' e: Q& s* v& W Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor);
+ l) F$ f e0 l) i% D# Q" J # r6 v* n% Z) S' q- x
if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName) ( V" T+ n2 s4 R
{ / ]3 u! H( @6 `/ }9 R1 J X
obj = selobj;3 }" ?5 y' g9 ^% V4 a
return Selection.Response.Ok; , d W+ |! H1 \' D; X
} 6 L) G$ v5 k$ z( c1 M ]& h9 W9 o
else # B" k7 r9 s! Q/ Q8 t
{ 0 K9 y4 U* \- Y! {# E- ?
return Selection.Response.Cancel; 6 G" a5 m* s( u$ Z
} 9 h; z- J& w9 S$ g+ Q$ A( g6 X
} [/mw_shl_code]
6 S3 b5 Y4 I" S. f1 c4 F. g* a |
|