|
int viewview=1;4 l4 o* m1 V$ _0 k" P7 o( Q* j
UF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view
5 S( u2 K ?, x
3 l, Z0 ]- A/ h$ K/ ^ N, a7 T3 R; A, ~6 u, O. X7 F: D" c
UF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象
8 \, j/ ?; y5 x$ u0 O3 rUF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象. G1 M7 h2 I% ?9 z+ p, ?
! _$ p# a% D( ]: b5 F+ Z————————————————————————————————————————
$ h* w5 M9 Z3 |: h9 _) C; M列子选择视图里的直线边缘
, \" ]$ ]9 f' u" W4 t
, p1 ^* |# u* F#include <uf_drf.h>
1 u9 W" s/ Z8 I r3 p5 Q' C#include <uf_obj.h>
. S4 z5 L7 ~- v- ^5 }#include <uf_curve.h>
8 |7 W" k, j! X#include <uf_csys.h>* A) r$ V* k [" m
#include <uf_modl.h>
7 F( B- Y) A$ F& _$ B0 f/ o; [
% O; I8 p! G6 C
//设置选择的实体类型
' h4 d# s4 y. k+ f1 D* ostatic int init_proc( UF_UI_selection_p_t select, void *user_data ) {- ]7 _: ~" l/ v1 R
{2 V- Q- y1 Y3 C# M" W+ K
int errorCode = 0;
" O g! m) `' Y: w' L) }$ R) Z' r x+ i
int num_triples = 1; //选择类型数量
6 u$ U' |! C6 o% F( ~) I | UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型8 c6 D& c+ G+ e9 D* h
& u7 |, L2 s, ]2 _! ?# A3 c/*
+ R7 V1 D& }. P5 r/ C5 K6 e- YUF_UI_SEL_MASK_ENABLE_ALL 所有面具类型
1 n2 d# Y0 o0 L4 i) n: p6 M) h+ [UF_UI_SEL_MASK_ENABLE_SPECIFIC 面具使特定的
, M8 v, t/ z! ?' W) ^; ?UF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定
0 s+ a7 |( |/ _4 S* z0 x6 YUF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定8 Z3 l! a; `& D1 N C9 E' Z! a
UF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定) A s( B; g, b8 w* b
*/2 [* |. B- X0 q# A
errorCode = UF_UI_set_sel_mask(select,
, \8 o g( e* r5 W UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,- \ z& z/ P' p% C
num_triples, mask_triples);
- A+ _8 Z0 s+ r; Jif( errorCode == 0)
% `( f: W3 O! I1 V{' D# s3 I' ^: t7 S7 n. n( L3 [1 n, J% V
return UF_UI_SEL_SUCCESS;! ?: l" D+ R5 F3 S/ z t
}2 K2 ^4 f( [' Z$ t+ [1 O3 q
else
# f8 [. H- v2 j' K. c# l{
2 q: `( O6 P, N% V return UF_UI_SEL_FAILURE;
& j+ t7 N; s1 L}2 ?& v8 {% f+ z2 Z* f
}" {/ C2 A( D( R3 k, r
# E) [5 B/ q$ P' @% s1 M1 E, h0 B" n1 `6 n# {8 {" W* E1 Q/ i
4 C- ~& [7 V2 G1 h) e! b W
/* TODO: Add your application code here */
8 d5 b, H! Z$ h: J& @! D
7 Q! V: x4 j' A/ G. m3 G0 W char *message="梅雷提示!请选择视图边缘。";: W, O0 d* P, K7 I0 e
char *title="梅雷-QQ1821117007";% p5 r8 r/ ]) l5 Z
int scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围
; }' ~( U. |% W. a7 H/ r3 y /*; M) |6 d" @( M: y
scope=UF_UI_SEL_SCOPE_NO_CHANGE; //选取范围没有变化( _: ~6 i: o+ `) d6 q x, Z
scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY; //选取范围在组装
' q0 ^5 J0 i$ E* e+ k# f, i scope=UF_UI_SEL_SCOPE_WORK_PART; //选取范围是工作部分
- S9 C* y' f% B. J2 o1 w scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC
) H- F! L6 @! R: W. U. T' @ */( r5 o8 p) ^2 S' ]
int response;. Y' ?2 H/ y- M
tag_t object_tag;
0 \, W* {- o6 L7 M+ c. T J& wdouble cursor[3]={0.0};
0 }( @" _/ n% S! U, Q& ttag_t view=NULL_TAG;* g# J4 n* `8 l; ]5 V+ w `1 Z) }4 m6 z
, P0 ?% R+ K2 O& L8 g* ?. J
UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁; g, V. A# [' s( T
UF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象). {3 H. r4 |% f3 T
UF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view); //选择框】; D8 S& F5 D' b$ q+ e" G
UF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象); G5 K \, g5 k& T$ L7 ?5 S
UF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示0 x: q" ~! I5 w
UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁
/ A7 H# G4 ]' i
2 A) P. f6 ~; Z( Z1 Z' J$ m5 t2 t% ^
6 o9 c2 A) V/ o( V, a1 Xif (response==UF_UI_OBJECT_SELECTED) S5 S5 `$ G) L8 f5 ^. \$ ]
{
3 U& }. ]& X9 c2 o# H char view_name[132]="";, G0 ]: O9 w( n8 x z1 Z# i" w' H8 Z
UF_OBJ_ask_name(view, view_name); //获得视图名称
- I# G* [- l9 u* s. q uc1601(view_name,1);! P/ g3 h0 r( J7 T+ B
}) r: m0 s, i) Q4 q
|
|