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

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

KKuN 楼主

2014-5-16 10:48:19

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

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

x
  1. void CMainDlg::OnMesh() + O& J  m6 S$ J6 a/ ]
  2. {
    . \' `# ~0 l4 S- ?( G0 m/ ^( g0 Q$ I
  3.         // TODO: Add your control notification handler code here
    0 ?9 i7 j# H1 G" N8 W4 f$ s
  4.         char cue[] = "please select a face of body";$ A6 N, @2 b  ^) n; S6 p6 }" l
  5.     char title[] = "select face";* e. _) B6 j  L# {0 _
  6.     int response1;* x$ _, E8 y6 p3 q" E/ Y( `
  7.     tag_t  view,temp,temp1,point;
    + K0 D6 o( H! x
  8.     double cursor[3],matrix[9];5 c2 x' k. N% x0 A8 h
  9.         int ret=0;+ K' I0 u/ e) E: c

  10. : {- J  a8 \$ l9 `
  11.         //UF_UI_specify_screen_position()函数的初始化参数1 u3 ?7 S" H, w- u
  12.         char message[] ="please specify a position";
    % j$ f0 ^. A# e! ^8 J: T
  13.         int response2;
    6 k) N- p% O' u, l& s
  14.         ! B1 f, u2 j- G! m& J1 P8 _
  15.         UF_SF_UGs_2d_mesh_parms_t  mesh_parms;5 i1 C. G( q" ?8 U
  16.         int num_geoms;//几何体数量  R1 G4 f" J" K, F$ j, w
  17.         tag_t geoms_p;//几何体
    6 i; }2 F1 h8 a6 ]: H1 R
  18.         tag_t mesh_tag=NULL_TAG;, |3 {; W  Y- A/ Y( Y
  19.         tag_t scenario=NULL_TAG;" s) d( L& F5 v: O* G# u: m
  20.         tag_t display_part_tag;
    : }! {0 Y3 C2 r( R( X& U% A
  21.         tag_t proto;5 t, R: Y# X0 @5 q  Y& F+ G
  22.         //最小化当前对话框
    6 f5 F. C, }1 V7 X
  23.         ShowWindow(SW_HIDE);
    " z7 @: U( Y' ~2 Z& t$ ^+ o3 }0 l
  24.         int num_bodys=1;% V! J( o1 m" b" F: ?5 ?
  25.         tag_t body_tags=NULL_TAG;' a0 o& a) s) h+ C7 J2 o/ [
  26.         int num_desc_lines=1;
    ( n$ `) {4 G1 S/ R8 j! Z* \* F
  27.         const char *description="";
    # M2 s2 E$ x" ?5 ~& `& S$ v
  28.         tag_t new_fem_tag;
    5 E% `3 F, z( t( ?
  29.         display_part_tag=UF_PART_ask_display_part();
    0 G" {) Y0 _- D) i
  30.         tag_t work_tag=UF_ASSEM_ask_work_part();
    ' C* ]' j! F& ^

  31. # k4 V; g  ]$ u% V& K3 [' L
  32.          //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;
    8 T, x( N2 }( ^: H
  33.      mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;
    / v, Q9 ^4 O4 [% T6 C$ p
  34.          mesh_parms.element_size=1.0;
    0 i6 V/ {) _, T4 z* {& x- D
  35.         /* mesh_parms.element_size=dDefaultElementSize;   */ 1 [9 T( a% r# j8 o' l5 S6 {
  36.          mesh_parms.edge_maTCh_tolerance=0.508;
    ( ?  R! N- l  G
  37.          mesh_parms.format_mesh=true;- a% b* B2 I& a- i
  38.          mesh_parms.attempt_quad_mapping=true;/ {. U3 w, u/ s% {8 t
  39.          mesh_parms.split_poor_quads=true;
    1 j, N- @4 j% E# {4 N; Z+ x! M" q
  40.          mesh_parms.maximum_quad_warp=5;. X" e  _% w7 ?. H# d- o6 Y
  41.          mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//
    ; v- [. J* L2 w
  42.          mesh_parms.maximum_midnode_jacobian=5;
    2 t8 p, W' C4 U+ I$ q+ p: b
  43.          mesh_parms.minimum_face_angle=20;9 Y7 v" g. W9 {- w; T$ o* d5 U
  44.          mesh_parms.surf_mesh_size_variation=50;3 d$ t( J% U# c. N' E
  45.          num_geoms=1;# O/ E  V( ~" Z& {1 O+ p
  46.          geoms_p=NULL_TAG;% _- \. m3 m% J) W% D1 [; p: c
  47. - S7 P% W1 }3 l" P. v" ?/ N1 |
  48.   d/ u) d# ]* E9 A
  49. . c# l) i5 _& `* N4 @( ~' T
  50. % j1 x- E' o8 ~3 i, e5 _. C
  51.         //把控制权交给UG5 a" a) T) e# K5 i" B6 z! |
  52.         ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);
    * w& s4 v7 p; G3 W) m1 K
  53.         if (ret != UF_UI_LOCK_SET)
    - e' ?5 r, A" z5 G3 F/ N6 [
  54.     {
      b; o+ ^2 c. k$ F; S' e$ n
  55.         UF_UI_set_status("Could not lock Unigraphics");
    ) s; l' N/ U1 N, E$ M# v& ]- {5 d
  56.         return;, k* l6 B' z" q, k
  57.     }
    5 B4 \5 m6 f0 c3 R2 H  O; @
  58.         ret = UF_UI_select_with_single_dialog(cue,title,# R" C2 z& X, V( ]0 Z6 H6 g! g
  59.                 UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,
      ]% M6 R0 g5 r. o- G4 [4 ~2 x
  60.                 &response1, &surf, cursor, &view);//调用面选择对话框
    ) ?' G# Y- ^% O6 Y4 J+ w
  61.         / m" n1 Q/ Z9 A% p# c3 }+ `( C4 j7 u
  62.    
    , L# z+ [2 u! j0 @0 X, {, E
  63. UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);- N2 {, U9 R0 b# u# e$ ]) x

  64. " U) v. [: r# [; L6 p
  65. int count=0;
    + n0 @4 E$ f/ t
  66. ; b' D3 L5 W- o+ I& s
  67.   //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);        6 r" Z6 P& D( m# e+ T, C* Y) P/ v
  68.     if(!ret)
    ) V# j+ v1 E5 ~  Q
  69.     {: ^4 b! I; }3 c  j0 k
  70.         if (response1 == UF_UI_OBJECT_SELECTED ||
      p/ D8 i: n+ t
  71.             response1 == UF_UI_OBJECT_SELECTED_BY_NAME)! e' e) `8 p& N! |
  72.         {/ Y' Q4 B, b& n+ D
  73.                         num_geoms=1;
    ' Y& L; Q9 t* O
  74.                                  int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);4 L0 F$ ?' }" t) |
  75.                          if(error!=0)* x* ?7 N; {8 _" `! b6 b9 {
  76.                                  AfxMessageBox("划分网格不成功");" H# i& {/ `) S' Q
  77.                          if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");
    " j6 j) M) e# D
  78.                 }' u1 |  D7 F; b" ~( q) ]# C( @
  79.                         : C0 P7 l+ j2 A/ D
  80.              * N0 n& w4 k" {! U+ T
  81.                                
      s" t$ R0 h; E2 J/ `
  82.         }        ; s' P' _8 m. Y
  83.         //UF_free(geoms_p);# z! s* A/ r: K* i7 p6 e9 B
  84.         UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);
    . M9 e  J" ?4 `
  85.    ShowWindow(SW_NORMAL);
    $ y% _2 N  u9 D$ H- _0 ?% P2 _% u) u
  86. }
复制代码
这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,
/ k( {  ]. l0 b7 b9 H% l4 z特此前来求教错在哪里了! }  l5 y2 Q, j1 Q+ ^
上海点团信息科技有限公司,承接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 的方式试试
5 ^( j9 r. I- T; U/ w
- \* ^) m& d. D( j! a" m3 _直接在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+ y/ m6 Q+ J8 t5 D* I7 u+ h
你先不用 MFC 的方式试试
' H9 T; j6 n5 I, O. }  o: j) r* D7 m3 f# k
直接在NX 里面 划分网格看看

& `* U' w% j8 Q直接用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二次开发专题模块培训报名开始啦

    我知道了