|
int viewview=1;7 y% o1 k8 F) j0 L9 a
UF_UI_ask_cursor_view(&viewview);//获得你选择的视图范围类型0 = Any view,1 = Work view
3 G; G- |, D6 L3 ^! s" Y3 @% W
3 A5 O% J, f; g) C7 \2 h* o
9 s# N& S+ ^7 z( v& wUF_UI_set_cursor_view(0);//可以选择“图纸上视图”里的对象) s4 X7 z& G* W) M- X/ L0 L
UF_UI_set_cursor_view(1);//可以选择“工作视图”里的对象
( n- e/ k8 S3 ]1 {
, x5 h r0 G7 X————————————————————————————————————————
0 m1 J6 ^) b$ g& g/ a* M8 m列子选择视图里的直线边缘
" u3 q) w: E, f+ O& a
- J8 [* H: m# ]#include <uf_drf.h>
5 A K2 S9 F" ?0 d9 o: C6 l! z#include <uf_obj.h>
! ^' R) [+ }* z- A- t/ f# n#include <uf_curve.h>
. j4 M8 p9 {, W( W% ~9 s& P#include <uf_csys.h>
7 k5 l# Q3 p- p F2 c X, W#include <uf_modl.h>, C) C' b+ Q2 ]
~6 q- ~/ e8 s# I; j3 H: E% p& t/ k
//设置选择的实体类型+ Z0 ]0 n9 S8 s- F! H% Q
static int init_proc( UF_UI_selection_p_t select, void *user_data ); ^! k4 e: h, ?) b
{& @' l! @6 K" S# E7 t' b
int errorCode = 0;
4 P2 T1 v2 u+ c- k
; g7 b) U3 E2 d5 [8 y& V7 D int num_triples = 1; //选择类型数量9 l5 m1 }/ Y$ [) S3 a8 _! ?# t) `$ |
UF_UI_mask_t mask_triples[] = {UF_solid_type,UF_solid_edge_subtype,2};//选择类型( J* T" m9 ?+ Q5 ]
7 V% q. \( A! i; \9 k$ Z2 T$ A; e
/*# B% a/ c0 D* r# H
UF_UI_SEL_MASK_ENABLE_ALL 所有面具类型
7 r3 ]8 [% g/ U. b1 Y/ DUF_UI_SEL_MASK_ENABLE_SPECIFIC 面具使特定的; Y. }' k9 i9 v7 t8 P/ C+ {
UF_UI_SEL_MASK_DISABLE_SPECIFIC 面具禁用特定
* ^8 Q& B% N+ I) uUF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC 面具清晰和启用特定
9 D z i& Q; ?UF_UI_SEL_MASK_ALL_AND_DISABLE_SPECIFIC 面具和禁用特定
' ~; n5 |$ E* s# y! c& R7 a*/
" g2 t& k# q& DerrorCode = UF_UI_set_sel_mask(select, ]9 ?% K$ f# A; D4 f4 k- C
UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,' L; V. |7 U5 A2 f7 ?( m
num_triples, mask_triples);: I+ Z& K5 e+ [/ E! Q
if( errorCode == 0)
4 _. Y8 K% Z7 O4 G. ^{! m7 n( _; f; _- G8 y6 `; T
return UF_UI_SEL_SUCCESS;% n4 k* A1 n) Y4 F; f) O# ]
}
; }8 G& E" s4 t: Z8 S N$ p else
1 P- [# \) g; D+ U8 X- M$ I{ r. ~" v$ d1 ~$ T b; O t8 E1 Q
return UF_UI_SEL_FAILURE;
+ m* r8 _% {) d* _. F3 i}
; a6 l2 G8 @4 D0 p, W7 q; @7 A}) ~" {5 d* Q7 f" _" H
( E. F7 r/ S4 Y! a
3 a& u* C- O3 b( F5 x X- V
5 p' u9 G# Z" c2 n( @& g. d% { /* TODO: Add your application code here */% ]# a, ^) K! q4 n, a1 c4 {
/ o5 k0 R" n* n1 t- D B char *message="梅雷提示!请选择视图边缘。";
8 D, @& H. d! q2 m9 p! g$ G char *title="梅雷-QQ1821117007";
) f2 p# M3 g" V C9 @8 m$ h# S' u int scope=UF_UI_SEL_SCOPE_WORK_PART;//选取范围 V; M# A# P5 `: r1 {" g$ r
/*6 C: @' r9 E1 r }% y5 j
scope=UF_UI_SEL_SCOPE_NO_CHANGE; //选取范围没有变化' r y! L5 ^5 P4 j/ E
scope=UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY; //选取范围在组装
, b* b7 F$ y9 Y0 L3 Y+ ? scope=UF_UI_SEL_SCOPE_WORK_PART; //选取范围是工作部分
* [, x5 o2 I H* ~: m. m! Z* O scope=UF_UI_SEL_SCOPE_WORK_PART_AND_OCC; //选取范围是工作部分和OCC8 ?8 Y; a# f2 r) u* S F
*/
7 v; Z z: _: x: Jint response;/ H. {' x/ k" `) O
tag_t object_tag;
" P4 j1 e, I/ m; K% b. h4 n- @% bdouble cursor[3]={0.0};5 ^: L; E2 w9 D9 w" k- n: \7 ~
tag_t view=NULL_TAG;5 j. P5 C8 I/ ^( @/ F& `
, ]: j g6 ~8 {5 Z2 M+ T+ {
UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);加锁
) ?3 s' K& V3 VUF_UI_set_cursor_view(0);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)- a q( e' S( z7 ?( Y5 k, k5 d
UF_UI_select_with_single_dialog(message,title,scope,init_proc,NULL,&response,&object_tag,cursor,&view); //选择框】
/ K1 u3 @" F' {6 hUF_UI_set_cursor_view(1);//0 = Any view,1 = Work view (0可以选择“图纸上视图”里的对象)2 S# w( I# J, [! f
UF_DISP_set_highlight(object_tag,0); //1高亮显示 0不高亮显示
`* ?* J. v# V9 z gUF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);//解锁1 w6 n5 @& k7 Y) C7 Z" O7 ^4 p1 s& |( }
3 d- |& m8 v2 f. v- L8 t- E
/ H0 S+ e- }1 N& H
if (response==UF_UI_OBJECT_SELECTED)
) s$ `: K) W% O5 O; d: E* s+ r{
1 Z, d- c' Y6 G1 v char view_name[132]="";
1 v) }4 c; P ~, q) u4 c UF_OBJ_ask_name(view, view_name); //获得视图名称7 x$ r+ k6 @; y' S' K
uc1601(view_name,1);
6 m* e3 H/ G o7 S% H3 K$ ?}
2 F; q; Y8 b7 d8 G5 W7 K4 v |
|