|
|
int viewview=1;
; e& Q1 x0 T7 V# R6 L+ vUF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view
' | X$ |* F2 R$ k8 z7 c
6 T; W& p4 e% F7 Z/ m2 e
3 h+ |: S, B8 W; v3 x+ z1 EUF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象8 x D& p- k, f8 M I4 V' r- R
UF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象
3 s" @0 N4 \ S0 y/ E! L7 ^ V: F
————————————————————————————————————————, `0 d$ C& ?# | \
列子选择视图里的直线边缘
) p6 U# P0 l. x A. {. r" u* e2 `. p( K' w; u
#include <uf_drf.h>7 m. \# k- c1 b' a1 ~& c- o8 q: ?- c
#include <uf_obj.h>' w$ f9 K& M) Z# C8 }# I5 Q W, f$ o
#include <uf_curve.h>- H# ^: A# V9 n3 d
#include <uf_csys.h>4 ]2 M/ D: ]" X
#include <uf_modl.h>
& {* Q! w- f( g) D' t% e+ r) Y9 M% i. Z# A
* `3 [9 |0 {+ x) E, P2 I. \
//设置选择的实体类型4 f, ~7 H/ c1 d B2 ] h/ W2 _5 ^
static int init_proc( UF_UI_selection_p_t select, void *user_data )
7 r. C+ A Z+ q+ l/ I& o6 j{
+ r7 d2 I/ t6 Q! @- ~ int errorCode = 0;
& _' |; o% B A1 I6 h' f1 n5 Z0 X1 C- r+ d. k' o
int num_triples = 1; //选择类型数量
T5 e5 \* l! Q1 q7 i UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型
) ?) D6 n8 `. [* X" q
6 s6 e! }0 ?4 g; b3 [4 ]: u6 m/*3 D: W' V* ?- n1 Z& _$ H
UF_UI_SEL_MASK_ENABLE_ALL 所有面具类型! V, E/ X/ O4 w6 Y: p( ~' S* O: `
UF_UI_SEL_MASK_ENABLE_SPECIFIC 面具使特定的( T+ e' T9 J; y- D V7 y& m
UF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定4 i( F0 M0 e2 s X+ y* A% t/ e
UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定6 K z& j+ w9 o- C6 F' T
UF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定
7 {( p) _$ g4 S% f& A# D*/
! C9 y. S, k' ?/ L" L! BerrorCode = UF_UI_set_sel_mask(select,
/ c3 _2 u9 x Q; _# f8 L7 w, D UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
7 \/ m) Q2 w) `8 j) H6 S, ^& W num_triples, mask_triples);
' O. m" }& v- W6 Oif( errorCode == 0)
+ `" j' \ } c8 L% r5 a{7 I' K4 P/ `8 v- ^+ M0 V+ G6 p
return UF_UI_SEL_SUCCESS;; f% c. Z" O R0 B: D4 Q6 s9 z1 H
}0 ^5 M% X' G3 H5 q
else
9 @" Y' c$ ?. L. A$ a{# Q0 { T. w5 R/ Z3 j- }6 e
return UF_UI_SEL_FAILURE;1 c, q5 \ m, I. u8 D# m
}
: f/ B5 S( w; |, p: Q: b0 v}" u( K& w$ I v$ v% T+ n3 l
) E# j8 e5 F- b. z* V
4 w* C$ E M* ]5 B: O( W0 q1 x+ {+ d, @1 T! s8 |1 }6 p' Z
/* TODO: Add your application code here */
8 T8 }2 W- o* {/ R- F. `" f3 }$ ]* W% d |7 ]+ V8 A( ?5 P& k
char *message="梅雷提示!请选择视图边缘。";) ^# j8 q8 U4 K# D0 N% q
char *title="梅雷-QQ1821117007";* @* Y7 L" W$ L
int scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围 z8 W/ D( k& ?2 H
/*9 `" z s6 x( w$ z) r/ y5 C
scope=UF_UI_SEL_SCOPE_NO_CHANGE; //选取范围没有变化
5 | X% }% h% ? scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY; //选取范围在组装( m! Y. P, h. s, n2 o, I' n
scope=UF_UI_SEL_SCOPE_WORK_PART; //选取范围是工作部分
' ~4 }6 l7 R. _2 d scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC0 e3 F5 `4 n7 ]- P; E2 c; O4 J
*/9 m' ^/ }" [/ _% g
int response;8 ?. G& T3 p! ^+ r' m2 l
tag_t object_tag;9 F( ^7 t" a5 F" S0 M+ {, a: ~. C
double cursor[3]={0.0};
8 z: b* T! w z0 }+ ?3 }# q% J9 qtag_t view=NULL_TAG;
1 {+ ], j$ m# c2 S2 z8 e! D
, h) }2 J& P/ J, v; \) F( NUF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁 P0 X9 c5 p# h$ C9 I
UF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)3 j) T+ E0 O5 I: v3 y3 q
UF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view); //选择框】7 t" d6 S/ ]( Q) V6 s9 @" z1 D9 {
UF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)7 n" t4 l: c% l( F7 Q
UF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示3 e. D8 k# k1 ~9 C- w
UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁
& X# A- _3 R8 ~! [
2 R5 e0 j/ j. J! K9 J- M+ \8 Z2 M) }4 s) @* Q k/ `/ N4 r3 `
if (response==UF_UI_OBJECT_SELECTED)
7 _9 V* z) l+ p8 d{
: E$ P: Y0 M3 g$ V% K char view_name[132]="";( j" Z( E3 p( i' j9 G" w5 m$ \
UF_OBJ_ask_name(view, view_name); //获得视图名称
# J' o: u, ?$ Q7 H( k uc1601(view_name,1);
, P$ e4 |5 N0 i* w. U}% r8 h6 L d7 U' t! S- @7 h4 |
|
|