青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 1596|回复: 2

[疑难] 选择线段拉伸生成实体

[复制链接]
发表于 2011-12-13 10:59 | 显示全部楼层 |阅读模式
大家好,我想实现拉伸功能(先选择线框,然后拉伸),但是按类选择对话框打不开。。代码如下:
4 L; p7 r6 A$ gint Project_Model_Create_Extrustion(ModelMandrelParameter *p_mandrel_para,tag_t *p_ext_tag)
' ]  G7 p5 X8 [& `, ^: `0 ?! S{) J4 I* {- A9 y1 n* c- K
uf_list_p_t loop_list,features;) o/ q! I5 K8 d* e& d5 N
char *taper_angle="0.0",*limit[2],limit1[2][30];
7 U& P2 L2 a3 q0 Rdouble ref_pt[3];
/ s1 W6 P! K  S4 g0 i0 R; gdouble direction[3] = {0.0,0.0,1.0};
3 Z+ o( B$ w  e( c( M) [int    i,err;# Z4 }: D5 E0 X
char cue[] = "选择型材线框";5 ], Z- E. e5 w' P& I& G( ?9 T& g
    char title[] = "按类选择对话框";* J5 I' b: [- w6 n2 Y
    int response, count;
6 u6 W$ k$ p" Z+ D    tag_p_t objects;
2 f- U7 }. s; E* d9 schar message[200];
, S  F/ I! C7 L; u% Fsprintf(taper_angle,"%lf",p_mandrel_para->A);
0 s6 S! O2 Z, G, {& x* Ksprintf(limit1[0],"%lf",p_mandrel_para->S);6 B4 v- w' R0 Q2 |
sprintf(limit1[1],"%lf",p_mandrel_para->E);) l# m" v& b& }8 ]$ ~1 v) m3 W
limit[0]=limit1[0];limit[1]=limit1[1];; s6 Z! U. @+ o* t4 y6 @! M
    UF_MODL_create_list(&loop_list);7 E; C" ?" I$ A+ \
    if((UF_CALL(UF_UI_select_with_class_dialog(6 B0 ^0 l' ?/ r2 I0 K9 J1 m. e, c
          cue, title, UF_UI_SEL_SCOPE_WORK_PART,
" t5 V! g, L" W' s8 k' U          NULL, NULL, &response, &count, &objects))) == 0)) o6 Y7 G2 S  @9 z. O9 B& n2 |- a* b8 e/ G
    {
* s9 g0 }3 ~7 ]+ L7 I* |5 V        
  {# u2 O' [" q, @2 M! [  printf("object count = %d\n",count);
. \* l! N$ B5 R4 g( t% _         if (response == UF_UI_OK && count > 0)
! v; Q# {+ N( ^/ J; {1 m         {: q# ?) d) k1 \/ x6 `
             for (i=0; i<count; i++)/ O  \! u  S8 y: E& ~) n
             {7 b: X7 j; J( [5 v* n7 }( j
                 UF_DISP_set_highlight(objects[i], 0);- m+ E- W! `# A: b8 P4 Y
     UF_MODL_put_list_item(loop_list,objects[i]);
/ [+ s- x! z" g$ @8 b1 q4 w             }
! A7 F4 p0 O! G    UF_free(objects);
% L% t% S/ X5 O; Z# ?4 C2 U2 q5 h         }
, M+ v8 e3 a- ~- Y0 z    }# l' F3 V8 \2 B3 {5 J- f

  @; O$ ]9 y; k. \2 [err=UF_MODL_create_extruded(loop_list, taper_angle, limit,
# Z, F. f- ^+ f! w" @                          ref_pt, direction, UF_NULLSIGN,&features);6 V/ A1 L: @& O7 S
if(err!=0), z0 M( w- i) d: N. w
{) v. `% j- }6 n) f0 z" n1 y8 R
  UF_get_fail_message( err,message);
4 X) p3 ~0 L- W$ P" G2 e  uc1601(message,1);: Y+ {# h" E% M: |% r4 E
  return err;
; r! d; J. \0 b; E4 L}
/ C0 ^) e# c1 [# u  N* _UF_MODL_ask_list_item(features,0,p_ext_tag);' k1 T, I( x* `4 P- X
UF_MODL_delete_list(&features);! y3 n( i7 O; }- a
return err;5 F$ _8 _+ C1 z( S2 w
}
: G- ~  l1 G1 l8 k1 m4 a  v* T7 q8 e9 x% f( o1 s% ^
发表于 2011-12-13 11:25 | 显示全部楼层
怎么样了啊   大哥   
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-13 19:40 | 显示全部楼层
对话框本身的选择功能可以实现后续的拉伸功能,但是用标准对话框还是不能实现功能。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2025-5-14 01:14 , Processed in 0.052604 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表