|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
0 a# m$ L l+ {" D+ f
& G* D+ \3 y9 l! [NX二次开发源码分享:选择管道routing线段的方法
0 @9 D3 `( k- A. Z3 I5 F1 z1 K, z) o: K" f) H# P
代码是C#的,主要是告诉大家masktriple的设置如下:
; Q+ ~" {. ^5 w3 h/ P* ]: _. l- O$ p( m, E8 ?
( e U( h( a( ^
mask[0].Type = 0; " F8 a2 f' M8 l3 C0 F
mask[0].Subtype = 0;
4 e$ X2 V1 @5 g; G4 d) {% ^8 _mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
- l2 L! T+ g/ ^ b
5 S/ Q+ O; I# R& r7 S[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj) : i' M! I# Z9 m
{
; A" k0 f. ^2 ?4 ^ o8 b TaggedObject selobj;
- Q! X7 `9 Y9 f0 L9 u6 i& K UI ui = UI.GetUI(); 2 w! k5 G+ e% p# L2 C( H! A4 Q
Selection.MaskTriple[] mask = new Selection.MaskTriple[1];
+ ?# I8 e4 E5 f' k. v2 T {
* J# j4 R4 E5 n! C, l mask[0].Type = 0;
; b9 e& H7 [ X; e6 N' Q- x0 { mask[0].Subtype = 0; # }. m' K6 V5 t3 l( X' A
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; - b8 O4 ?, B- I! Y
} ) k3 i& g1 A. Q8 ]
Point3d cursor = default(Point3d); ) U1 j7 @4 m' R, ^; x7 j6 \
0 \, j0 I O. H Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor);
- O$ o* p$ @; g( q: ? , G' y, X' |$ Q7 f- o K. |9 T
if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName) ' B8 ^7 q" \# b% r8 A
{
; x; R" N" ~, l2 U obj = selobj;
# l8 o8 n) s2 H# o0 y& W6 P9 J return Selection.Response.Ok; . p; h1 R8 a M( k$ Q% l& @7 _
}
! @ k. Y7 A$ F- {9 n) Z" }) U4 R else " m* u5 b9 L% A7 e: D q
{
% y" A3 x) ^4 r' } return Selection.Response.Cancel;
3 ~! ?) K9 v5 R3 g }
( _; v: t- G/ t) I# P } [/mw_shl_code]
* c/ _$ j2 g, x7 D A* l1 y |
|