iCAx开思工具箱

标题: 【求助】UG/OPEN API函数中拉伸extrude功能如何实现啊? [打印本页]

作者: foreverfrank    时间: 2003-11-26 09:53
标题: 【求助】UG/OPEN API函数中拉伸extrude功能如何实现啊?
      我查了一下UG的帮助文件,创建拉伸函数UF_MODL_create_extruded的例子是“set TAG [uf_modl_create_extruded $TAGS 0 "-10 30" $PT $DI ADD]”。我看了感觉一头雾水,不知道如何将其转换成VC来实现拉伸功能。
      我这样写,不能成功,应该如何修改:
      tag_t  arc;  
      tag_t  ext;
      char *PT[3]={"0.0","0.0","0.0"};
      char *DI[3]={"0.0","0.0","0.0"};
      int ret=UF_MODL_create_extruded([$arc,0,"-10,30",PT,DI,2,&ext)]
其中arc是我已经做好的圆弧,打算将这个圆弧拉伸成一个圆弧面,作为我加工用的驱动面。
      请问怎样才能成功拉伸这段圆弧?
作者: pinkwall    时间: 2003-11-26 14:17
首先要建一个 list
把你要拉申的tag放到list里面
然后把list作为第一个参数调用拉申函数
  
----综合pinkwall近期的回帖,加一分鼓励。
                                          ---zzz

作者: foreverfrank    时间: 2003-11-27 09:31
"arc"是我已经做出来的圆弧,我下面的代码是不是差不多了,但是有问题,但不知道怎么解决?
    int ret;
    tag_t  arc;  
    uf_list_p_t arc1;
    UF_FEATURE_SIGN extrude=UF_NULLSIGN;
    double PT[3]={0.0,0.0,0.0};
    double DI[3]={1.0,0.0,0.0};
    ret=UF_MODL_create_list([$arc1)]
    ret=UF_MODL_put_list_item(arc1,arc);
    ret=UF_MODL_create_extruded(arc1,0,NULL,PT,DI,extrude,[$arc1)]  
最后一行第三个参数是拉伸区间LIMIT,我实在不知道怎么写,所以用NULL代替,最后一个参数还是要填写一个uf_list_p_t *feature,我不太懂,这怎么解决啊?还是这个程序本来就没写好?  
    谢谢pinkwall帮助我,请你再讲清楚一些好吗?
作者: foreverfrank    时间: 2003-11-27 11:27
嘿嘿,我找到一个example了。搞定了!
还是要多谢pinkwall的提醒!
作者: pinkwall    时间: 2003-11-27 16:08
呵呵,以后继续讨论
  
我以前做过一个参数化的东西
  
我靠 拉申 旋转,点云拟和 sweep啥的 搞得我都晕了
  
不过有些函数还是熟悉的,现在弄加工那块儿了
  
不过最近老板又让看CAA,我靠死了我,弄不到CAA阿
作者: foreverfrank    时间: 2003-11-27 21:01
      哎呀,我也想参数化,所以我的这个问题还没有彻底搞完。拉伸的LIMIT要我自己输入。我输入原先设定char *limit[2]={"0","20"};现在我要输入dx来代替“20”,但规定dx是double型的参数。怎样将double型的参数转换成char *型的呢?
      我用fcvt()函数是不行的(这种转换我做过,在VC MFC环境下可以),我加上一些与fcvt()函数相关的.LIB文件也不行。头文件我已经包含了,编译链接都没出错,不过运行时,这个拉伸的长度特别长,如果观看全局,宽度就被忽略成一条线了!我想我的宽度被它当作“足够大”来处理了。
      到底怎样将double型的参数转换成char * 型的呢?
作者: liberty000    时间: 2003-11-29 16:41
double型的参数转换成char * 型的例子一个:
double d;
char d_s[100];
sprintf(d_s,"%f",d);
  
Enjoy it!




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3