|
int viewview=1;! H4 F" {2 V1 W: c: q" g) h% h" ]
UF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view
k8 R/ x+ o2 M3 v, W- B
+ e& D/ W) r6 A& `* n: F8 B) k* z5 B u" u$ l% V- d+ B9 F/ `7 d( I, `
UF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象4 U. \6 }, P W0 n; L
UF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象+ B4 Z: N% m; y" t' }) G3 j
" K' N d" \/ H9 r* M/ ?————————————————————————————————————————: \, O( H, d3 {3 h
列子选择视图里的直线边缘( T/ i t4 e$ O2 R; i
0 C- Q) G8 E( w2 P9 E/ W#include <uf_drf.h>( Z A' C# G# N$ ?
#include <uf_obj.h>
8 C2 N+ X# Z! C- f5 |" w! {#include <uf_curve.h>
( _* o6 f. b+ w#include <uf_csys.h>
1 |1 @" S* ]/ ?" X6 u#include <uf_modl.h>
/ g# l/ ?6 m; ]1 s- s) l5 E4 O; O
5 j9 x. ]+ V* `+ U( r+ G2 G9 j$ a- R' }, {1 y
//设置选择的实体类型
, Y6 K3 `; ^, F) pstatic int init_proc( UF_UI_selection_p_t select, void *user_data )* f1 g7 F+ N& T
{
$ A0 I& j. R0 `3 c6 s int errorCode = 0;
: W. S: \, l+ u: n# A$ N |
|, e. r$ N& j7 W* f int num_triples = 1; //选择类型数量
0 }- C O% @, \* v. ]( l) |" g UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型# o2 @0 A0 K( O2 W% N) z
4 `6 O2 p! Y# T1 z* ^ j4 i- g
/*
7 I6 {1 E7 P( F: WUF_UI_SEL_MASK_ENABLE_ALL 所有面具类型
& L+ ^; }( t+ m2 N) ~UF_UI_SEL_MASK_ENABLE_SPECIFIC 面具使特定的9 ?/ ?3 v! `+ I6 i: ^
UF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定! C; w9 f% T4 e- {9 @
UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定- Q) Q, W, D2 H& a# r9 ~, E; a3 g
UF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定
2 K: i4 Q! T) j6 u4 s*/6 d' {5 u9 p! G% W3 ^! S8 N
errorCode = UF_UI_set_sel_mask(select, 5 d+ ~# z2 q+ Y* {
UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,2 f/ M* `1 _3 n
num_triples, mask_triples);& Y2 [1 `. C2 i: s6 B
if( errorCode == 0)" G7 _; @; s5 Y, K$ X
{$ ]9 H' v, ]$ q4 S. C0 b
return UF_UI_SEL_SUCCESS; {" N! }+ K; X. |- B" T
}
/ b4 E" b8 D+ V* L else! t4 X1 f/ X' p# U; y/ d8 r
{
# q0 Q2 E# R! E4 r' W- z return UF_UI_SEL_FAILURE;; R* T: T$ I0 i5 Q4 Y* J
}, [" Z( @2 G: T5 Y% V$ V Y
}; {( i2 n* [7 D0 M) t
/ P# x* V c( _. b# h7 ~
$ ~, B9 u% ~( u' |# M `9 ^' X6 l) f/ [2 |, T& b
/* TODO: Add your application code here */2 z+ ^. y4 t8 Q0 I
5 @0 M+ I- v8 P1 O
char *message="梅雷提示!请选择视图边缘。";
! P+ a$ x N V9 G0 A- I char *title="梅雷-QQ1821117007";
3 `* e) I5 [: i9 l$ j8 T+ ^8 }# E3 y4 u int scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围
( R5 J, X% h: d! L/ u /*! x4 A. ~9 C7 |. B3 j" D
scope=UF_UI_SEL_SCOPE_NO_CHANGE; //选取范围没有变化
; D- ?4 b. d( ^: O scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY; //选取范围在组装. I8 h$ s% U3 U" ^- G, Y
scope=UF_UI_SEL_SCOPE_WORK_PART; //选取范围是工作部分" t! T; r5 C# Q7 K
scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC
3 v4 |$ }! |6 y4 O: J6 {( o */
# ^! F9 `" j" Z2 s6 Fint response;
$ h0 k) [& a6 @7 y( Jtag_t object_tag;
, S4 x* f3 A# \% cdouble cursor[3]={0.0};
5 D' P* a' [) a6 A% ztag_t view=NULL_TAG;
' ^' B. w/ Z4 [" p: D7 G) p/ S' B
UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁
7 M- }/ d8 u, Q4 KUF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)
+ d! h7 T5 ~8 J+ W' X8 C* UUF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view); //选择框】
6 u2 |7 g; _ QUF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)
6 d, Z1 ]% m" |$ D2 I+ t; NUF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示
) _- D3 j8 N: P* s2 lUF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁5 Z" L* |# z8 g, @" Q* s& H
6 n) l! {7 c& k
) e0 I+ g. Y8 O8 w2 sif (response==UF_UI_OBJECT_SELECTED) 7 d2 ^$ N3 }# j& | Y. f& d$ Q) a
{
( V5 E, ^4 j" z# w char view_name[132]="";
^1 _1 S" ]5 G/ Z UF_OBJ_ask_name(view, view_name); //获得视图名称
& W O9 `; v! }/ }( H uc1601(view_name,1);
4 }: D/ I! C; b; e* U0 e$ E1 B$ N& |}" s f9 M2 N! a( M# m& f
|
|