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://www.icax.org/)
Powered by Discuz! X3.3