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

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

KKuN 楼主

2014-5-16 10:48:19

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

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

x
  1. void CMainDlg::OnMesh()
    0 r' H$ L! V1 D6 }) d/ S
  2. {  o+ U- O% i  _7 y7 j0 |( o
  3.         // TODO: Add your control notification handler code here
    * f- W1 c. ^& R0 g) d
  4.         char cue[] = "please select a face of body";7 M; E# |1 G7 @9 e1 @  {! F
  5.     char title[] = "select face";  Q; Y0 I$ N5 ~5 U
  6.     int response1;
    3 K2 ]- p3 ]$ {  [0 c0 w
  7.     tag_t  view,temp,temp1,point;
    * Z$ y  a& r! C) E" C
  8.     double cursor[3],matrix[9];( N1 o( r( W2 q  Y
  9.         int ret=0;
    & D& ~" |4 }- ^5 d
  10. - k0 s2 v6 m: A4 z% k
  11.         //UF_UI_specify_screen_position()函数的初始化参数* a1 l/ I, L! j5 i8 }+ Y& f
  12.         char message[] ="please specify a position"; 7 U- a% ^: M/ P* R5 @0 [
  13.         int response2;
    ( X# [5 i4 f' f$ h& R
  14.         # q- D6 t' }9 H9 L
  15.         UF_SF_UGs_2d_mesh_parms_t  mesh_parms;
    / {& Q0 l3 ]. T' Q" i
  16.         int num_geoms;//几何体数量0 @) k- E: L2 V* j9 ^6 k- f1 A
  17.         tag_t geoms_p;//几何体6 z; h0 u# [' @5 n
  18.         tag_t mesh_tag=NULL_TAG;
    0 Z4 ?+ \4 Q% r& W; j0 f
  19.         tag_t scenario=NULL_TAG;8 W0 M$ q6 V) w! ?- \% {- V0 |: v
  20.         tag_t display_part_tag;
    0 a- j; x* @* r/ y! p" W* ^) l, ^2 }
  21.         tag_t proto;
    & \! m2 e: z  V1 i: A3 m
  22.         //最小化当前对话框
    ! p! u! r, l7 A) m/ K. K
  23.         ShowWindow(SW_HIDE);
    8 |1 e2 h* N- _0 L
  24.         int num_bodys=1;
    * J6 p9 v' A: ?: E" f8 u! N) M
  25.         tag_t body_tags=NULL_TAG;
    5 ~# c  \- Y3 z. Y( L+ u  C6 L$ @( o
  26.         int num_desc_lines=1;
    + Q1 f# p& ^) P- @' q; \0 l+ Y/ u
  27.         const char *description="";
    $ G+ C8 A3 g) n( J. [
  28.         tag_t new_fem_tag;
    2 d6 I3 T& ?$ T# s9 X, ]
  29.         display_part_tag=UF_PART_ask_display_part();2 `+ V1 h4 q3 V( m, v, |6 U. V$ m
  30.         tag_t work_tag=UF_ASSEM_ask_work_part();9 U8 @9 _5 t$ o1 F
  31. 2 U% e/ G' t$ b1 l" ?, ^- F6 s: c
  32.          //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;
    & p) [7 L; M2 p
  33.      mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;
    & g8 V  ?' v& z* s8 Z" s1 M6 h
  34.          mesh_parms.element_size=1.0;. Y5 J2 X$ H$ x: Z( }& m# o6 X
  35.         /* mesh_parms.element_size=dDefaultElementSize;   */ * w- m! G, K0 q; D
  36.          mesh_parms.edge_maTCh_tolerance=0.508;
    / N/ T8 y2 I; H
  37.          mesh_parms.format_mesh=true;$ v8 r6 d* l, B6 w
  38.          mesh_parms.attempt_quad_mapping=true;; @8 U+ c2 q6 a" ~& |4 f$ y/ v' a: Z9 L
  39.          mesh_parms.split_poor_quads=true;
    ) d0 s# d2 [! G- [
  40.          mesh_parms.maximum_quad_warp=5;/ Q8 ^* ^/ G' `
  41.          mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//
    ( G: {- L) V8 _% A* t+ c$ `
  42.          mesh_parms.maximum_midnode_jacobian=5;$ a( k* R# j7 O1 Q9 i( ^# I( S+ r
  43.          mesh_parms.minimum_face_angle=20;
    4 b/ F( i- w) l9 c
  44.          mesh_parms.surf_mesh_size_variation=50;
    6 Z1 Q" K9 l, g+ C# A: I
  45.          num_geoms=1;" [9 f. z9 @9 T3 L  S5 W
  46.          geoms_p=NULL_TAG;: G- G6 H6 g6 E! i, i
  47. 1 r& W- g* q7 h' H$ {5 P

  48. ; M8 T/ ]6 s5 v/ Z+ f- g0 K

  49. $ J! N  S+ k) V

  50. + d/ L' e2 o2 M: ~  Q9 \; o3 R
  51.         //把控制权交给UG' k  ~, O6 S$ D7 j# o2 W- s
  52.         ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);
    : ~- k% q- T1 V0 Y  Y
  53.         if (ret != UF_UI_LOCK_SET)3 p4 @* E. z- J2 w% Y
  54.     {
    " b- B9 ~" H* b! e4 s# k( @
  55.         UF_UI_set_status("Could not lock Unigraphics");
    1 {: Q* A  |6 U) X; E% s  @+ ?. X
  56.         return;8 \2 U. R) y+ e( D" P) z
  57.     }  ~2 B3 P. [5 R  v; q( Q+ c  P, r
  58.         ret = UF_UI_select_with_single_dialog(cue,title,. k) A- Z- f0 T* [" z$ v
  59.                 UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,
    - v" C. `( q' J% Y& t
  60.                 &response1, &surf, cursor, &view);//调用面选择对话框
    1 r/ i3 b0 ~. I% U8 O
  61.        
    + I+ j' S7 ~, e# }0 w+ M% c
  62.     . c  i3 F! l( V" e. b
  63. UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);  V6 B( V% n. e3 M) _1 v- h+ ~0 T

  64. / _% d) K+ o8 w% [/ C
  65. int count=0;
    ! k# s4 Y2 w, s2 E7 _/ }
  66. & q% f% ]) N, m( y" n8 q
  67.   //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);       
    # B4 C5 s1 B7 M( ~0 Y0 V7 {6 N
  68.     if(!ret)9 E5 W" g+ I* k
  69.     {
    9 k) J; I+ Y6 o$ f" A( C# e
  70.         if (response1 == UF_UI_OBJECT_SELECTED ||
    4 C7 V" i3 i" d
  71.             response1 == UF_UI_OBJECT_SELECTED_BY_NAME)
    2 X0 e7 g2 R( C/ p8 j
  72.         {/ J* J2 {# P# T( B5 f( X& [
  73.                         num_geoms=1;
    : B5 d1 i9 V1 \. Z! h# h8 Y
  74.                                  int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);' C' p- \: M8 I! O) I- u& C/ ]
  75.                          if(error!=0)$ q7 s1 A7 f6 j4 C% g
  76.                                  AfxMessageBox("划分网格不成功");% \: V' T$ ~4 q# X4 h! _
  77.                          if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");+ w7 }! _2 V7 U" m/ d
  78.                 }
    " m5 B3 }* v% \9 O! I' y
  79.                        
    4 w& W; p. a# [* z* C
  80.             
    . u% W& j( j6 r1 \- |# ]
  81.                                
    1 \3 J. g+ h7 D
  82.         }        " Y( m. G! R2 C2 @/ ~7 u( p
  83.         //UF_free(geoms_p);
    . n! }8 k$ Z# H3 d/ p2 S+ y. G' M- j
  84.         UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);8 b- X9 f, K+ ^8 H2 H
  85.    ShowWindow(SW_NORMAL);
      f/ W3 D* k1 Q8 O7 r9 u5 w
  86. }
复制代码
这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,
4 ~4 W9 H+ Y0 V# m: K特此前来求教错在哪里了3 K: ?' B4 F. G5 N1 D2 }  P
上海点团信息科技有限公司,承接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 g& ~3 }+ j0 G5 h" M/ n

( ]/ t' x8 I9 n) k' c; S直接在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
9 E) |. e4 A: [你先不用 MFC 的方式试试
5 @7 e" B/ l8 N' P; p9 ]
6 e: k( G) ^* J* L直接在NX 里面 划分网格看看
% T3 m( l8 e: I% W& F' |* o
直接用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二次开发专题模块培训报名开始啦

    我知道了