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 5905 2

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

KKuN 楼主

2014-5-16 10:48:19

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

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

x
  1. void CMainDlg::OnMesh() " D: u. k& w& `! k+ E+ K2 U
  2. {" f  W0 X8 P2 G7 b$ Q1 u" m6 J
  3.         // TODO: Add your control notification handler code here
    1 B- e2 n0 z, ~" m1 [
  4.         char cue[] = "please select a face of body";0 b! T5 Z$ x* A5 @4 a0 D
  5.     char title[] = "select face";
    $ |9 b% y  ~0 L& ~3 O* |
  6.     int response1;
    & I% q2 @7 o) I0 V& B% P7 u* \
  7.     tag_t  view,temp,temp1,point;
    0 c% N, @) ^' y7 G9 w, B- l
  8.     double cursor[3],matrix[9];
    7 {: P/ s4 {; `9 }; L0 \
  9.         int ret=0;4 a9 c: a: [* M3 q+ F

  10. " B& \1 W4 Z- R; ?2 H! \( Q4 Z5 I3 s
  11.         //UF_UI_specify_screen_position()函数的初始化参数4 W9 n( _# H5 L# ?  B- g
  12.         char message[] ="please specify a position"; % r6 O1 Y+ g( X4 e% ^( y
  13.         int response2;
    1 c. [; p1 a5 H6 J& O) w! I
  14.         : k8 x$ r. c( q
  15.         UF_SF_UGs_2d_mesh_parms_t  mesh_parms;
      V# w* Q- w0 i8 i: a8 Z# e7 T# u
  16.         int num_geoms;//几何体数量6 O) q( ]7 x, p9 ]( Q
  17.         tag_t geoms_p;//几何体
    ' i! w# b( A4 ?1 H' k  ]( F" V, R
  18.         tag_t mesh_tag=NULL_TAG;' A  I7 D, {/ ?* a$ k" g
  19.         tag_t scenario=NULL_TAG;3 J% }( i) F  J1 [. b) D( C3 |2 T
  20.         tag_t display_part_tag;  Y, n1 I& R9 w0 ?% U, e
  21.         tag_t proto;
    4 h2 s6 h1 Y$ [3 D' m
  22.         //最小化当前对话框7 C1 l7 p, L9 b1 `, Q1 n2 q. V
  23.         ShowWindow(SW_HIDE);+ }* a: v3 `. E7 n2 R1 A5 v) y9 ]/ R5 M
  24.         int num_bodys=1;8 u! c- A2 U& }# I5 k
  25.         tag_t body_tags=NULL_TAG;
    ( ?. `+ B( P$ m) z6 X
  26.         int num_desc_lines=1;
    2 j9 \! G2 h. B. j
  27.         const char *description="";: A- C7 n: ^6 w  o- b! w/ z2 w
  28.         tag_t new_fem_tag;
    8 c' J: ]4 c: b! U1 p3 F
  29.         display_part_tag=UF_PART_ask_display_part();
    ! k0 T! f0 d) O6 U' ^
  30.         tag_t work_tag=UF_ASSEM_ask_work_part();
    9 \6 m  k. X0 m3 L- A6 h" S
  31. 7 k" I" G' s# ]9 g8 K4 o. \
  32.          //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;% r/ t3 w0 T& z9 @4 E9 R2 G: F! C
  33.      mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;
    1 ~, Z* a! M7 }$ w, T: ?4 x
  34.          mesh_parms.element_size=1.0;& ?0 J6 X) r4 P" j
  35.         /* mesh_parms.element_size=dDefaultElementSize;   */
    & k9 B0 }# l' b
  36.          mesh_parms.edge_maTCh_tolerance=0.508;
    8 V2 |4 m) ~. t4 N' r+ l, Q
  37.          mesh_parms.format_mesh=true;; Z+ S  G+ b1 X) t
  38.          mesh_parms.attempt_quad_mapping=true;
    # `! z/ u) p. L
  39.          mesh_parms.split_poor_quads=true;
    ( r: R0 G2 _4 n3 s% r3 L- W
  40.          mesh_parms.maximum_quad_warp=5;
    ' ~  a( B* s+ Q) }
  41.          mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//+ j$ V5 W. x* ~& _0 x: q( \7 t7 g
  42.          mesh_parms.maximum_midnode_jacobian=5;+ m" d) m3 h5 q1 b
  43.          mesh_parms.minimum_face_angle=20;
      o, K3 F1 C& w( }, _  S: z
  44.          mesh_parms.surf_mesh_size_variation=50;* m7 U) ?5 |) P$ N6 {
  45.          num_geoms=1;
    % M( O: w9 R7 ~9 u. S
  46.          geoms_p=NULL_TAG;
    * R" U' a7 A3 r2 H5 V) p

  47. ( S: E, W; B1 k

  48. / g3 ]* `. y7 f2 @
  49. + i: X+ [9 R# i

  50. 1 H7 J) J1 f2 b" M/ a. u& w8 h' V6 ]
  51.         //把控制权交给UG
    8 g1 h( Y$ ~* X! ^. t
  52.         ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);
    : q5 n1 M2 u' X# `0 n2 L: Z
  53.         if (ret != UF_UI_LOCK_SET)
    / m$ {6 C% v# J& W+ @% q
  54.     {$ W3 I, r1 l; j' Z
  55.         UF_UI_set_status("Could not lock Unigraphics");
    - K& P& o" @+ s# S- z
  56.         return;
    - K- `3 B2 J8 W
  57.     }: n( ]$ a) v: e8 z  W. V  f
  58.         ret = UF_UI_select_with_single_dialog(cue,title,
    - o" w6 _, ^- H: Z% a% E1 j
  59.                 UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,
      O! g0 j& \7 ~5 q7 r& q( y/ q
  60.                 &response1, &surf, cursor, &view);//调用面选择对话框! v2 m8 s- u8 C# N2 p
  61.         & w+ l/ z+ j( B. r) x* D
  62.    
    4 A4 k' \0 D7 F- [
  63. UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);% ?4 `9 w# }% }
  64. * V. a" K# ^  {. i- Z
  65. int count=0;
    " C1 g8 }- m" d) M

  66. # F$ b) ~# O3 i, B9 b8 O( @+ I4 Y; P
  67.   //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);       
    ( ~( c& `5 r  k& ^' z$ v( L
  68.     if(!ret)- @5 ~+ Z+ r5 n5 q" i- T" Y
  69.     {
    * V, @: }# A! A+ d
  70.         if (response1 == UF_UI_OBJECT_SELECTED ||
      H5 x! c, {* {" D8 o% l
  71.             response1 == UF_UI_OBJECT_SELECTED_BY_NAME)' u4 t# [6 v) ]. H
  72.         {6 P% g/ K4 |) l- `8 R6 ~" B
  73.                         num_geoms=1;
    + A3 k8 O  N# X! E
  74.                                  int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);' F0 N: M$ [5 \% R, H+ L6 ^
  75.                          if(error!=0)8 ?1 A5 v' z! B# w9 k
  76.                                  AfxMessageBox("划分网格不成功");8 G! S7 m; x, ]% ^- L1 U" e7 Y
  77.                          if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");8 [  l- o  s0 N. @' b
  78.                 }1 I0 K- X4 J& V+ @9 o
  79.                        
    : w- t2 ?, L2 L; O4 E3 T  l. W
  80.              % U$ a/ M1 z7 \4 L7 U- d
  81.                                
    ' i6 t2 K' q! c6 K+ I( \# t9 s" M0 }
  82.         }        $ K1 B7 Q$ D1 {3 \
  83.         //UF_free(geoms_p);
    + ]+ ~* E+ k, Q: F! W) u0 N
  84.         UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);
    9 J% O2 c8 v5 L7 o
  85.    ShowWindow(SW_NORMAL);
    , _+ m% l7 u& b' Q1 R# ^9 K) d
  86. }
复制代码
这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,
0 e0 o3 A% A' H  t/ `' k特此前来求教错在哪里了- t$ r' V. }# Q3 {- ~
上海点团信息科技有限公司,承接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 的方式试试 0 O2 H3 {2 K: J- [# o2 B1 q

$ h7 i; B6 M1 y3 i4 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. B' b7 k8 B( u3 X: {
你先不用 MFC 的方式试试 3 Y+ [9 j* K8 w" V* `
: E+ ]' z( x8 e1 o+ D. n
直接在NX 里面 划分网格看看
/ ~* R& k$ `4 _, O3 v
直接用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二次开发专题模块培训报名开始啦

    我知道了