PLM之家PLMHome-工业软件践行者

[求助] 求教一个网格划分的问题

  [复制链接]

2014-5-21 23:33:18 6170 2

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

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

x
  1. void CMainDlg::OnMesh() * M4 g/ l5 y/ b2 I
  2. {
    - t- T. H) }, F: r. C4 I2 [# K
  3.         // TODO: Add your control notification handler code here1 T) e% a! o9 y+ o6 \, }8 l  x
  4.         char cue[] = "please select a face of body";5 u) k- N) H2 R- b# s0 K% ]
  5.     char title[] = "select face";. L& X; m7 G4 B0 q6 @& S: W; w3 u
  6.     int response1;
      z3 ?, [: V4 N1 z% \
  7.     tag_t  view,temp,temp1,point;' U9 e% ?6 d2 v/ O: o! y0 }( H
  8.     double cursor[3],matrix[9];
    ( J. p" D  O) i7 {
  9.         int ret=0;
    ) v6 x6 ~6 ?  `3 {$ _* @; f( F; t( u
  10. ; i3 _& ~# D. X, D
  11.         //UF_UI_specify_screen_position()函数的初始化参数6 Q. G) R, t4 y/ ?/ D3 H, t( J
  12.         char message[] ="please specify a position";
    2 t9 F) [3 Q7 w
  13.         int response2;
    6 p% T- i9 Z5 z5 I3 o
  14.         * Z, K/ G! B" z* y
  15.         UF_SF_UGs_2d_mesh_parms_t  mesh_parms;- m, V* k& l' q/ W5 L& N  ]
  16.         int num_geoms;//几何体数量( {/ P" `1 V5 J8 i, H
  17.         tag_t geoms_p;//几何体1 |3 J+ b0 O3 u/ ^* _! N* c
  18.         tag_t mesh_tag=NULL_TAG;9 A/ f8 X. H( J9 d
  19.         tag_t scenario=NULL_TAG;. _( @# p) ^- Q: E+ R& O3 s
  20.         tag_t display_part_tag;; `7 Q* B7 q; C9 l* D
  21.         tag_t proto;, {# U% \& \! L
  22.         //最小化当前对话框
    / P: E. v1 Z1 i+ k  H# `
  23.         ShowWindow(SW_HIDE);
    1 c0 |' J6 b! w. `; u3 l
  24.         int num_bodys=1;
    4 J5 Y0 h% E# ^2 U; l% J8 l( `3 v
  25.         tag_t body_tags=NULL_TAG;0 h8 @$ `- Z, T5 I# \) [, l+ D1 Y: R
  26.         int num_desc_lines=1;
    , E1 T9 S* e7 h
  27.         const char *description="";
    ) ?5 a) g/ d1 y- u
  28.         tag_t new_fem_tag;
    9 Q6 ?& ~; S6 o1 F+ M
  29.         display_part_tag=UF_PART_ask_display_part();
    * O* |' h9 L2 \: Z& q" t
  30.         tag_t work_tag=UF_ASSEM_ask_work_part();
    + H  j  w; N1 C! S5 f
  31.   B: r& c& I9 J9 P( _5 T
  32.          //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;
    % z" S- h$ }* N" U2 k* }
  33.      mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;
    . @" m1 N8 o$ S1 N# Z  h
  34.          mesh_parms.element_size=1.0;
    & H* e: q) k0 z, R+ s$ _
  35.         /* mesh_parms.element_size=dDefaultElementSize;   */ 4 J% o1 e3 E+ z8 J! d: f
  36.          mesh_parms.edge_maTCh_tolerance=0.508;
    % Q% h- C$ [' i2 W  P
  37.          mesh_parms.format_mesh=true;
    : X( U3 V0 s) W
  38.          mesh_parms.attempt_quad_mapping=true;9 Q" x2 p. X1 }
  39.          mesh_parms.split_poor_quads=true;# A- n+ x1 j3 [" f
  40.          mesh_parms.maximum_quad_warp=5;; p7 q) v- E+ L1 a) p
  41.          mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//
    ' |5 y7 V5 v+ F# `2 ?7 j
  42.          mesh_parms.maximum_midnode_jacobian=5;
    ; i7 v* s% n- w/ W) X. j
  43.          mesh_parms.minimum_face_angle=20;
    5 w- v0 o" A2 M- n
  44.          mesh_parms.surf_mesh_size_variation=50;
    3 n; Q8 [# m; V9 @' y- O
  45.          num_geoms=1;0 N3 b, n2 W; O# I% O
  46.          geoms_p=NULL_TAG;' g7 b3 o2 k- D% t, y0 V, E
  47. 5 K/ o$ p" y' [

  48. # ^$ u: |) Z3 }9 V8 q
  49. - j6 Q/ u& N! l9 Q# l
  50. ) W9 v( T+ j' h
  51.         //把控制权交给UG7 k8 ^6 y7 u! J! g7 p4 b+ [
  52.         ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);. x" m1 O: D% ]- U9 d2 F% H
  53.         if (ret != UF_UI_LOCK_SET); b# V( w2 t; a8 s9 V* ?
  54.     {
    4 V% {, u; |: S$ P! l& T. }
  55.         UF_UI_set_status("Could not lock Unigraphics");9 d# q. ~' b" O8 l* D
  56.         return;" o, g" C+ v) |: n5 x' v
  57.     }
      R1 [- k  X1 ~, U1 l3 `
  58.         ret = UF_UI_select_with_single_dialog(cue,title,* ~2 \6 M6 r+ M; _* O: [% ?
  59.                 UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,
    " Z$ E+ ^# z& k8 y
  60.                 &response1, &surf, cursor, &view);//调用面选择对话框# m$ B6 R) p: a- }& ]' b$ b
  61.         6 `8 E& z2 [1 U; B0 o7 i. l3 F3 T& r
  62.     % s( W) j0 I6 N% v' N
  63. UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);5 ]: j! l% ?6 I3 W  M

  64. + a/ j& f# {; i4 K4 S, [' d
  65. int count=0;+ M6 O# }$ e- h8 d0 O- I
  66. ) D8 }: u' q; n2 F# d
  67.   //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);       
    9 u6 I0 p5 U) q
  68.     if(!ret)! i1 A1 C% P9 [$ T* u% |1 U
  69.     {
    . h# ]6 Q8 D3 T% g4 Y( @# u. X
  70.         if (response1 == UF_UI_OBJECT_SELECTED ||3 e: a0 z# u, m
  71.             response1 == UF_UI_OBJECT_SELECTED_BY_NAME)
    5 s4 ?4 d. c$ H  _! C
  72.         {- p" k) L7 \, C& E0 @
  73.                         num_geoms=1;  _& r, [( e4 M; [
  74.                                  int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);
    : y  s: k, Y3 W1 _/ I6 Z
  75.                          if(error!=0)
    ' }+ v% N8 m4 Y. w% g; w
  76.                                  AfxMessageBox("划分网格不成功");
    . _* F' a  A& v5 J8 ]5 u/ `! b% [
  77.                          if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");% K5 P+ h  N9 c- G. W
  78.                 }
    + G8 q! `7 [) _
  79.                         * X- ~1 |8 x2 G) O7 J, m7 ]
  80.              9 T/ Z, _& i# F+ w0 P; s+ V- f
  81.                                
    1 l2 G8 g6 F4 ~) n/ a- `$ Q4 G3 J
  82.         }        7 l! O! {' w1 @! q' W" w
  83.         //UF_free(geoms_p);0 f% J. T+ k$ |7 s( s
  84.         UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);
    / h# @! k- W- a( i/ l
  85.    ShowWindow(SW_NORMAL);. w! }* W  V7 r
  86. }
复制代码
这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,
3 U0 t) g3 K0 ]特此前来求教错在哪里了
. J5 {" ^$ D: S
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复2

admin 发表于 2014-5-16 12:23:45

admin 沙发

2014-5-16 12:23:45

你先不用 MFC 的方式试试 * m+ K/ a: H, y

' f9 Z- H' B# h' u* D5 Z5 X直接在NX 里面 划分网格看看
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

KKuN 发表于 2014-5-21 23:33:18

KKuN 板凳

2014-5-21 23:33:18

admin 发表于 2014-5-16 12:23% c9 s% A, X- [) p4 V. T4 i
你先不用 MFC 的方式试试 + K2 B8 l. b1 _; z' |* |" o: M
1 E1 F& \2 ~9 V" l! P2 L: Z! g
直接在NX 里面 划分网格看看

. n: I9 S. @$ D8 F直接用nx划2d网格还是没问题的。我程序现在就差这一步就基本能全自动了,现在还需要手动划网格
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了