PLM之家PLMHome-国产软件践行者

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

  [复制链接]

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

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

KKuN 楼主

2014-5-16 10:48:19

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

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

x
  1. void CMainDlg::OnMesh()
    1 [5 [! Y* t# b$ c  R8 R0 g& j
  2. {
      i' k) P$ M8 |; m; z
  3.         // TODO: Add your control notification handler code here
    6 {! E2 B! k/ W& H
  4.         char cue[] = "please select a face of body";8 v. e5 ]+ W: o5 h3 [
  5.     char title[] = "select face";4 T) V+ o; G% v) j: }1 I
  6.     int response1;
    4 @  n8 a9 {/ V% E  ]
  7.     tag_t  view,temp,temp1,point;0 Z  V: @* K9 H4 A! L$ I2 D
  8.     double cursor[3],matrix[9];* m; s/ ~8 p( R% G) e9 d+ n* z& `$ J
  9.         int ret=0;5 g0 |4 z7 ]* B8 I
  10. 7 E8 M1 X; V0 Z& K0 [" U5 O
  11.         //UF_UI_specify_screen_position()函数的初始化参数
    9 K, c. H1 G9 B6 `& f
  12.         char message[] ="please specify a position";
    ' p& [5 f. f" m2 i: s; V  I
  13.         int response2;7 j* D8 n- Q7 F$ O4 n
  14.         ! T9 P! a- [; a8 ^3 @
  15.         UF_SF_UGs_2d_mesh_parms_t  mesh_parms;
    9 w7 N& R% s" }; W# v
  16.         int num_geoms;//几何体数量3 L; Z7 r) e, C$ C
  17.         tag_t geoms_p;//几何体
    5 V1 S( ]' X3 O5 F: I8 ~
  18.         tag_t mesh_tag=NULL_TAG;
    ; t. v. X0 Q! o. \: s; K
  19.         tag_t scenario=NULL_TAG;7 w) A: @/ \+ a$ e8 k) U
  20.         tag_t display_part_tag;
    7 y, P5 G9 W* J. F1 E" U, [8 |
  21.         tag_t proto;
    ( M/ j( b4 J; f  h4 b; k
  22.         //最小化当前对话框( P6 L5 s% G( a6 O7 X/ D4 t& `) i
  23.         ShowWindow(SW_HIDE);$ C  b' m* ]' K! Y7 m3 F
  24.         int num_bodys=1;+ t7 ?- g( X) c% L
  25.         tag_t body_tags=NULL_TAG;. X7 j; y. Y9 D6 O
  26.         int num_desc_lines=1;, _  j$ C% s9 n% U
  27.         const char *description="";
    0 y2 A/ ~: e5 f* B4 o4 E
  28.         tag_t new_fem_tag;
    , g! i- B9 l. G& W( O
  29.         display_part_tag=UF_PART_ask_display_part();
    5 V9 L$ J/ a, f) R
  30.         tag_t work_tag=UF_ASSEM_ask_work_part();( w4 L, H+ m" z' b
  31.   Q$ o% [; {& b. A) S" F" y$ x
  32.          //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;! }& E% v" K) M$ R
  33.      mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;
    4 {: e- S" v; r; @( Z1 W
  34.          mesh_parms.element_size=1.0;+ T, o+ f" P% I. F
  35.         /* mesh_parms.element_size=dDefaultElementSize;   */ ' Z2 l! m- l6 e7 n$ _
  36.          mesh_parms.edge_maTCh_tolerance=0.508;
    8 I, Q- M$ i2 K+ n3 O9 P2 N. x
  37.          mesh_parms.format_mesh=true;- b6 i7 H% r. o1 j8 |4 ?
  38.          mesh_parms.attempt_quad_mapping=true;
    / i. m; a5 k: }
  39.          mesh_parms.split_poor_quads=true;
    , I+ h" ?, ~: ^! ~4 t$ h2 P% ^0 x3 u
  40.          mesh_parms.maximum_quad_warp=5;
    : K7 M- n# I: ], U/ D) O  E: V* `
  41.          mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//
    / e, Q( w1 K+ [
  42.          mesh_parms.maximum_midnode_jacobian=5;
    6 a2 x; Z3 U1 Y8 W3 C) g* j* W
  43.          mesh_parms.minimum_face_angle=20;+ n  t3 i" O4 u: z# \1 b- ?
  44.          mesh_parms.surf_mesh_size_variation=50;: v! J3 p' V6 p4 ~
  45.          num_geoms=1;0 {: p5 ^1 Q! e0 C8 g/ g+ U# {
  46.          geoms_p=NULL_TAG;
    6 J1 Q0 u. Z- R2 y  a" n
  47. , H9 b1 R3 a- i6 o* }) u

  48. & n. u4 n$ E# a2 o& w

  49.   d) p/ _: e! ~1 n
  50. 1 N; C% Q4 m0 u$ k; w( A  x
  51.         //把控制权交给UG* d3 Q; c: X6 ^2 o6 F
  52.         ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);
    - [& C; u- E' j) I0 S) X( c
  53.         if (ret != UF_UI_LOCK_SET)8 [# O+ r" c' e& G4 p6 n% z
  54.     {& [) m% `5 s; J( G
  55.         UF_UI_set_status("Could not lock Unigraphics");
    % e# m" r8 i, p
  56.         return;
    8 l$ c" C0 x2 v4 @  ?" i
  57.     }2 C9 ?4 e5 P! _7 H2 M5 h5 b, H
  58.         ret = UF_UI_select_with_single_dialog(cue,title,3 f; J& g2 A# S/ z
  59.                 UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,  H; J4 R' I) e7 _" a
  60.                 &response1, &surf, cursor, &view);//调用面选择对话框
    - r+ ?, _8 k1 t, ]+ O
  61.        
    / P0 A$ H( f& }) k% r* S% v
  62.    
    . Y% M5 W5 r7 w# [7 A: F0 g
  63. UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
    / {" q- |0 M: [: p/ d

  64. ' n6 q3 d9 j2 b
  65. int count=0;
    + g9 [$ p3 i6 N( A& X7 h5 ]% l8 I

  66. 0 P' u3 ^$ M1 h5 {6 W* E
  67.   //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);        3 u7 k' y# w1 g% E$ E6 l
  68.     if(!ret)
    ( ]) s$ A# \/ P
  69.     {2 d' E3 `3 \, E
  70.         if (response1 == UF_UI_OBJECT_SELECTED ||/ c9 B1 k) z% a5 M* x" _* ~
  71.             response1 == UF_UI_OBJECT_SELECTED_BY_NAME)
    8 e" O" w0 n- n
  72.         {
    4 ]/ _7 {" G, I! N  a
  73.                         num_geoms=1;
    6 C8 s9 M1 p* _: x- t
  74.                                  int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);
    2 `9 n' z( Y' y
  75.                          if(error!=0): n& ~# v/ Q2 p2 x, ~. w
  76.                                  AfxMessageBox("划分网格不成功");+ n  [1 V' w* Z
  77.                          if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");
    # C& j0 o, f0 `* X9 Z5 B$ y
  78.                 }
    5 r, s9 `% V, N( o1 ?
  79.                         8 _3 s, E" k0 \1 @4 E
  80.             
    4 ^7 B9 g, [5 z# L3 g
  81.                                
    5 x% U3 e  a* n' [! s* R
  82.         }        9 ?8 ^' G3 z4 H7 j4 z
  83.         //UF_free(geoms_p);4 `/ d! G) [! L. W# t
  84.         UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);2 I! e. G( E# s) |$ d1 F
  85.    ShowWindow(SW_NORMAL);6 U; a/ Z: Y  M0 ^/ W. }
  86. }
复制代码
这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,) n9 ?: V1 \8 S: M# Y/ m3 [/ `
特此前来求教错在哪里了9 J+ |0 J4 L; y1 i! t/ @9 w  X  Y
上海点团信息科技有限公司,承接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 的方式试试 % B1 ~* U& s8 Q

: |, B( h0 U/ h+ F5 u  O直接在NX 里面 划分网格看看
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

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

KKuN 板凳

2014-5-21 23:33:18

admin 发表于 2014-5-16 12:23) E0 w6 E" L/ N- y$ j
你先不用 MFC 的方式试试 ' A0 g( }3 |3 A0 K  s
- o' }  {$ p" Z3 L2 U! L
直接在NX 里面 划分网格看看
5 C. F7 ^+ Y/ [4 z0 m; ^
直接用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二次开发专题模块培训报名开始啦

    我知道了