|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- r* C2 g0 H3 A6 t( m$ X; ?2 ]& e, C$ M1 @$ N) j* c7 f/ f
NX二次开发源码分享:选择管道routing线段的方法% u/ a: P1 X" U0 g: ~4 y
) @: a8 k* c: D代码是C#的,主要是告诉大家masktriple的设置如下:5 B! O; F9 Z- Z u+ v' Q! V
3 A- V5 I8 g# ]) q2 p' A6 i/ K; W
mask[0].Type = 0;
% j2 E9 Q, C8 K7 o3 d# Xmask[0].Subtype = 0;
! U3 e6 S$ ` }! k1 `mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; % B! w& ^: l+ u# |* a
& |9 M( G3 B. ]0 O8 y# c
[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj) 9 k2 y+ u, x; _( y$ E8 m
{ Q# p* l& x* }1 _1 }
TaggedObject selobj;$ D% l* s' f& i% I ]
UI ui = UI.GetUI();
6 M- D8 h. N& C Selection.MaskTriple[] mask = new Selection.MaskTriple[1]; 6 ^" L& l, }( v# C' o( M9 `
{ & Z3 q) g" e% S4 R1 `3 N9 |
mask[0].Type = 0;
. V& s: g2 W2 O mask[0].Subtype = 0;
Y2 D8 P0 k+ Z* r mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
0 ?) l- A0 q- Y. w6 \. h. _ } 5 k. P6 F! _% g& ^0 |3 T
Point3d cursor = default(Point3d);
: }# g, v! V7 D7 [) P0 ?9 F" s # i# l" Q( s& F. C& U- b
Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor); 4 K. T8 F2 ^1 s1 `8 u4 \9 H
1 d1 S1 M; X- a: P1 W if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName)
0 s/ G7 g) @! C8 T5 b+ E {
6 s, x: E! E/ e- q( k, I obj = selobj;
h, K; M( s9 B; |' t9 F: Y: ~ return Selection.Response.Ok;
]6 F& S9 E ]( V* Z. o* J }
6 q4 w7 V# s4 ?) w+ Q& S else " i& m* L0 T% g. ~3 H
{ ; |3 Z$ c5 }9 ~6 w# y5 e
return Selection.Response.Cancel; * f5 A1 m9 p6 M; f, }
}
+ y! j \7 Y& s, x" \, k } [/mw_shl_code]
- m; W) R$ e8 y, Z$ E" \' K0 J |
|