|
|
int viewview=1;
1 A% z) t/ g0 g9 DUF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view+ G! K3 G$ {: w$ @) @" o: |% Z
9 ]# I5 z5 M: v! q
' J2 E4 G i# DUF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象
( m4 W9 B2 Q2 B; u$ G, `% OUF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象
# L1 a1 \! x2 p, R: q; M* p! o0 @, Z2 `' i& L# \/ ?
————————————————————————————————————————) |# s( Z& `+ G
列子选择视图里的直线边缘
3 i2 K0 b* W; _' |& k# ^$ B8 i# q# F( T& o! K6 m
#include <uf_drf.h>
9 W* U2 q% t/ ^% j; ^0 n#include <uf_obj.h>
) r! j9 i- ^1 M B7 e1 Y2 k" i2 i#include <uf_curve.h>
( Y: Z% a; G* _: K- s#include <uf_csys.h>, [' k: A J& |& [! T8 `
#include <uf_modl.h>' o5 b$ M& g) i9 B3 w7 x
* F% b1 L3 b% G) e# x, W. i( R! ]
% ~$ x# A; m0 S3 ~
//设置选择的实体类型3 n& k9 o) R6 q9 [
static int init_proc( UF_UI_selection_p_t select, void *user_data )
. ]$ Y! ^" u) f, T0 C{
`/ T- X1 A# G' A0 r0 ^ int errorCode = 0;
& ?" [# N3 h& W) w
+ J9 \$ y) w P# ?$ O int num_triples = 1; //选择类型数量2 m% S# F4 F: j4 E! [
UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型
2 U0 t3 E+ ?$ e1 N _) S5 J) d$ S3 V/ M# J. N4 D
/*
+ z9 S5 }' }% b( v1 Y+ O; bUF_UI_SEL_MASK_ENABLE_ALL 所有面具类型+ m3 C; J+ o, m# w& ~' O
UF_UI_SEL_MASK_ENABLE_SPECIFIC 面具使特定的8 P4 y9 o; s; O# _
UF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定
) z* u) U2 {$ \/ L" FUF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定; `' I$ e. j- n0 U: B2 J: `4 [
UF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定* Z$ k% r6 L) U0 i* t
*/
- \! f8 C2 f" A7 F, t) A; O. a8 WerrorCode = UF_UI_set_sel_mask(select, . Y, x+ t+ G: C+ Q" \0 F# F
UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
; X" o+ G* E* k num_triples, mask_triples);, g+ c, `) ]- U4 b% }+ N) p
if( errorCode == 0)1 S" B$ l% R9 b1 V2 _- R) J
{
* d( x5 G$ J& N5 K9 f& areturn UF_UI_SEL_SUCCESS;% h1 Y( U# i5 J
}. w1 K) ?8 o' h# \( R
else
# w; l# A, D5 I% K1 f1 g{
% \) ?4 A3 ]0 V+ O5 _& P% g# m return UF_UI_SEL_FAILURE;5 _7 Q; x$ ^4 @6 Z3 C" M6 U. {6 {' A0 \
}
: X$ b C- ~6 I& V% @}
" a/ t: N' a& S7 V+ Y1 D" e( ~1 z( x5 @5 V$ K
V" N$ w) @8 ~7 C+ d
% P) ^+ h5 Y1 x /* TODO: Add your application code here */
. ?8 z* s# L. ^2 v& X9 o* z! M- c* _$ \# R( u' H
char *message="梅雷提示!请选择视图边缘。";/ l/ e, `5 G. Q9 ], \. a
char *title="梅雷-QQ1821117007";$ z$ t2 H9 X$ s: R0 Q
int scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围
8 i9 x0 k& S' h4 C! i9 n8 J /*8 n6 x+ ?/ Y( {( M% v' Y% }
scope=UF_UI_SEL_SCOPE_NO_CHANGE; //选取范围没有变化& u& ^, |7 ~0 ?
scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY; //选取范围在组装
: f+ N' @7 A4 ~/ x9 m scope=UF_UI_SEL_SCOPE_WORK_PART; //选取范围是工作部分# R5 W5 W/ n. h/ v6 T1 U
scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC9 U. {& l$ I* W8 ~: F5 L6 R
*/
( l- i% x, T2 ^) R8 n7 ^+ tint response;
% ~7 w. j h2 j9 ftag_t object_tag;
4 _: I) d S9 N0 I2 _, N$ Ldouble cursor[3]={0.0};
! U/ G; I- i! o7 B' V0 Otag_t view=NULL_TAG;: W1 ^5 o% m" U; |
7 J( n2 T' ~0 q! ]/ S; _% K
UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁 L- s2 Q; T, Y) W/ F7 g" A
UF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)1 B' [) x. O8 ^' ?# H
UF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view); //选择框】8 [4 f. G) R" ?7 b6 b
UF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)4 ~3 \1 S3 f9 ]
UF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示
( u- H# B3 H: ^' e! D: e2 tUF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁% }1 M0 o: D8 h, H: u
! {+ |% }* q; {$ Z4 c; d6 q g1 X
0 v) b1 K3 F w& o5 [" @if (response==UF_UI_OBJECT_SELECTED) 2 V# O3 |4 _3 Y. ]3 _1 g q+ U
{6 T$ O" ~3 s3 w I. N: Z* D( O$ ~
char view_name[132]="";& _- n. b; v: n
UF_OBJ_ask_name(view, view_name); //获得视图名称: z& Z$ E. K" ^# p
uc1601(view_name,1);
' O# E$ ^( f1 U6 l}
5 B2 K6 [3 D6 h `, \ |
|