|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 l, J6 |4 I8 r2 ~% }1 t! Q q/ M: O9 w
NX二次开发源码分享:选择管道routing线段的方法. u" [) z9 ]* Y2 z
3 L1 j, ]9 |7 z. s+ i# r: U# @代码是C#的,主要是告诉大家masktriple的设置如下:2 J; H& a7 J7 R6 g! I# h
1 v9 v" E+ h! I* G- r5 ~& N
( X1 q0 h* v$ Imask[0].Type = 0; ' y( y- Y4 c* r5 a z7 n4 r
mask[0].Subtype = 0; 0 }1 i) g9 O$ ~! M7 M- n
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
' `5 n" Q) @. {+ W$ s* d6 c9 k6 h" X( d q, v! A7 w/ w
[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj)
2 g2 |5 T9 N8 \) ` {
% {/ X. E; C& B0 l+ ?' J# J+ ? TaggedObject selobj;
1 s: W( z" k1 \% Q2 T. L UI ui = UI.GetUI();
3 K6 k" T. [5 W* L/ {7 _ Selection.MaskTriple[] mask = new Selection.MaskTriple[1];
+ i/ `. o6 w. l, \# w0 j {
7 [6 V! g. B9 I mask[0].Type = 0;
/ t. i8 ~: P" V, r+ P mask[0].Subtype = 0;
8 L: t6 L& W3 V* ~( D2 p; x mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; 1 P. T N1 e5 ^& s C7 C
} / N6 W6 q. G; [: R, s6 i
Point3d cursor = default(Point3d); " |% e# [- R& ]& w' G* f! |
$ N/ X: V9 f4 E9 D
Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor); * E e; z1 ?) x; S! [1 N3 o
8 `3 G$ K2 k! ~; e
if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName)
& c) w' x# h' P4 | { 2 t, o5 Y. H, i8 X
obj = selobj;& O3 C, @& @" Y5 L: O
return Selection.Response.Ok; 6 W& c0 {6 r3 N& g$ R7 {% N
} 0 s" T1 Y' h9 U. P% E+ p
else & e3 K7 K& c; t c, k
{ " s5 C. O, C0 @) w
return Selection.Response.Cancel;
& Y9 K7 w% Z) B* O }
; F6 k; r+ g2 C& q! {; ~7 s } [/mw_shl_code]
5 y! _$ H, H9 V- I- ? |
|