iCAx开思工具箱

标题: 【求助】结构分析中的二次开发问题 [打印本页]

作者: srm2000    时间: 2003-5-6 16:09
标题: 【求助】结构分析中的二次开发问题
用UG已经生成了四面体网格,要获取网格的信息,函数里有一个输入参数tag_t  mesh_tag ,该如何获得mesh_tag?
作者: zzz    时间: 2003-5-6 16:44
你在生成网格的时候,不是会返回mesh tag吗?
作者: srm2000    时间: 2003-5-6 17:26
生成网格没采用编程实现。
自己编程实现网格时总出问题,这是代码,帮忙侃侃问题
  
void mesh()
{
  
   tag_t mesh_tag;
   tag_t sel_tag;
  
   UF_SF_atm_mesh_parameters_data_t mesh_para;
   mesh_para.element_type=UF_SF_ATM_TETRA ;
   mesh_para.def_elem_size=0.3;
  
   int response;
   double cursor[3];
   tag_t view;
   UF_UI_select_with_single_dialog("test","title",UF_UI_SEL_SCOPE_NO_CHANGE,
           init_proc,NULL,[$response,&sel_tag,cursor,&view)]
   if(response==UF_UI_OBJECT_SELECTED)
   {
      response=UF_SF_create_tet_mesh(1,[$sel_tag,&mesh_para,&mesh_tag)]
     UF_get_fail_message(response,info_str);//info_str,自定义数组,存放信息字符串
     show(info_str);//自定义函数,用来显示提示信息
//---------------运行到上面,总显示出错信息是:file not found
   }
   else
     show("not select");
}
// 这个函数是照书上的修改来
static int init_proc( UF_UI_selection_p_t select, void* user_data)
{
     int num_triples = 1;
  
//*********只需要选择实体,问题是不是出在这里???***********
     UF_UI_mask_t mask_triples[] = { UF_solid_type, UF_solid_body_subtype , 0};
//*****************************************************
  
     if(UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
             num_triples, mask_triples) == 0)
     {
         return (UF_UI_SEL_SUCCESS);
     }
     else
     {
         return (UF_UI_SEL_FAILURE);
     }
}
作者: zzz    时间: 2003-5-6 17:47
可能要首先定义分析语言,如ansys,nastran等, 然后才能划分网格。
在交互环境中就是这样的,api和交互环境是一致的。
我以前用api划分网格的时候,都是先进入到GFEM 应用,让它替我把环境设置好了,我再划分网格。不过是很早以前了,ugv13版。
还有,一定要选择实体,函数的说明中讲了,其他的类型会被忽略。




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