|
int viewview=1;& W' M* c: u" H; Q3 F1 L
UF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view- i. e! q2 H! J
/ E. r) D4 n1 ?7 S/ X& t4 i' Y
3 \$ [# G6 _6 u
UF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象
1 K, o* ?# t- {, yUF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象
7 I( T' _; X" e3 D9 l, m3 M$ c! o8 `# P5 I- C6 p
————————————————————————————————————————+ S8 r$ X" r0 E8 u
列子选择视图里的直线边缘6 Z& [7 j- Z% q- ?" K
7 e8 z) V) g$ g; v#include <uf_drf.h>
3 j" ~6 J- K N8 I @) Y: X#include <uf_obj.h>/ ~9 N+ `3 S, q. |7 P+ A+ v/ _
#include <uf_curve.h>1 I& j9 M" M# Y8 r( g, }
#include <uf_csys.h>; }9 O" z# w- [+ V6 ~$ l
#include <uf_modl.h>. J5 L) C9 d7 U- \" f2 s F& D, l
% X5 H8 I7 c+ M" ]+ @; P% o& q' X% m% }6 M2 ]
//设置选择的实体类型
) D6 ^, O$ q/ I- A+ ?/ astatic int init_proc( UF_UI_selection_p_t select, void *user_data )6 C$ a; M6 V2 F9 W j: f" H& h
{% L! X, B% {3 ]& D- }! }
int errorCode = 0;
. r8 C' l, e9 `* P% s: z2 P3 Y
8 t3 P% k7 ?2 y r/ X int num_triples = 1; //选择类型数量' `5 y5 K4 x m0 M4 Y4 X
UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型
# E* y6 @3 P$ f5 M! g, Z# \* L2 S; w3 s: q. v
/*
, S7 Q, O4 d7 ^% _UF_UI_SEL_MASK_ENABLE_ALL 所有面具类型
5 s% X! R: {' A2 p$ eUF_UI_SEL_MASK_ENABLE_SPECIFIC 面具使特定的
4 q( l; X! F. [% W9 F* Q9 wUF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定
! N8 h& X4 N* }$ W qUF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定/ k: q) C f) t+ x8 z1 j
UF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定: Q {- }& g6 ]2 l! Y) C7 q% B
*/* f- A8 n" P* ]1 l1 |/ K
errorCode = UF_UI_set_sel_mask(select, ! y% r2 K6 |. d$ j/ t _
UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,$ q8 c/ v2 F9 g G! ^
num_triples, mask_triples);$ K6 @7 p- l$ s) P5 c
if( errorCode == 0)( U1 m0 Y8 Q" [ y# r7 ]/ R3 w# k
{
8 b; \7 H& A) t" ?return UF_UI_SEL_SUCCESS;# D% I! q; Q- d0 A' X* j
}
& L5 |( [3 q/ _% g; _6 D else* \. b+ z! D3 W$ P( t8 D* t% x
{6 \+ m$ Z, z2 h6 i" [
return UF_UI_SEL_FAILURE;
& _& V' h( z$ f# W7 K}. w7 k/ D7 `, b: r. a. P& T
}2 {+ v% x8 f$ l' ~' i }/ A
1 C0 S6 k6 S" n4 D7 l4 l- J/ ]# ~ q6 P8 w6 l
5 b2 g; A$ X: J8 a+ ?6 ` /* TODO: Add your application code here */
* q, b$ F+ \% R) ~: \) w" J& p. T! \; q# K) {
char *message="梅雷提示!请选择视图边缘。";8 I: G& c( Q$ [3 B0 {" g* h
char *title="梅雷-QQ1821117007";. N( u( x9 @0 o% a# _& f2 Q
int scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围$ j: H" ?1 ^, F" U; ^: e; Y
/*4 p1 \" }' j" x& s6 e
scope=UF_UI_SEL_SCOPE_NO_CHANGE; //选取范围没有变化8 N# B2 h' ~" }! k' v4 M. b' Z% J6 f
scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY; //选取范围在组装
( A0 _8 _' H$ v' I. f+ B4 P+ H7 r3 D scope=UF_UI_SEL_SCOPE_WORK_PART; //选取范围是工作部分3 S7 N u" f/ `- R- [) S
scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC- P, ]/ i( x: w$ S* l, ]9 p/ O
*/4 [8 J0 t; X# A' f2 J
int response;
4 e; q+ w' H- @" \tag_t object_tag;4 [% \0 \8 O& n+ o+ s9 r9 x- e( e
double cursor[3]={0.0};6 Z- f9 R2 \1 L2 q
tag_t view=NULL_TAG;
5 S* a; L2 P9 `4 s; ~1 I& C3 W
% S- D4 D+ |7 o1 W, M6 ]' eUF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁5 }/ H$ [- j: u; I7 ~* t# E
UF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)
4 H! ?0 d5 `6 kUF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view); //选择框】5 u! w& y. \. j; y1 y
UF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)# @7 p' A$ H; z( X! P
UF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示
5 }4 Y6 {2 c7 e/ QUF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁
8 z$ j0 L. S+ S2 h3 a9 x0 h; Z4 t9 j6 S: W" _
3 _2 f2 T5 \' Z1 D, Z4 p1 y+ h- Q% _
if (response==UF_UI_OBJECT_SELECTED)
2 z5 t4 f7 f F' Q{# u3 T% A) q( u. u4 Y9 z9 S
char view_name[132]="";
) [& K8 O5 ~9 Y: ` UF_OBJ_ask_name(view, view_name); //获得视图名称
& @* d$ Z" i9 h7 H6 E! e7 B uc1601(view_name,1);! h' e- @7 }0 }: O5 A$ |
}7 G& X) n/ Y3 V: ?% A: G% I- S
|
|