|
|
int viewview=1;
' M! G- N6 ^6 X0 @& C# w7 ]2 i4 KUF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view. `6 k( y5 z5 i2 g
( k* Z# h; x; z$ h
: t p/ o; D$ B# s7 lUF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象
2 H8 N* n& g' _3 q% j9 MUF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象
. ~3 ^4 `5 X+ \; c$ q) A% G
( s4 X+ F* G( [: @0 L% L# |————————————————————————————————————————
- v" N6 [& D; n' U' \: g列子选择视图里的直线边缘
0 J, h) C$ b5 m x* r
4 V$ z3 t2 U- P. v#include <uf_drf.h>$ l( ]$ f2 t% a w
#include <uf_obj.h>
" L; q# p" O h# A. \: f# n- v/ I#include <uf_curve.h>0 Z k( s3 \% `' }2 T
#include <uf_csys.h>
8 w$ D+ C- j2 d7 V. R- m#include <uf_modl.h>
& E) |; ^6 [& O g
6 i/ `! X6 m( c9 p" W( F
0 F# [+ z6 j+ J* f3 l4 U6 ~- a//设置选择的实体类型$ @ N. G6 x+ I4 f$ `% p
static int init_proc( UF_UI_selection_p_t select, void *user_data ), F9 ?3 N4 I& |
{
1 N& M% A3 r$ H# n5 G int errorCode = 0;1 ~2 B7 c; P' ~% A4 o; z6 L0 M
6 h1 X6 X% |9 }9 i' e int num_triples = 1; //选择类型数量1 R3 P/ d, T% w1 I
UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型
/ l* d9 h/ n1 z" v8 e: Q, Z; v) o/ E) x* o3 Z& h$ G! l0 b5 d( z
/*! _% ^: p7 \7 s; G2 E2 Y: \. d
UF_UI_SEL_MASK_ENABLE_ALL 所有面具类型
1 S9 |5 Z; P% b! ~UF_UI_SEL_MASK_ENABLE_SPECIFIC 面具使特定的6 y0 C& u$ c$ |' _2 k0 @ ~
UF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定
9 T. I9 `3 u3 WUF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定4 R; t5 Z0 f$ B
UF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定
8 ]& y. }3 v6 f8 t*/
; K+ _1 `0 T7 X# NerrorCode = UF_UI_set_sel_mask(select,
. Q! W7 `/ U& ?( S E UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
7 Y' ?: R, T, {3 A$ X num_triples, mask_triples);
/ ~7 p3 u4 M' f! P" [7 Sif( errorCode == 0)) g% k. c# P2 [6 R, s
{; F2 ~- X9 O& d
return UF_UI_SEL_SUCCESS;2 p. O1 h' P. V Y. Q
}, w3 k+ A$ }* V( y$ u- K4 ]9 g
else
: z& I/ O6 E) o6 ~. G{
, C/ |. A) E# j: x! x8 h return UF_UI_SEL_FAILURE;
2 L; O8 @: B" L+ U3 n% p7 ]" i}2 Z6 Y2 L) _# ^: e
}
0 a+ f0 t* \5 ] z2 \; y. W
, y8 \/ h3 [7 H- `
z* C. \# K- r1 v) X. F) S# x. ]' f, r
/* TODO: Add your application code here */
9 w6 o" b3 r0 W$ l
- q, D: Z% @& m* w! N$ \% ] char *message="梅雷提示!请选择视图边缘。";
) J9 w6 e, J5 T/ W5 D char *title="梅雷-QQ1821117007";
9 i, J4 c0 W8 d7 p9 V% _3 s int scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围
0 F4 y' F. i& U | /*$ R5 \+ Q3 h2 N, t# s1 l
scope=UF_UI_SEL_SCOPE_NO_CHANGE; //选取范围没有变化' \6 p+ [2 u. D% l0 o2 O7 t. ~; B
scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY; //选取范围在组装 ~( @8 [% O, m. ]) M
scope=UF_UI_SEL_SCOPE_WORK_PART; //选取范围是工作部分: v, q6 N9 A! b5 w( `
scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC
1 k# o1 S: Q; M: j" ?3 L */# R# \0 b& v h7 c: u2 o; o
int response;
4 O' i1 M- S: ztag_t object_tag;0 o. T, b/ D0 u& C
double cursor[3]={0.0};/ ~# B7 z# u! |6 c, `- w9 _9 T, T
tag_t view=NULL_TAG;5 K% P; C: U# Y8 q
& G( }" a- Z) n
UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁
( A# V! I* y7 y0 v0 Q/ l0 ZUF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)
+ A$ V' s9 ^6 s. G ]- U2 PUF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view); //选择框】
4 H+ x* U# N- Z* a. V; lUF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)- S/ r0 p+ n$ w' [- E ?9 ]& M
UF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示' `$ t8 x! C# w- {$ U* p6 g
UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁
6 K+ c7 M, a! W) \7 M6 f" s/ o( b9 ?2 c" e) E7 i% w6 p
6 A- w( c( T( Z7 X4 q- \
if (response==UF_UI_OBJECT_SELECTED)
$ I3 M& h. U# }: O+ G{
: b, C7 q& M4 @( ]9 s char view_name[132]="";8 X2 X* Q: L1 N! y, t( u/ g( \
UF_OBJ_ask_name(view, view_name); //获得视图名称
6 P' c! X8 _7 [9 e: d$ K: `2 w! v0 m uc1601(view_name,1);
. Z9 M: X0 a2 C}
* \" v6 y& _! p, E4 w |
|