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

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

  [复制链接]

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

1

主题

2

回帖

19

积分

新手上路

积分
19
发表于 2014-5-16 10:48:19 | 显示全部楼层 |阅读模式

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

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

x
  1. void CMainDlg::OnMesh()
    $ f% Z/ i# a  b" \5 h
  2. {' a' c+ h! n% O( ~2 t
  3.         // TODO: Add your control notification handler code here# j8 V7 l9 c5 t3 T
  4.         char cue[] = "please select a face of body";
    8 D# W4 l6 k& C  Z1 Q; @8 P
  5.     char title[] = "select face";
    % j8 ~# U+ b  [6 r. B- F4 Y2 b6 m
  6.     int response1;5 ]3 `* d2 Q. n$ L1 n, T0 t8 [
  7.     tag_t  view,temp,temp1,point;8 V! C& i: O6 W9 W
  8.     double cursor[3],matrix[9];& A$ {7 s# n4 }% L+ b8 ?2 B
  9.         int ret=0;, I" {1 J- g$ l( Q

  10. ) M$ E4 x$ T6 g0 a9 i6 H8 K$ j
  11.         //UF_UI_specify_screen_position()函数的初始化参数
    ) ^, a. h( n6 V. z5 A2 e5 T
  12.         char message[] ="please specify a position"; 4 c* g; l1 g% e& O% N5 a
  13.         int response2;
    & O& \  w4 U; P. Z( {* b
  14.         1 j+ e# L! |3 I/ K- g9 @
  15.         UF_SF_UGs_2d_mesh_parms_t  mesh_parms;
    7 R$ C. Q  u/ S5 I
  16.         int num_geoms;//几何体数量$ I9 b1 W2 x2 B4 ^8 D8 b
  17.         tag_t geoms_p;//几何体* L4 J. ?) i4 C  m
  18.         tag_t mesh_tag=NULL_TAG;
    * c6 M: }& S/ i$ q" c4 R  N
  19.         tag_t scenario=NULL_TAG;5 j  c0 r$ t7 w& o2 ?+ i8 v
  20.         tag_t display_part_tag;
    # w+ U) `% `3 k3 c1 e
  21.         tag_t proto;. T' G/ |* ]3 M: R2 v
  22.         //最小化当前对话框
      d2 A, n; G7 j' r
  23.         ShowWindow(SW_HIDE);+ q* c: u3 ~" u/ B& |. n, X$ x
  24.         int num_bodys=1;: D: F- Q5 _# h& V* I) D: Z0 m8 C
  25.         tag_t body_tags=NULL_TAG;
    : t$ |/ k! n  ]0 R3 ]. u* ]' h
  26.         int num_desc_lines=1;" Q$ l: p, b6 u3 Q3 a
  27.         const char *description="";
    0 n3 V1 R# s2 g
  28.         tag_t new_fem_tag;
    " [: [& V" k" @& q1 R  \8 m& {* d. b
  29.         display_part_tag=UF_PART_ask_display_part();& _! H5 @1 R' z: f9 n
  30.         tag_t work_tag=UF_ASSEM_ask_work_part();
    7 G. D% L+ u4 ?  S
  31. . {& [( Q8 u6 `% q3 C
  32.          //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;" z1 ~+ g/ P- `( Q! w" E8 Z, T
  33.      mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;5 c$ b, y  g7 i* r4 x
  34.          mesh_parms.element_size=1.0;
    / `% M* y# K: ]
  35.         /* mesh_parms.element_size=dDefaultElementSize;   */
      ]1 k5 O2 P+ J1 s% F
  36.          mesh_parms.edge_maTCh_tolerance=0.508;' s- }% ~9 N* E2 b
  37.          mesh_parms.format_mesh=true;3 I9 `. Z3 K" b& _
  38.          mesh_parms.attempt_quad_mapping=true;- ]5 `4 T# t5 Y  G
  39.          mesh_parms.split_poor_quads=true;
    4 T0 w* ?8 D5 a, g7 g  d9 O
  40.          mesh_parms.maximum_quad_warp=5;* ]4 D  s" u" ^9 F3 ?
  41.          mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;/// }. P; B7 O" j+ A
  42.          mesh_parms.maximum_midnode_jacobian=5;2 g. K) @% a# S4 t) m
  43.          mesh_parms.minimum_face_angle=20;& X- ?7 o4 J2 L7 E! G* ?. w
  44.          mesh_parms.surf_mesh_size_variation=50;
    + u* j/ u; w0 C8 O% P
  45.          num_geoms=1;
    * X2 p! l  b; K) v
  46.          geoms_p=NULL_TAG;0 I) R; O) L! R( M; K' g
  47. % P6 `/ h1 ]2 z2 d- r  B
  48. * ?: N. f4 `$ i/ `/ a5 D: A7 D+ e

  49. $ O% N9 I6 z0 n8 y/ u
  50. ' ~+ v6 |1 {* r5 M% A- f
  51.         //把控制权交给UG8 S. X  Q0 x# X4 \, B
  52.         ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);: Z) y+ P4 r  b/ D9 l
  53.         if (ret != UF_UI_LOCK_SET)+ J5 Z' e; L+ g# ~4 L  c, M
  54.     {
    5 |; p; V: U4 f
  55.         UF_UI_set_status("Could not lock Unigraphics");0 M' X0 C/ U3 P2 Z; y, \1 V3 R
  56.         return;" l  ]% K) E% S1 L
  57.     }: u7 `/ L# n; ]$ V
  58.         ret = UF_UI_select_with_single_dialog(cue,title,1 g( b, c7 v" t& \0 I3 L; ^3 I
  59.                 UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,
    : ?" A) i+ _' V0 W* q% i  w
  60.                 &response1, &surf, cursor, &view);//调用面选择对话框( F# k3 B" T  Z! _6 H$ B
  61.        
    $ |) h$ X5 G3 T" z- c4 I% }
  62.     & Q- y% [/ u' o4 c* o  ?
  63. UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
    ' x# ^7 Y2 _$ i! \! n; O

  64. 6 ?+ H+ i3 L; Q) f" v2 i+ e  X
  65. int count=0;( q- a4 Y; N. ?2 P% ^! ~  k

  66. 9 N5 r9 \1 R2 t! P, L. p
  67.   //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);          x" i, a! m0 |$ [6 H
  68.     if(!ret)6 o, f/ p) H* K' H+ V+ q$ d
  69.     {
    . }! \" P  B1 h. J% V+ a+ x2 ~
  70.         if (response1 == UF_UI_OBJECT_SELECTED ||
    2 |; k/ |- T* z8 t2 @# L1 S
  71.             response1 == UF_UI_OBJECT_SELECTED_BY_NAME)0 h' z; w3 s9 f. a1 X6 p
  72.         {. f: U8 z: a# `! V8 @
  73.                         num_geoms=1;# g+ N  S" m6 Y/ ]" u1 ]
  74.                                  int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);
    1 @8 ^' a$ d+ N) q
  75.                          if(error!=0)
    " B5 b# a8 v7 U
  76.                                  AfxMessageBox("划分网格不成功");
    2 o$ r/ _2 g6 u' ^+ I/ B
  77.                          if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");; w5 T& z- A. b. M# g4 N
  78.                 }, G- P: }! F( R7 m
  79.                         8 h& u- }% W7 R! b
  80.              1 d8 h. `7 p8 K7 z3 K: `
  81.                                
    ' |/ F# p+ L& w3 G" T; V
  82.         }        + N0 f7 o" _3 p- y, @
  83.         //UF_free(geoms_p);
    4 T) X. V' u& Z$ R/ q
  84.         UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);# P" Z) B/ B9 I: ~+ T4 @6 O
  85.    ShowWindow(SW_NORMAL);
    $ D4 I( G, Y: s0 Q
  86. }
复制代码
这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,
# h. }* T+ i. M4 Z+ B& d) v# |' C特此前来求教错在哪里了$ d- g& S0 u* |8 ~* i
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

全部回复2

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

积分
82197
QQ
发表于 2014-5-16 12:23:45 | 显示全部楼层
你先不用 MFC 的方式试试 1 }1 m. }6 D' J6 ~5 Y3 B

/ B1 [5 e% w$ X7 c/ B: x0 M0 b直接在NX 里面 划分网格看看
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

1

主题

2

回帖

19

积分

新手上路

积分
19
 楼主| 发表于 2014-5-21 23:33:18 | 显示全部楼层
admin 发表于 2014-5-16 12:23
& t) J0 s: y3 I1 d! j你先不用 MFC 的方式试试 - o2 @& k6 X9 P  N$ t# s

' X: {$ x" m0 k1 A直接在NX 里面 划分网格看看

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

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了