|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
# r) `4 S. }* ^2 b6 ]" Z5 A% Q7 N `9 q# A
NX二次开发源码分享:选择管道routing线段的方法7 ^( n" `1 ?2 y! q
4 X5 m! H. c1 [
代码是C#的,主要是告诉大家masktriple的设置如下:. ?$ l9 _5 _0 V% U! N3 y
/ |! U4 i: X$ S6 }+ { C
: q5 Y6 a4 J* D& D) Amask[0].Type = 0; 0 m6 z C9 v8 b6 h5 ^# g+ ]! f
mask[0].Subtype = 0;
- ?* O& o! d D4 G2 Y% D- Jmask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
1 F" l; Y) F7 P* o9 r2 G8 i# N7 ?; u% W- S _" N" \
[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj)
1 k: g4 ?2 [7 Z( |" P" E& b, ? { , {! \, b1 T9 d- d( { x H; [
TaggedObject selobj;2 q N, A/ ]" k
UI ui = UI.GetUI(); ' g% `# _+ W1 t3 |! n. `: ^
Selection.MaskTriple[] mask = new Selection.MaskTriple[1]; 7 O2 v' Y) y; ?: p u
{
2 a9 N8 _) l9 u1 b# p6 { mask[0].Type = 0; 9 M8 v3 |' H8 Y: _8 |& t; s6 Z
mask[0].Subtype = 0;
( I; `- M5 S+ \ mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; . I6 o* Y& a9 T2 S2 o) Q9 R* A B! X) s
}
3 c4 w2 F- J5 V, [/ ` Point3d cursor = default(Point3d);
+ u! ^6 X# |+ n; t
6 `) R4 }% P+ T( {" J Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor); $ c7 B) G9 {0 r8 c" ?/ q
! C/ S+ h# e/ I( |7 ]1 W" g9 ^( F if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName)
- ?' u* h) l: |; q: k6 ] { , q6 R0 U0 x8 m* T* ?1 D( \) O4 y
obj = selobj;
% ?+ n8 C) N- R; i) K+ m return Selection.Response.Ok; / H8 C. N0 c4 c
} 3 |6 N0 M i& B; s" D8 x
else
! B1 _8 j- U ]% u6 B8 W( M4 J {
6 V' z2 |- ?* H# d( R return Selection.Response.Cancel;
4 s1 [0 y2 S ] w A$ z7 u( f } : u8 G+ g! \) R/ W- W
} [/mw_shl_code]2 z8 t% e# E$ Z+ Q: V# P
|
|