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

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

  [复制链接]

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

KKuN 发表于 2014-5-16 10:48:19 |阅读模式

KKuN 楼主

2014-5-16 10:48:19

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

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

x
  1. void CMainDlg::OnMesh() ! o( V8 Z/ ?1 k- m
  2. {
    ' y1 s) X  L" Z; a2 R. N/ s3 q
  3.         // TODO: Add your control notification handler code here
    3 B  ^  q; @) _* \
  4.         char cue[] = "please select a face of body";
    ! I+ w% Z* o7 z& i; i. ~1 A
  5.     char title[] = "select face";' i5 P$ K& M+ @: i* B* }. y! R
  6.     int response1;
    ) K5 V9 @6 |/ _( ]
  7.     tag_t  view,temp,temp1,point;
    8 }5 J$ D" H, u
  8.     double cursor[3],matrix[9];
    2 k" H. L* y0 s3 c) W  I
  9.         int ret=0;! C, U1 S3 x7 |9 Y& W' F

  10. - V0 |* |) W4 \! i: X
  11.         //UF_UI_specify_screen_position()函数的初始化参数
    * h' r- F8 G2 u1 m
  12.         char message[] ="please specify a position";
    0 u! x* ~& {: q# \( ?9 u
  13.         int response2;# l8 c; `3 N/ {/ w& \- R
  14.         8 \& T: }0 l! ^: O& w& D2 z* ^
  15.         UF_SF_UGs_2d_mesh_parms_t  mesh_parms;
    / d* p8 D9 k  K. j4 o- D4 m
  16.         int num_geoms;//几何体数量
    $ }9 R. z+ N; l9 s+ _5 l
  17.         tag_t geoms_p;//几何体
    ' }& j& m! y' b2 W, L: y( P
  18.         tag_t mesh_tag=NULL_TAG;! n: _9 o1 Y- k8 v
  19.         tag_t scenario=NULL_TAG;% x- N; F% D9 E& v7 m
  20.         tag_t display_part_tag;+ t9 x& R& P7 K  [
  21.         tag_t proto;
    # u; k# f! J2 i: ~2 E' `
  22.         //最小化当前对话框( }/ B* z0 }# B
  23.         ShowWindow(SW_HIDE);- x% U5 B2 K% k# \9 r. m2 v& \9 ~
  24.         int num_bodys=1;
    4 B) e! N8 N' j  i
  25.         tag_t body_tags=NULL_TAG;
    5 ]5 {; I- o" \/ u
  26.         int num_desc_lines=1;4 h8 @$ n) t1 k* Y( d/ _  i
  27.         const char *description="";! T. j& N$ g) t7 n; T
  28.         tag_t new_fem_tag;
    : z7 y3 b" u& `$ K! ?4 n0 P
  29.         display_part_tag=UF_PART_ask_display_part();
    $ s. o& v& {  h
  30.         tag_t work_tag=UF_ASSEM_ask_work_part();
    & [( l- G! a4 y

  31. 2 E5 l2 j2 @  ~4 `
  32.          //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;6 G/ t$ f2 @0 P- i& |
  33.      mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;
    7 \5 z% y. E1 M; t& l4 g
  34.          mesh_parms.element_size=1.0;
    ) d, N8 d/ _5 c& _  A5 f
  35.         /* mesh_parms.element_size=dDefaultElementSize;   */ " r( F" ^; i3 m
  36.          mesh_parms.edge_maTCh_tolerance=0.508;+ X% H4 Z# S$ o, c) h
  37.          mesh_parms.format_mesh=true;4 l# p: }6 R/ L" G
  38.          mesh_parms.attempt_quad_mapping=true;  p: s$ o& L4 ]6 z
  39.          mesh_parms.split_poor_quads=true;) l5 B0 @: p/ t5 o3 m/ u  |
  40.          mesh_parms.maximum_quad_warp=5;
      M2 V# L6 x2 `9 H' n
  41.          mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//% z, }! z: a2 j/ P  K
  42.          mesh_parms.maximum_midnode_jacobian=5;
    / C, k8 C7 q! R/ j
  43.          mesh_parms.minimum_face_angle=20;) D! \' ^/ n- S3 u" a5 C
  44.          mesh_parms.surf_mesh_size_variation=50;
    : Q3 I$ Y+ Y/ x9 r; `/ h5 I  I
  45.          num_geoms=1;
    - D, [  b9 \/ b8 H+ G* A
  46.          geoms_p=NULL_TAG;- z  P- e, ]0 I- k% k2 ^

  47. + h. z, u) g0 o: V, f1 E
  48. 6 E% ], p/ y) l. @& X8 I
  49. 2 Z1 c* W* U" J

  50. ; O9 a7 @& M( z. \- `4 B
  51.         //把控制权交给UG
    7 b% q+ X! O/ X+ k$ S  D5 ?$ d& {
  52.         ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);+ r7 D2 m9 q4 z; o! u
  53.         if (ret != UF_UI_LOCK_SET)
    # P) R: E1 x$ }% P
  54.     {( {) g7 x( U5 H
  55.         UF_UI_set_status("Could not lock Unigraphics");
    ! |; ~/ C) |0 f, A
  56.         return;- s/ t* b2 O* r: J
  57.     }
    3 L7 Q9 }8 Z1 h$ W9 {8 Z
  58.         ret = UF_UI_select_with_single_dialog(cue,title,
    " o, C  P8 A. H5 D. d
  59.                 UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,
    9 m0 T0 A+ L. Q3 A/ }' Y, ?1 T
  60.                 &response1, &surf, cursor, &view);//调用面选择对话框
    1 t% A" h2 P! q, r2 J" S
  61.         ) A8 W* J  q( W  o5 U/ y
  62.    
    & D4 s) u! D3 Q9 `% J% i
  63. UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);/ _) H* \, X9 s# o& w* L  s' S

  64. 3 ~" z6 B6 g) V9 K
  65. int count=0;* n& E" Y/ p1 b
  66. 8 l9 E& H" s* P3 P7 b2 o+ h
  67.   //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);        ; o9 s) i$ [3 y% Q/ D
  68.     if(!ret)
    " |- g& Y. _5 Z& y4 J3 q" k
  69.     {7 r3 p7 M/ m+ q4 a7 \0 f& Z+ W* t
  70.         if (response1 == UF_UI_OBJECT_SELECTED ||, p; z' n4 G/ Q; g8 }
  71.             response1 == UF_UI_OBJECT_SELECTED_BY_NAME)
    & d4 Z' B8 G0 j
  72.         {. h% L$ b1 m1 G) N" a
  73.                         num_geoms=1;
    & x4 @- C/ [. a1 C
  74.                                  int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);
    - r$ \) T. H2 j. _
  75.                          if(error!=0)& I& r9 d; z6 v5 b/ \0 c' m/ D+ r5 K2 S
  76.                                  AfxMessageBox("划分网格不成功");
    % B5 W$ ~9 M4 `- o8 t
  77.                          if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");
    2 D* e2 \! e) j
  78.                 }2 A& X0 E( y$ a1 I. t
  79.                         + E1 J8 |8 v. h0 A
  80.              / t5 r# L8 [- b9 D; K5 \) z
  81.                                   E8 G( E9 Y8 r7 v
  82.         }        1 [! H6 Z" B" y4 n2 w9 Q
  83.         //UF_free(geoms_p);8 p8 {: g8 k# r. k; y
  84.         UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);
    5 N# ~' n3 g& S+ F/ }4 l+ `
  85.    ShowWindow(SW_NORMAL);
      H; @4 D6 n: R; |! H+ c3 I
  86. }
复制代码
这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,& e: g) c9 X: h
特此前来求教错在哪里了/ Y( O4 g; a, v! T
上海点团信息科技有限公司,承接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 的方式试试 3 Y; U- N$ _% R
& J4 {( y7 f  T, B! j& b
直接在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:235 v4 U2 |1 G$ u' z# h: D
你先不用 MFC 的方式试试 ; Y+ m! ^- U2 n' a6 P
( O& _5 S  D" V& L  _
直接在NX 里面 划分网格看看

2 p; |" N" r3 [- j直接用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二次开发专题模块培训报名开始啦

    我知道了