|
int viewview=1;' f' S _2 e3 M
UF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view
8 G* y+ \) C0 n
$ N% |. U' V+ }" j- b+ L, L8 x3 B8 t3 u/ M* K! R$ Q
UF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象# K, ~ s$ i5 H( f$ k
UF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象
# w* B) \- {" J" v- `
2 J: y! g" e' |% W. {" _: }————————————————————————————————————————0 h9 n/ x* S% D+ Q0 m, q" ?
列子选择视图里的直线边缘" x1 W# b' R7 N9 A% l/ j/ W
6 N/ k+ o u; F9 |5 M- n2 G#include <uf_drf.h>
" P. G$ w- `# u# [0 E# @#include <uf_obj.h>
; G: S* {* r% ]% I1 x; t#include <uf_curve.h>
! ^" [. s( {% u+ i; n+ K#include <uf_csys.h>- n" Z6 ~3 o" M) ~3 T& m
#include <uf_modl.h>
/ E% p& A9 {& j* Q! g% Z( \! w% n9 j
' S1 ?" k* s( s- C6 S2 o; u//设置选择的实体类型/ m4 m, w6 |& ^9 C
static int init_proc( UF_UI_selection_p_t select, void *user_data )
( B, _$ _. q1 d6 F{' v6 x( h* d) n& m$ a5 B* h
int errorCode = 0;# B8 H2 \5 w8 k! {) ?9 C# L9 H
2 w( S2 J) L, b6 |3 \8 \! W
int num_triples = 1; //选择类型数量
# u% m% G1 h* T+ a% W/ u UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型
2 d' g& u/ o& _3 d6 o, v% S9 e" Q7 I4 y8 K2 c; k/ o7 Z
/*% L% P' c6 X1 u( x1 G
UF_UI_SEL_MASK_ENABLE_ALL 所有面具类型
% x& C. ~7 t+ _; D3 @UF_UI_SEL_MASK_ENABLE_SPECIFIC 面具使特定的& J; r% N0 J0 }" ]# O1 b- h* |
UF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定
% x7 i0 m% y4 n; K' PUF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定: D I+ g4 p! w+ r9 K- Z
UF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定
e6 R1 F0 L. ^8 x' z" S/ g*/; d8 I% D6 T z, {
errorCode = UF_UI_set_sel_mask(select,
1 J. Z& K& X+ o UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
9 R% j) O8 O& i0 l6 B# U num_triples, mask_triples);
' Z y. ~" ^; t! n3 ~, Tif( errorCode == 0)
+ ^7 g! W% V- O) L0 j; a* N{: L: L e: V: Z* j$ {
return UF_UI_SEL_SUCCESS;
! B9 A$ ~1 M: y5 J, c}0 b+ z3 F$ \* W- ~ H) P* H) h3 x
else* e. f% |1 P6 a& f
{
; {; _2 f. m3 W6 d return UF_UI_SEL_FAILURE;- v# ]2 h# e0 b9 z
}
1 n$ ~9 ~+ |, D1 R% o: i# F$ C4 }}
( m9 a/ V& o9 k8 z! C2 _+ h, [% U; i
/ e6 Y- g- m4 H: p& ^: v' S
7 }$ j6 x( Q. n0 l. j1 j7 z+ p }- d- T
/* TODO: Add your application code here */
5 B2 q( S3 b: q8 D% |
5 X' _; g& ?* t3 w9 C; F+ T char *message="梅雷提示!请选择视图边缘。";
% v5 V* j' U# }. z: _4 E" h char *title="梅雷-QQ1821117007";
* e3 }0 d3 Z% J$ Z3 t int scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围+ u! `) _. ]/ K% v
/*
5 [- g% j' g3 l" f$ k+ h+ g v4 M) N scope=UF_UI_SEL_SCOPE_NO_CHANGE; //选取范围没有变化4 @* Q/ _6 V2 C0 o% |
scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY; //选取范围在组装3 w$ a; J2 i. Y1 P2 o
scope=UF_UI_SEL_SCOPE_WORK_PART; //选取范围是工作部分3 k' L5 B( k8 c7 m$ N
scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC2 Z; r' u, s1 \4 [7 K
*/
1 I1 j* E. v; k& @int response; Y4 e- t9 d9 i7 v; C
tag_t object_tag;
% j- z) j9 J) h! {; `/ O+ G7 H" ndouble cursor[3]={0.0};
5 H" J& o! m! p ctag_t view=NULL_TAG;
$ n% h3 k) q) X$ f- c) e* o. P
7 {. J/ y5 X: \( B; ?* t& S; QUF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁
5 p" I7 {0 V% U, ]7 z% cUF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)- Y+ s7 e5 D& s1 B2 M* ?+ U: {- k
UF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view); //选择框】
3 {: L+ b* o' B0 E. UUF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)+ c4 N4 q8 \8 `5 d' }* H6 ?5 x
UF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示
1 W, `4 p# f, L5 [8 @UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁
0 U+ _8 v) \1 U# H% m3 \* X! a) t% e3 H U% O7 j; ^
! X6 V. g O9 C4 y: N. L# \: {if (response==UF_UI_OBJECT_SELECTED) . P( E8 g4 ?0 L) r
{" s+ \+ V6 U6 V. {/ h6 c, _$ w
char view_name[132]="";% c5 V, ^5 R0 ]2 c1 v9 w, J
UF_OBJ_ask_name(view, view_name); //获得视图名称
/ C! Y+ d E' a# {- M# b- N uc1601(view_name,1);
! t6 R9 |& |6 s}
" _) v; x' d- K n5 p7 n8 f |
|