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

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

KKuN 楼主

2014-5-16 10:48:19

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

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

x
  1. void CMainDlg::OnMesh()
    " V, \; f9 p, z& l6 m
  2. {5 E" k0 h5 B- P0 R- `0 P; [2 K7 ~
  3.         // TODO: Add your control notification handler code here; Z4 E2 d" U# }  ?9 o
  4.         char cue[] = "please select a face of body";: o  S& p2 u3 j, j9 M4 w
  5.     char title[] = "select face";; X+ ~: Z' v! X( o! V% }+ F
  6.     int response1;
    4 }& O' N" ~5 S' o( [) B
  7.     tag_t  view,temp,temp1,point;7 r4 G! D8 k0 {! E; g4 W* S9 j
  8.     double cursor[3],matrix[9];- r( G+ b$ D4 k
  9.         int ret=0;
    ! ^6 W, s8 R* i( i4 }8 {0 `# x

  10. : N: \1 Q- l. @1 g- k- U
  11.         //UF_UI_specify_screen_position()函数的初始化参数& Q. p0 }/ ]9 w0 g7 X
  12.         char message[] ="please specify a position";
    , d3 F4 q8 F/ x) V/ o# e* _, p3 {
  13.         int response2;
    : h+ R) m- B1 z
  14.         ( I/ r! s6 N: ]* X+ @- m: E( e5 \
  15.         UF_SF_UGs_2d_mesh_parms_t  mesh_parms;
    / i+ }& x) ]  C4 P  Q' ^) S8 u: Z
  16.         int num_geoms;//几何体数量
    - f' A& r9 l0 Q3 @
  17.         tag_t geoms_p;//几何体- |- h6 H- V1 s
  18.         tag_t mesh_tag=NULL_TAG;
    6 o1 _' y2 G/ i$ I' J
  19.         tag_t scenario=NULL_TAG;& c+ l6 f8 s4 }  f6 ^5 y
  20.         tag_t display_part_tag;$ a' `) I+ G+ M/ U
  21.         tag_t proto;+ r6 U; Q; `  O8 Y2 V
  22.         //最小化当前对话框3 J6 |# z! W; b1 u5 R, R# Q+ L
  23.         ShowWindow(SW_HIDE);
    ( ~; J, f! u2 N+ g% M
  24.         int num_bodys=1;$ s4 N3 B9 t. r- u* H4 c
  25.         tag_t body_tags=NULL_TAG;, H4 G' H3 s5 U6 D3 c, b7 P
  26.         int num_desc_lines=1;
    - d2 M" r1 f  k, c: o2 y
  27.         const char *description="";
    8 w! L; C5 E( ^, v6 t
  28.         tag_t new_fem_tag;
    : m' X+ w, \7 U5 x% N, n; j
  29.         display_part_tag=UF_PART_ask_display_part();' S) h3 O8 o. D6 q" @- `: m
  30.         tag_t work_tag=UF_ASSEM_ask_work_part();
    . k' \: s7 l) C" \7 z

  31. $ C' J& H( y+ Y
  32.          //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;5 J) o2 P9 J- {* y+ H( H
  33.      mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;% A( q. |( n4 l8 x4 L* q
  34.          mesh_parms.element_size=1.0;6 V% _3 @) u$ P
  35.         /* mesh_parms.element_size=dDefaultElementSize;   */ ' Y+ _* z& f+ e2 d: u5 T3 P$ H/ Y
  36.          mesh_parms.edge_maTCh_tolerance=0.508;' d4 |/ h. O/ _  y9 ?1 ?! s0 D; \. M
  37.          mesh_parms.format_mesh=true;
    ( k& E- }* O4 r# O6 f
  38.          mesh_parms.attempt_quad_mapping=true;/ J0 }' f& x( c, X
  39.          mesh_parms.split_poor_quads=true;
    * F* Z% m2 }0 _6 p: J7 [7 m3 V
  40.          mesh_parms.maximum_quad_warp=5;3 P! @; e, h/ b- v, B
  41.          mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//, V2 L! [' C" w5 u! F" X' f
  42.          mesh_parms.maximum_midnode_jacobian=5;2 j" Q/ ~9 T* t, A( w- A2 ~
  43.          mesh_parms.minimum_face_angle=20;. P+ l( V. y' D. U8 Z+ W
  44.          mesh_parms.surf_mesh_size_variation=50;  o! S( x( u4 V; V
  45.          num_geoms=1;% j- k9 ?3 m, ~. ]8 z: ~
  46.          geoms_p=NULL_TAG;# v' P# {2 L7 A0 W) L0 l9 y
  47. , `7 B2 S4 `  f4 ]" t

  48. 5 c1 C$ i; f3 d# q" J
  49. 2 C: {( S$ ?3 k9 f1 P$ z+ S

  50. ; \' Q# ^% _4 O6 z. \: K  S+ D8 H! r
  51.         //把控制权交给UG' k% L" |/ q. ^9 T' k7 x& J* U
  52.         ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);
    1 {8 h* B* l) x+ V3 _' y
  53.         if (ret != UF_UI_LOCK_SET)5 t1 y4 S8 I" ^5 X" h& H% w3 S
  54.     {0 Q6 U% {8 w1 U
  55.         UF_UI_set_status("Could not lock Unigraphics");
    , j' N* k" ~/ K- v! {) v
  56.         return;+ V- Z) s8 a( e4 m! l
  57.     }
    ; U7 D0 a6 t4 i* U* Z
  58.         ret = UF_UI_select_with_single_dialog(cue,title,
    : l) E2 d) ~& w/ X0 N; n6 L
  59.                 UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,
    7 W# L+ t- c, R8 ?) c1 ~( D
  60.                 &response1, &surf, cursor, &view);//调用面选择对话框; S" a6 p2 [" m1 y1 V0 ~
  61.         5 A+ G5 L5 j+ f$ h( h
  62.     + S. F  [/ _& i- j1 ~' @0 X
  63. UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);; t. x8 r& i- S' W1 D6 {' K' b

  64. 2 l- O" C+ U* o& F; I0 a
  65. int count=0;; X  v" t$ L8 U9 N/ M/ {* v9 k

  66. 8 w" [% z$ B( F
  67.   //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);       
    ) M$ \) w. b) V7 ]
  68.     if(!ret)% g4 ]7 G! Y' L
  69.     {
    4 \! v: N) I$ _4 |
  70.         if (response1 == UF_UI_OBJECT_SELECTED ||- k& k, l; g/ I; i' g3 l0 v- \3 A
  71.             response1 == UF_UI_OBJECT_SELECTED_BY_NAME)5 q' |+ |' [' j' F
  72.         {" W) m# e: W$ w1 `- D
  73.                         num_geoms=1;
    % n$ d  T4 |- }  {1 C
  74.                                  int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);
    ) y: S9 y& p. n) L$ b! o" D
  75.                          if(error!=0)
    : D% M  E3 c- ?+ `* P% k, c5 a7 V( f4 S
  76.                                  AfxMessageBox("划分网格不成功");
    ! O9 R! s5 k* Z4 b
  77.                          if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");
    . |; ~( Y" z3 c; c1 w
  78.                 }
    ; W7 {$ i' s# W' C$ ?4 X/ J
  79.                         + k  ^. {5 W! ~2 s! p6 R
  80.              1 W  J& ~! B/ v, Y- h) I- G+ I
  81.                                 / ]* L- D# Q2 @) X
  82.         }        " O% g9 P+ r- Q! Z) d
  83.         //UF_free(geoms_p);
    & `  q2 R7 c" g( \
  84.         UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);
    6 ~2 `9 r2 T$ d: j
  85.    ShowWindow(SW_NORMAL);) `$ p" f; ?+ u- O3 q# w  d
  86. }
复制代码
这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,
: a& r1 D( O& C4 |, L特此前来求教错在哪里了
1 ]; A& p8 x! Q. X
上海点团信息科技有限公司,承接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 j5 Q% O& c- o# f( B) H" S9 G" [3 E( L4 G3 N9 t
直接在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; L& P; G4 x( t0 ~# T& L$ @
你先不用 MFC 的方式试试 " G3 t, O3 L: L6 L, {3 S" B. Q
0 P7 j! l5 l% m; U* o
直接在NX 里面 划分网格看看
5 G3 ?  G* c8 P4 ^
直接用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二次开发专题模块培训报名开始啦

    我知道了