iCAx开思工具箱

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 25265|回复: 5
打印 上一主题 下一主题

请教关于UF_sf的问题

[复制链接]
跳转到指定楼层
楼主
发表于 2006-7-20 20:31:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册登录,享用更多网站功能!

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

x
使用UF_SF_create_ugs_2d_mesh()划分网格
入口参数要求是 faces or sheet bodies 的tag
我是这样做的
设置了一个类选框
UF_UI_select_with_class_dialog(                                          
          cue, title, UF_UI_SEL_SCOPE_WORK_PART_AND_OCC,
          init_proc, NULL, &response, &count, &objects)

在init_proc 中设置    UF_UI_mask_t mask_triples[] = {  UF_face_type, 0, 0};

这样能选择得到的应改只有face的tag了

然后将输出 count   objects 传入UF_SF_create_ugs_2d_mesh()中
部分代码如下:
    (mesh_parms).element_type                           = UF_SF_UGS_MESHER_quad4;                              //UF_SF_ugs_2d_mesh_parms_t mesh_parms
    (mesh_parms).element_size                            = 5;                                                                          // 给各参数赋值
    (mesh_parms).edge_match_tolerance            = 0.508;                          
    (mesh_parms).format_mesh                            = TRUE;                           
    (mesh_parms).attempt_quad_mapping           = TRUE;                           
    (mesh_parms).split_poor_quads                      = TRUE;                           
    (mesh_parms).maximum_quad_warp               = 10.0;                           
    (mesh_parms).midnode_option                        = UF_SF_UGS_MESHER_mixed_midnodes;
    (mesh_parms).maximum_midnode_jacobian    = 5.0;                           
    (mesh_parms).minimum_face_angle                = 20.0;                           
    (mesh_parms).surf_mesh_size_variation         = 0;               

   UF_SF_create_scenario("Scenario_1.sim", &scenario);                                                                    //创建scenario环境

   error = UF_SF_create_ugs_2d_mesh(&mesh_parms, count, objects, &mesh_tag);
   if (error != 0)
          uc1601("错误“,1);

   UF_SF_display_mesh (mesh_tag);
   
   UF_free(objects);

编译没问题  但网格总是出不来
通过调试      发现生成了mesh_tag  


后来通过另一种方法来实现
使用   UF_OBJ_cycle_objs_in_part (tag_t part_tag, int type, tag_t * object )
UF_OBJ_ask_type_and_subtype (tag_t object_id, int * type, int * subtype ) 两个api
遍历part,将subtype为UF_solid_face_subtype的挑出来

然后同样传到UF_SF_create_ugs_2d_mesh() 参数设置相同
这样就可以得到网格

调试过程中发现两种方式传入的facetag值居然相同
但结果一个能行,一个不能行

由于后一种只能整体划分
不能实现选择面划分的交互 所以不能采用


请教高手 我的第一种方法到底哪里有问题
为什么网格出不来呢?
谢谢大家了 ^_^
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 支持支持
沙发
发表于 2011-4-1 17:38:30 | 只看该作者

马上注册登录,享用更多网站功能!

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

x
板凳
发表于 2011-8-4 16:35:42 | 只看该作者

马上注册登录,享用更多网站功能!

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

x
地板
发表于 2012-2-26 17:11:31 | 只看该作者

马上注册登录,享用更多网站功能!

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

x
5
发表于 2012-2-26 17:11:56 | 只看该作者

马上注册登录,享用更多网站功能!

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

x
6
发表于 2012-2-26 17:12:14 | 只看该作者

马上注册登录,享用更多网站功能!

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

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

本版积分规则

手板模型制作,在线3D打印服务

QQ|小黑屋|手机版|开思工具箱 CAD工具箱_CAM工具箱  

GMT+8, 2024-11-22 18:17 , Processed in 0.017959 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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