|
大家好,我想实现拉伸功能(先选择线框,然后拉伸),但是按类选择对话框打不开。。代码如下:
3 s; w- ~$ Z7 w1 A) \int Project_Model_Create_Extrustion(ModelMandrelParameter *p_mandrel_para,tag_t *p_ext_tag)" Z( H- ]) C0 D9 E1 G1 ^4 t
{& x l& x# ~2 {3 p9 l h
uf_list_p_t loop_list,features;
u0 p9 }& D6 Y. Achar *taper_angle="0.0",*limit[2],limit1[2][30];2 R+ q. e5 ^9 y+ {1 p% g
double ref_pt[3];
' t/ {2 f" T. {' R7 q3 \2 g) W0 edouble direction[3] = {0.0,0.0,1.0};1 S6 o# F% T( ?% m; ]& T
int i,err;9 o0 s7 c! S7 ` Z
char cue[] = "选择型材线框";8 B6 r' i X4 H: z7 `
char title[] = "按类选择对话框";# |9 {) U3 G, E
int response, count;
7 ]- D0 k( E4 J. C tag_p_t objects;: a# T2 E# l- `! q1 B
char message[200];
+ k" l( q* {4 \8 A; @, A1 ]sprintf(taper_angle,"%lf",p_mandrel_para->A);: b* z5 I. f9 V: p
sprintf(limit1[0],"%lf",p_mandrel_para->S);
- M3 @1 Z2 P: i+ Msprintf(limit1[1],"%lf",p_mandrel_para->E);. G* ]5 I/ x8 v9 R5 B- \4 n
limit[0]=limit1[0];limit[1]=limit1[1];; B3 Z" f$ U8 K; I
UF_MODL_create_list(&loop_list);! C5 k# Y" T. N6 k# A3 z$ ^" X! H
if((UF_CALL(UF_UI_select_with_class_dialog(7 O5 k5 m5 l4 O; Y
cue, title, UF_UI_SEL_SCOPE_WORK_PART,9 ^# Q* ^6 ]: t* B4 B
NULL, NULL, &response, &count, &objects))) == 0)
) ]+ f# N! w) _% r {6 i6 ~+ F& e0 d; C! H5 ?
4 W* v ]; o' m" l; |3 A- u1 f printf("object count = %d\n",count);
+ @! c1 g/ O4 D% m& v1 w' a6 h if (response == UF_UI_OK && count > 0)# P2 }" g' z# R% N+ t7 e
{
7 X1 ?: |; F7 P& c5 e% ~7 E8 i for (i=0; i<count; i++)
- m# F# B5 K1 }) N- s! L {
* B3 M4 T: V" J/ N1 z4 [: b* } UF_DISP_set_highlight(objects[i], 0);
1 { P! c& `) B* l# c9 f9 | UF_MODL_put_list_item(loop_list,objects[i]);
: K4 H9 Z: p, A! B* n }/ N7 x. t9 S8 e3 x5 ~$ O8 N t8 ?" L6 l
UF_free(objects);
1 e1 _2 a& J0 u1 R5 n/ }6 o }( |. v5 c# ~( N9 U) m
}
$ t: ~$ o- G4 Z+ N6 f0 ^6 n, G6 L) i
err=UF_MODL_create_extruded(loop_list, taper_angle, limit,& e% E+ m, I4 X' u
ref_pt, direction, UF_NULLSIGN,&features);: \) j# j( o5 z6 K, Y: f
if(err!=0)
) A* }# A4 P3 W{0 X, M3 Y; M0 O: B6 U
UF_get_fail_message( err,message);! Q6 Z7 p2 T2 y1 J
uc1601(message,1);4 j3 a2 C. b) j7 u0 t) H0 Q
return err;
. Y: u2 Y1 G4 f}
- C" x9 y. z7 M- d5 pUF_MODL_ask_list_item(features,0,p_ext_tag);7 o4 o d9 Q( v+ A( f: l) D
UF_MODL_delete_list(&features);
1 i/ `$ B( V. z0 \4 o# Vreturn err;
$ Q; g3 n. O/ P2 z}
7 t' |/ a8 J& C, m" i
/ l+ K5 |. p$ u4 m. Q |
|