PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

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

  [复制链接]

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

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

KKuN 楼主

2014-5-16 10:48:19

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

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

x
  1. void CMainDlg::OnMesh()
    : H" b5 S) O4 x( ^7 {: Z
  2. {5 R; N1 z" J7 y6 P. m4 i$ N
  3.         // TODO: Add your control notification handler code here$ H7 O# A5 _; u% [( ~, W7 ?" O
  4.         char cue[] = "please select a face of body";, e, S- m" q+ u" M8 ?
  5.     char title[] = "select face";
    6 Q  V7 p4 t* V, c
  6.     int response1;
    5 d# p2 i- w. p* {* D$ @
  7.     tag_t  view,temp,temp1,point;/ X3 W6 k& J/ h, Z" \& X
  8.     double cursor[3],matrix[9];
    2 U; K9 c  J, s) d/ N1 m
  9.         int ret=0;
    5 ~' y2 v# T, g, K' S

  10. ' B9 U% M: P; R/ P. a
  11.         //UF_UI_specify_screen_position()函数的初始化参数3 o& j6 ~: Y+ M% }# O9 w8 m  Z
  12.         char message[] ="please specify a position";
    1 q& u4 e" b5 V; I; n
  13.         int response2;
    6 p! z* n( ]" V& I- g9 z+ z7 J4 G
  14.         / y1 x  y! t( @) J& m* n# H
  15.         UF_SF_UGs_2d_mesh_parms_t  mesh_parms;
    3 B: Q# G& W8 t# n9 I
  16.         int num_geoms;//几何体数量
    2 z! f4 V; r! w9 x% ^; T8 _. T
  17.         tag_t geoms_p;//几何体5 Q1 b. j8 F% t; B& h
  18.         tag_t mesh_tag=NULL_TAG;
    & q$ T( Z  S$ L7 k
  19.         tag_t scenario=NULL_TAG;) H, z0 Y) f4 ?7 g4 s1 f  P
  20.         tag_t display_part_tag;2 N) h4 X7 m+ @$ I0 V1 F
  21.         tag_t proto;
    8 W$ A5 R# s# P8 O0 K# U
  22.         //最小化当前对话框% l" ^6 u! i+ Y9 H
  23.         ShowWindow(SW_HIDE);7 c7 k' q1 o# j& f$ N  Y, O- L; b
  24.         int num_bodys=1;
    + g* Y5 w3 W' ?( a( ^
  25.         tag_t body_tags=NULL_TAG;- ^, b7 p. e7 j' M- V8 @
  26.         int num_desc_lines=1;4 j2 c: B) [$ |# B9 w
  27.         const char *description="";* c( e# P% A' @3 f5 Y7 o+ J
  28.         tag_t new_fem_tag;7 C& R( x" D5 b. C
  29.         display_part_tag=UF_PART_ask_display_part();
    $ o3 m* _' c* m$ l# j3 o( U
  30.         tag_t work_tag=UF_ASSEM_ask_work_part();: [) X# u, m/ W  H# h3 d& p( R
  31. 4 L& D1 F2 a4 Z9 |$ c5 c- v. k& n9 f
  32.          //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;
    6 _. W; ]* D( Y5 b% `: C: _
  33.      mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;* l5 l( X% u+ X9 q& ~1 a6 p
  34.          mesh_parms.element_size=1.0;# d  P* v& @) W/ H& a4 B0 z
  35.         /* mesh_parms.element_size=dDefaultElementSize;   */
    ! g# a7 i/ G& b. A: q
  36.          mesh_parms.edge_maTCh_tolerance=0.508;
    , h( _) R5 T5 P0 |( b) N
  37.          mesh_parms.format_mesh=true;
    2 f) Q6 z( |0 r: S" O" H
  38.          mesh_parms.attempt_quad_mapping=true;7 X" f/ y+ B: q
  39.          mesh_parms.split_poor_quads=true;, l$ d8 e5 G( |' `! T
  40.          mesh_parms.maximum_quad_warp=5;3 r5 J" d4 B% B% D
  41.          mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//
    8 |+ @* W/ J! ]# s# Z# W. E
  42.          mesh_parms.maximum_midnode_jacobian=5;
    ! r' |( s, p' {6 F
  43.          mesh_parms.minimum_face_angle=20;
    . M8 t& S. x" r+ U% a4 W' R  c7 i
  44.          mesh_parms.surf_mesh_size_variation=50;
    , b! k0 C9 n: o: J) x. H) @
  45.          num_geoms=1;3 J, B& a4 \3 M; W( Y# x
  46.          geoms_p=NULL_TAG;
    % Y% R4 Q, L% w# D; v- t

  47. 9 m+ n8 i9 t  o/ G) {

  48. + C% f& Y9 |9 m. c: U" @+ R

  49. : u( |+ _( F( f6 G+ J* l7 J9 I  c

  50. 7 w  W6 v+ ]$ r% E' Y( p0 E
  51.         //把控制权交给UG3 j7 c6 |) i2 p2 N
  52.         ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);
    * B4 ]) ?) X5 f, C6 v  ~  n
  53.         if (ret != UF_UI_LOCK_SET)
    ' u- g: _5 b# l# c1 R$ B, }' q5 U2 c, X
  54.     {4 I: J; J1 T; w( y+ o; Q& x
  55.         UF_UI_set_status("Could not lock Unigraphics");
    " g3 S0 H3 I! t7 I. l
  56.         return;
    8 e) k4 r& w7 y8 }8 o. X3 w
  57.     }+ H% R4 X1 v- `1 h1 e
  58.         ret = UF_UI_select_with_single_dialog(cue,title,4 W( y' g) v' H
  59.                 UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,1 `/ A# b& ^$ ^9 r
  60.                 &response1, &surf, cursor, &view);//调用面选择对话框
    / m9 {& `6 I+ [0 d6 ?
  61.         + k* y: v; q, P
  62.    
    & D) K( \1 c- ^/ E9 k. S& s/ O
  63. UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
    % S  z  v9 m$ A3 V2 w  m8 Y9 f
  64. ! c  Z+ b+ ]; [* Z8 C
  65. int count=0;' W( e; ^, ]0 c

  66. / q/ C. n! Y6 f) }" o" x$ A7 l* C
  67.   //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);       
    1 f, [$ \- q( e3 w, i1 _
  68.     if(!ret)
    - Z2 @( X5 k( }6 o: q5 y
  69.     {! y4 s- W: N1 C
  70.         if (response1 == UF_UI_OBJECT_SELECTED ||2 f& m! }5 A) X- v* @2 f
  71.             response1 == UF_UI_OBJECT_SELECTED_BY_NAME)
    " }( M8 [+ N: F% Z8 l
  72.         {
    ) N- v- h2 U3 l) [* _' n
  73.                         num_geoms=1;" ]% T" J6 D4 ~( W
  74.                                  int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);% S" x+ N1 H9 ?
  75.                          if(error!=0). g" D+ ~0 H- R2 X# X
  76.                                  AfxMessageBox("划分网格不成功");
    % i- f5 @& d: c
  77.                          if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");# l0 E, m" Q2 K9 R( M  T
  78.                 }4 P& D: d; X, ~# e8 R
  79.                        
      W( W$ i$ p) h' r- P2 h8 H
  80.             
    3 \" q$ J4 ?5 H! n5 O" v7 r
  81.                                 % ~: q( I5 ^7 t- S. R% q
  82.         }        - G5 m: ^6 s6 d( h+ z6 n6 n
  83.         //UF_free(geoms_p);
    2 L) G# L5 u( Q2 Q. n& \
  84.         UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);% u) |3 P/ x2 s- a3 p
  85.    ShowWindow(SW_NORMAL);+ Y. n5 H* X. R, }: O
  86. }
复制代码
这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,( Z/ j, W) V( P5 s2 e5 V/ {
特此前来求教错在哪里了
8 s9 ~4 x  L6 B: C3 N: l. y2 B; v
上海点团信息科技有限公司,承接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 的方式试试
9 r5 i' f; }# L1 y6 ~" x4 m. R" I; X* R  G( o* w
直接在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:233 h$ Q  f' i. s0 l( ]: N
你先不用 MFC 的方式试试 ) y  U, w. Y" D  B1 ]0 `

# T1 D( a, {8 B5 b7 c$ m直接在NX 里面 划分网格看看
2 A7 o$ p) a9 B. t- [
直接用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二次开发专题模块培训报名开始啦

    我知道了