PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

  [复制链接]

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

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

KKuN 楼主

2014-5-16 10:48:19

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

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

x
  1. void CMainDlg::OnMesh() $ k  e; M3 M, N7 D. ~. ]8 D
  2. {  f+ I' H- \5 _  G
  3.         // TODO: Add your control notification handler code here
    $ v" I( v+ F. U
  4.         char cue[] = "please select a face of body";
    ' v: o/ _  |; I/ a8 N
  5.     char title[] = "select face";1 A0 d9 q, _$ `) n2 p
  6.     int response1;- z" x" M2 _( G2 K% e1 n5 c5 i
  7.     tag_t  view,temp,temp1,point;
    % K  w7 l. U* Q5 k/ f+ }
  8.     double cursor[3],matrix[9];0 P% y- k0 V) e3 V% q
  9.         int ret=0;- M. e5 h. |3 n  A4 V

  10. 2 B/ F& H4 e" |4 \! B
  11.         //UF_UI_specify_screen_position()函数的初始化参数
      C( o7 z- b- ?$ E1 F8 Z3 \
  12.         char message[] ="please specify a position"; 5 {+ i+ c) @( R) ~5 ^
  13.         int response2;2 l1 y  _. P% N
  14.         " P: _2 N" I) I* M) A
  15.         UF_SF_UGs_2d_mesh_parms_t  mesh_parms;6 r: p3 W1 j" |9 F9 p. c3 M
  16.         int num_geoms;//几何体数量! i8 V$ |1 u, Q
  17.         tag_t geoms_p;//几何体
    9 \; i" c& u* z- r0 K- s' E
  18.         tag_t mesh_tag=NULL_TAG;" m! t. _0 P  g, {
  19.         tag_t scenario=NULL_TAG;' F$ d' ?. v7 y
  20.         tag_t display_part_tag;
    % v! V; w& U5 U; o) B1 u6 O
  21.         tag_t proto;
    9 {- ^4 A& V* u4 g
  22.         //最小化当前对话框
    6 N" J1 t* E1 r. B- h) e1 _7 l! y
  23.         ShowWindow(SW_HIDE);
    4 d$ d1 B3 S" ]2 ^. c
  24.         int num_bodys=1;
    # C1 t8 B, {( |) a- r$ d- I/ V
  25.         tag_t body_tags=NULL_TAG;) I4 B0 _& ?9 U: q
  26.         int num_desc_lines=1;3 l+ J+ F# q' M- W( u) ^
  27.         const char *description="";2 {* }- [5 b2 h9 u+ T$ q" M! i
  28.         tag_t new_fem_tag;  l! l9 |, e# n+ P0 K
  29.         display_part_tag=UF_PART_ask_display_part();
    + V6 K8 K0 d& G7 y
  30.         tag_t work_tag=UF_ASSEM_ask_work_part();
    3 S; o% O  |. f* |# D+ s. Z# N
  31.   z" \: T+ g  \, M! y6 O6 ]4 S
  32.          //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;
    " v0 E# B) _- H/ Z; i0 G* X
  33.      mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;
    6 L1 `* b+ J- g: A$ l# X2 E$ ^" s
  34.          mesh_parms.element_size=1.0;1 X+ Y' r4 b- V  M2 U
  35.         /* mesh_parms.element_size=dDefaultElementSize;   */
    ( Q- \$ P  x8 x/ M' s( k+ z
  36.          mesh_parms.edge_maTCh_tolerance=0.508;
    ' r& a1 m. |% {* z$ K* f% I  `. ]
  37.          mesh_parms.format_mesh=true;
    % S% n" i4 D, M5 X; y
  38.          mesh_parms.attempt_quad_mapping=true;
    & o, q( w* f5 D( C6 ^* l
  39.          mesh_parms.split_poor_quads=true;4 ^8 j7 ?' n4 S) }: O* f
  40.          mesh_parms.maximum_quad_warp=5;0 L' Q# ]% S7 Z( @
  41.          mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//
    " I+ P) U/ ?" ?" @, z1 Z1 Z
  42.          mesh_parms.maximum_midnode_jacobian=5;
    % f% x+ _: n9 ?2 u$ E
  43.          mesh_parms.minimum_face_angle=20;, Q) a" Y8 T; p( Z- _
  44.          mesh_parms.surf_mesh_size_variation=50;
    . R+ f" M* C( P
  45.          num_geoms=1;: `" E- ]7 c# [
  46.          geoms_p=NULL_TAG;
    1 j' X. U4 I, w# b5 ~1 P' t
  47. 6 t4 Q" U: C0 A3 q4 E- x

  48. . }) S% X) G4 Q+ f: W0 v- W: i
  49. 3 u( v- d' G0 d9 F% ]

  50.   y- P6 D7 h+ k* J" G
  51.         //把控制权交给UG- y0 D7 G8 U5 ~1 o
  52.         ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);3 \" U0 [. u; B" ]) z0 c
  53.         if (ret != UF_UI_LOCK_SET), ^7 B6 ]* J: ?; b
  54.     {
      \9 _4 _* Z7 V) y: w/ R
  55.         UF_UI_set_status("Could not lock Unigraphics");
    % O3 i  Z2 u) D4 ~7 _( s
  56.         return;
    ; `, V6 i8 N! [2 f0 t$ v9 J. b2 \
  57.     }
    : M$ |# v9 H0 w7 O$ r
  58.         ret = UF_UI_select_with_single_dialog(cue,title,
    ! U4 w9 ]7 c* k( A* Y: c% ?5 p6 T+ ]
  59.                 UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,5 Z/ g4 v5 Y1 ]; C
  60.                 &response1, &surf, cursor, &view);//调用面选择对话框& t  d1 j, B! I9 `& z- G
  61.         ; r; U+ r3 i7 C. i( ]
  62.     $ ^/ @; c4 \9 u2 A8 e, f! H
  63. UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
    , Y1 I7 J0 m' d
  64. + X) Q  b; A3 R# h
  65. int count=0;
    0 v7 Q6 t5 x2 X: r% L0 U& j
  66. - J5 I& M% d7 K# ^: V
  67.   //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);        0 H) h! U5 B3 v4 n
  68.     if(!ret)4 x, Z0 L) I8 U' v8 |* N1 r3 d& G' H
  69.     {' X  |; D2 l& p; ^& J
  70.         if (response1 == UF_UI_OBJECT_SELECTED ||
    , @9 `4 R; t; P, ]5 n- w
  71.             response1 == UF_UI_OBJECT_SELECTED_BY_NAME)
      b8 F# R, y# M. v4 ^6 k0 E9 w" W0 V
  72.         {( y: Q- i; R; [7 c$ K, I- g
  73.                         num_geoms=1;  J: c, v1 @, ~# B6 H1 |
  74.                                  int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);
    ! S3 E+ N2 L' y1 O% D: h
  75.                          if(error!=0)
    % G3 u. I2 p+ W/ g# a" e0 _
  76.                                  AfxMessageBox("划分网格不成功");; c+ o/ n2 y1 I- K( }& N5 n
  77.                          if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");% T* x" M4 C' h% H6 h4 Y
  78.                 }6 i, _7 U5 U# S% h; g' i2 p
  79.                         ( v8 O: |5 \# R0 ^5 D# w* c
  80.              * y1 r1 c3 P- ~# X$ m4 ^, M; k+ ^
  81.                                 ; s9 A0 a% l* x5 ~: f
  82.         }        : e) D& m/ @0 q: h7 H$ \# U8 l
  83.         //UF_free(geoms_p);
    0 x5 X- k9 w( s& W5 [! P# j* Q
  84.         UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);5 g/ p4 `# u6 q; h! K) v
  85.    ShowWindow(SW_NORMAL);9 _- U7 |) G" C: {: v6 c! J
  86. }
复制代码
这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,
8 p- Q/ R4 U- v/ ^9 N特此前来求教错在哪里了2 v! I1 `$ |5 u
上海点团信息科技有限公司,承接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 的方式试试
: c! X/ V5 `7 F; H; v" V* G5 a, S% O3 \, p/ e
直接在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
; u2 k; E( F1 `) N, H2 u你先不用 MFC 的方式试试 % f6 \1 w$ E. l% y& o
" w+ T' |0 L+ X, s* i$ O/ _
直接在NX 里面 划分网格看看

- [" S1 }: {# |' K9 Z直接用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二次开发专题模块培训报名开始啦

    我知道了