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

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

KKuN 楼主

2014-5-16 10:48:19

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

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

x
  1. void CMainDlg::OnMesh() & o  @# w; D  M8 y$ m
  2. {
    " D+ h6 z$ k) Z! [1 D/ {7 w3 N0 l
  3.         // TODO: Add your control notification handler code here
    & u3 e" x2 t8 D* t2 c" t
  4.         char cue[] = "please select a face of body";
    # @5 n* l! }; C9 D$ z
  5.     char title[] = "select face";
    - u  Z- b/ e# C$ r. F
  6.     int response1;
    7 M( |: e2 ]" Z
  7.     tag_t  view,temp,temp1,point;/ F/ f  b2 _5 G! U5 [# M# ?  D
  8.     double cursor[3],matrix[9];
    , ~8 E# ~* S/ }( J) X) x- l! A
  9.         int ret=0;
    3 F- i5 Y4 S# o3 G/ X

  10. 1 c5 R2 [+ n  T, r4 m$ @/ N; N- N
  11.         //UF_UI_specify_screen_position()函数的初始化参数  }/ ]7 ^# N: Z0 G
  12.         char message[] ="please specify a position"; 5 E5 t, H% B/ C+ K8 d, M
  13.         int response2;5 k/ n% B$ k% U. ]
  14.         % C6 Q( @5 V4 h9 g# T8 \4 l3 T) T! w
  15.         UF_SF_UGs_2d_mesh_parms_t  mesh_parms;. F1 x8 H, p) x4 u1 m
  16.         int num_geoms;//几何体数量
    6 t; L6 K( ]4 M; }  j5 j; l
  17.         tag_t geoms_p;//几何体
    . p* U) N& \- Y9 o5 P, r
  18.         tag_t mesh_tag=NULL_TAG;) G. B, {3 ~: {' _
  19.         tag_t scenario=NULL_TAG;
    4 ^4 K1 J3 A4 l$ ^
  20.         tag_t display_part_tag;
    : z' }3 Z8 j9 e7 ?: H! l9 }
  21.         tag_t proto;* b# v: Q2 {! C& R# T
  22.         //最小化当前对话框- N9 v1 @% _" P9 e9 y. }4 Q- f
  23.         ShowWindow(SW_HIDE);6 @) Z3 ?% ], t5 Y+ X* r% [
  24.         int num_bodys=1;
    * e' S2 z& W: `# @5 a" q3 j6 y
  25.         tag_t body_tags=NULL_TAG;
    " F4 D0 d2 U. i& m/ ^) W' K
  26.         int num_desc_lines=1;0 h/ K! z( f% F. k
  27.         const char *description="";
    1 c: t& ]# ?( k: o  A' g; ~
  28.         tag_t new_fem_tag;
    8 [% |9 X$ n- j# ]1 E3 P
  29.         display_part_tag=UF_PART_ask_display_part();
    ' G  I4 [0 G/ G: L8 h$ L
  30.         tag_t work_tag=UF_ASSEM_ask_work_part();
    8 E+ b- o0 ?; b1 I1 A: K5 U5 G

  31. 9 e# \. r: N5 t* R
  32.          //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;
    / N, O1 N5 |3 s( U* g, D
  33.      mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;
    ' X; L6 g: ^* r
  34.          mesh_parms.element_size=1.0;  Z( C6 C" u3 F8 F0 {+ g
  35.         /* mesh_parms.element_size=dDefaultElementSize;   */
    0 D( ^& F" ^5 H' W
  36.          mesh_parms.edge_maTCh_tolerance=0.508;
      ^. p; c& Q5 G* o9 T
  37.          mesh_parms.format_mesh=true;
    . \7 ~, N! V1 s5 s$ e0 J
  38.          mesh_parms.attempt_quad_mapping=true;4 {9 C3 x2 O! C  Q- y/ W
  39.          mesh_parms.split_poor_quads=true;
    ; G& s' a( V5 h. }+ w6 W  ?& q5 y
  40.          mesh_parms.maximum_quad_warp=5;; Q. A! b% e5 e: H  N
  41.          mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//
    ! O% [) J! X8 A" a) ]
  42.          mesh_parms.maximum_midnode_jacobian=5;
    1 ^+ y4 @/ z/ }. }# P5 e1 o% c) c
  43.          mesh_parms.minimum_face_angle=20;
    " p! _8 B+ q* ?! M5 n1 Q
  44.          mesh_parms.surf_mesh_size_variation=50;3 I: x& j$ V( n" B
  45.          num_geoms=1;
    & o3 `' u  j" d4 V# \
  46.          geoms_p=NULL_TAG;2 U& S) o0 x9 N/ {) k2 P; q
  47. 6 r6 a# h8 u- \- ^0 T; C5 b

  48. 2 E0 T0 Q: H. f$ N% z& W
  49. , g9 i9 O- G7 l8 K

  50. 9 F/ f9 {. p& U& B+ k
  51.         //把控制权交给UG
    7 u; a* [4 ]4 E. }$ O& c* C
  52.         ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);
    ) W* v$ o/ K" }! Y7 D* N
  53.         if (ret != UF_UI_LOCK_SET). }# |! d2 U' A6 M2 [+ q
  54.     {
    6 T: W. i6 x2 p; F6 D, X
  55.         UF_UI_set_status("Could not lock Unigraphics");; l! \5 S3 N7 s1 F  H
  56.         return;
    9 G8 L, _% ]8 r5 F5 N
  57.     }
    6 S: G: c- t  d0 M6 ^
  58.         ret = UF_UI_select_with_single_dialog(cue,title,% F; t5 I8 H" k% K2 a3 D
  59.                 UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,4 ?3 d: u  \5 ?! H  k3 j
  60.                 &response1, &surf, cursor, &view);//调用面选择对话框% h* W: o9 W- J; ]4 A4 q8 K% D
  61.        
    ' Z2 k+ @0 }! o2 a2 f. Y! f" N
  62.     # q( d+ L& q$ Y7 i9 Z
  63. UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
    " ]4 l- g, o: \, ~8 d8 l2 }% \# Y# b5 y

  64. 0 i/ [7 `6 b' {2 R8 ]+ H) z0 s
  65. int count=0;
    8 |( k* z7 e. _+ |- O% \9 n  q

  66. ' ^0 {+ g# ]6 e6 F# n4 }7 z2 I" m
  67.   //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);        3 H' O' r1 [8 }. c7 }" {
  68.     if(!ret)$ h) i+ I/ X: Z0 I3 `: Y
  69.     {
    * s5 \: [; w7 z! x. S
  70.         if (response1 == UF_UI_OBJECT_SELECTED ||1 u3 H' P5 z/ e
  71.             response1 == UF_UI_OBJECT_SELECTED_BY_NAME)
    9 b* X, h. u. u/ [- A1 S& l
  72.         {
    * A1 O' q/ [, c
  73.                         num_geoms=1;& ~, F" K" a& S
  74.                                  int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);; f& q% H3 I; B7 K( m. O& P' I
  75.                          if(error!=0)
    , c3 g/ }! G' ?! @+ M6 k
  76.                                  AfxMessageBox("划分网格不成功");
    & q$ e! f9 |6 N. G/ w; ?
  77.                          if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");+ n+ P( i  P6 t7 l' z, E3 Z, ~
  78.                 }- L2 l3 V5 d- a) j5 N
  79.                        
    - Q6 ]7 W5 K' H7 _% k$ u
  80.             
    - ~! N  u# F3 _% o1 X3 a# Z3 @. u
  81.                                
    8 c. m/ D; A2 a
  82.         }        7 w' {+ t/ e  J# d; t/ v
  83.         //UF_free(geoms_p);
    $ m- F2 H! z4 F1 @
  84.         UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);
    % M7 H" W4 H' z4 n  D8 V/ U1 n
  85.    ShowWindow(SW_NORMAL);
    4 ?. d: x0 h+ t0 y5 t1 O
  86. }
复制代码
这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,: U7 R$ s* q  V, T& c) B
特此前来求教错在哪里了
( l' e1 {* R& Y) V/ v, t/ j/ W
上海点团信息科技有限公司,承接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 的方式试试
; u3 p" u/ e4 n0 a) [+ U% W6 T% B5 S) v9 G5 w5 z
直接在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
6 L  `& c% K2 p4 `你先不用 MFC 的方式试试
3 Z" t, U' P6 G2 z6 b# z2 Y3 t3 l1 p/ Z- @
直接在NX 里面 划分网格看看

0 K2 l6 u! `! W" E  l直接用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二次开发专题模块培训报名开始啦

    我知道了