青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2011-12-13 10:59 | 显示全部楼层 |阅读模式
大家好,我想实现拉伸功能(先选择线框,然后拉伸),但是按类选择对话框打不开。。代码如下:
* }( x. R" o2 L1 \int Project_Model_Create_Extrustion(ModelMandrelParameter *p_mandrel_para,tag_t *p_ext_tag): {. e) z. Q; K0 U/ x4 i' A
{. H3 ]+ a: p4 C% |* _) O+ h
uf_list_p_t loop_list,features;
- J% H8 g. z2 [& l" Z# \7 V4 Zchar *taper_angle="0.0",*limit[2],limit1[2][30];
- U9 V9 j; p" U7 p! B: Z* jdouble ref_pt[3];
6 _- {8 E, l& q- [- r9 Ldouble direction[3] = {0.0,0.0,1.0};
" k! w; y3 q  f* t# e4 Z! D: aint    i,err;
, ]6 e. _) X+ K( P% o1 p1 wchar cue[] = "选择型材线框";
9 @8 M1 A2 X4 K4 |/ f    char title[] = "按类选择对话框";' O, h; C$ @; u$ r8 i
    int response, count;1 p" B) v! |0 Z- j9 y+ n
    tag_p_t objects;
+ \% L0 b+ _. O# `+ Wchar message[200];9 l. D$ j' v: Q- u8 s. W$ n
sprintf(taper_angle,"%lf",p_mandrel_para->A);
2 y  N8 V" `8 e) C+ Gsprintf(limit1[0],"%lf",p_mandrel_para->S);# e& y1 h0 b: p: A: c
sprintf(limit1[1],"%lf",p_mandrel_para->E);
: v1 w4 I' g# P$ ^7 E, K" q5 elimit[0]=limit1[0];limit[1]=limit1[1];
- m8 ^! F7 `/ G% n, D7 {' Y    UF_MODL_create_list(&loop_list);
2 W! N4 [; b6 j: G    if((UF_CALL(UF_UI_select_with_class_dialog(
0 F% V& Y# P& N8 E1 O  y          cue, title, UF_UI_SEL_SCOPE_WORK_PART,) a! k* R6 h  `4 K  e
          NULL, NULL, &response, &count, &objects))) == 0)# j+ v; m7 k' N8 |
    {
, D1 |/ n7 A/ V        6 Q$ }1 B9 D- }: T- t" H5 Y1 Y' J+ K. D
  printf("object count = %d\n",count);' q8 u+ Z1 I. Y' U% N- x0 A
         if (response == UF_UI_OK && count > 0)
6 q* M6 p/ I* S2 x         {6 P6 i4 y( W! q9 H* Y) Q
             for (i=0; i<count; i++)
/ ]( ~" u% y7 {: ~             {
3 }, ]+ M* U+ ^                 UF_DISP_set_highlight(objects[i], 0);
: w! M, E2 ~, }" o. Z- z1 P1 Q     UF_MODL_put_list_item(loop_list,objects[i]);1 v9 R1 P% J4 H; P
             }
( p0 E+ k' r/ F    UF_free(objects);* \% v8 q) N9 Q. G
         }
' q& v/ v( ^# T7 a7 n+ O2 N4 k    }
( `8 K1 J* ?/ X% u2 Z; Z# ?: b9 }, f# t# m/ ~
err=UF_MODL_create_extruded(loop_list, taper_angle, limit,; d  Z# v/ Q. f8 {1 I$ m
                          ref_pt, direction, UF_NULLSIGN,&features);! g& J4 |( Y3 s8 ]& J
if(err!=0)
4 ?' k* M2 J% g8 r& y  ]7 s{# X, Z: K$ Y4 ?6 N+ |& C' D( P
  UF_get_fail_message( err,message);+ J$ f6 i$ w, ^  `" ]
  uc1601(message,1);! v& r$ Y: W2 R9 p$ m! e/ ~
  return err;; p5 k. w) Y1 I# ]8 R
}* M. {& H0 d  J0 }4 l0 R
UF_MODL_ask_list_item(features,0,p_ext_tag);! d9 \6 R* u- o9 x8 r) Z
UF_MODL_delete_list(&features);
* ]; a( e7 g5 I, }return err;
. G1 |7 x! b" `}5 j% r, c' j: m4 C6 H/ m
5 ]+ ^0 a& F4 |5 F! S
发表于 2011-12-13 11:25 | 显示全部楼层
怎么样了啊   大哥   
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-19 05:56 , Processed in 0.100429 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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