找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 17690|回复: 6
打印 上一主题 下一主题

【求助】UG/OPEN API函数中拉伸extrude功能如何实现啊?

[复制链接]
跳转到指定楼层
1
发表于 2003-11-26 09:53:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
      我查了一下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是我已经做好的圆弧,打算将这个圆弧拉伸成一个圆弧面,作为我加工用的驱动面。
      请问怎样才能成功拉伸这段圆弧?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2003-11-26 14:17:52 | 只看该作者
首先要建一个 list
把你要拉申的tag放到list里面
然后把list作为第一个参数调用拉申函数
  
----综合pinkwall近期的回帖,加一分鼓励。
                                          ---zzz
3
发表于 2003-11-27 09:31:01 | 只看该作者
"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帮助我,请你再讲清楚一些好吗?
4
发表于 2003-11-27 11:27:44 | 只看该作者
嘿嘿,我找到一个example了。搞定了!
还是要多谢pinkwall的提醒!
5
发表于 2003-11-27 16:08:29 | 只看该作者
呵呵,以后继续讨论
  
我以前做过一个参数化的东西
  
我靠 拉申 旋转,点云拟和 sweep啥的 搞得我都晕了
  
不过有些函数还是熟悉的,现在弄加工那块儿了
  
不过最近老板又让看CAA,我靠死了我,弄不到CAA阿
6
发表于 2003-11-27 21:01:24 | 只看该作者
      哎呀,我也想参数化,所以我的这个问题还没有彻底搞完。拉伸的LIMIT要我自己输入。我输入原先设定char *limit[2]={"0","20"};现在我要输入dx来代替“20”,但规定dx是double型的参数。怎样将double型的参数转换成char *型的呢?
      我用fcvt()函数是不行的(这种转换我做过,在VC MFC环境下可以),我加上一些与fcvt()函数相关的.LIB文件也不行。头文件我已经包含了,编译链接都没出错,不过运行时,这个拉伸的长度特别长,如果观看全局,宽度就被忽略成一条线了!我想我的宽度被它当作“足够大”来处理了。
      到底怎样将double型的参数转换成char * 型的呢?
7
发表于 2003-11-29 16:41:08 | 只看该作者
double型的参数转换成char * 型的例子一个:
double d;
char d_s[100];
sprintf(d_s,"%f",d);
  
Enjoy it!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-25 22:24 , Processed in 0.027495 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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