|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
; s' {' b- b0 \* Z! @
% }! F7 S7 K" @* jNX二次开发源码分享:选择管道routing线段的方法3 ~2 K- K3 c! }2 C6 ?
: `# L g6 m& b" U4 m. u# o代码是C#的,主要是告诉大家masktriple的设置如下:, h4 G& J! Q; Z* {# l
3 F3 K* K& U; b0 a
# j* _# Y+ O( Q# k+ C2 [mask[0].Type = 0;
# U* P# U) Y" _' ?mask[0].Subtype = 0; " A, {/ n( n: ^
mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY;
) |: w+ C! ?1 n8 L$ f
. @( E: V& R/ f9 k( ~% R[mw_shl_code=c,true] public static Selection.Response select_route_segment(string prompt, ref TaggedObject obj)
, K1 h7 a: g) F+ `/ | { 6 s, L" T$ _/ b& e
TaggedObject selobj;
6 T2 c) r* v- C2 C; J" N UI ui = UI.GetUI(); 8 y3 w; u- e, K1 v- B6 s
Selection.MaskTriple[] mask = new Selection.MaskTriple[1]; 1 ]: H, {; F |" J" i& x
{ 9 O9 z; v1 B9 L9 D7 [
mask[0].Type = 0;
; [# n# @" i7 O mask[0].Subtype = 0;
6 T4 f. m& t" O4 B mask[0].SolidBodySubtype = UFConstants.UF_UI_SEL_FEATURE_ROUTING_CURVE_ONLY; - ^& ]1 V+ V ]
}
6 `9 e$ q i z) O Point3d cursor = default(Point3d); ! L. A9 v8 f& b, W) K/ A7 F
# e8 L2 r9 x# |) ]8 n6 q1 o. T( Y Selection.Response resp = ui.SelectionManager.SelectTaggedObject(prompt, prompt, Selection.SelectionScope.AnyInAssembly, Selection.SelectionAction.ClearAndEnableSpecific, false, false, mask, out selobj, out cursor); / K% d( c8 @7 S# f- Q: Z# a( {& B0 H
; F; `* }( G' X3 l7 U
if (resp == Selection.Response.ObjectSelected | resp == Selection.Response.ObjectSelectedByName) + v, L* v& a/ _+ P7 S }
{ 3 b7 f( K2 q0 ]# J
obj = selobj;9 L' n r, ^) p Q. N
return Selection.Response.Ok; $ V# L8 X" K! j" c5 F( a4 W4 ~
}
* V8 x* ~* m/ d! Q else - E5 I; n% q3 }% s! C8 c5 X G
{
! M, H3 N) g4 z! |/ p5 H return Selection.Response.Cancel;
7 X" U5 T4 X9 q. o9 ~ p }
- O3 G( T1 s+ m4 i } [/mw_shl_code]$ } e k+ k6 z7 v l( m7 V* d" S* J
|
|