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

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

KKuN 楼主

2014-5-16 10:48:19

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

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

x
  1. void CMainDlg::OnMesh()
      U3 S. G( `# v5 P5 E
  2. {
    0 S) i6 f2 y/ c5 h/ C7 w! r8 V' t5 I
  3.         // TODO: Add your control notification handler code here
    3 q7 a7 \$ s0 u5 A* S# U3 \
  4.         char cue[] = "please select a face of body";/ B5 Z- |: ]3 D
  5.     char title[] = "select face";2 b- m4 E3 W2 F# B( W
  6.     int response1;
    * i# l5 _4 ^, C$ T
  7.     tag_t  view,temp,temp1,point;( L4 t1 s3 g" G- C: Y
  8.     double cursor[3],matrix[9];) ]9 e2 Q2 S) ^, ~
  9.         int ret=0;2 M1 J; d, p1 `$ e4 B- Y

  10. " @! E5 A+ c/ w+ S. q5 P3 F  G7 O
  11.         //UF_UI_specify_screen_position()函数的初始化参数' ?; r& N( Q- D" _2 S- |$ n
  12.         char message[] ="please specify a position";
    : q" V/ D* W0 Q4 T
  13.         int response2;
    4 b' Z4 C" Y3 B& q0 W& z6 G
  14.        
    . L, J8 V5 g  d+ Y& P' _8 G/ ?
  15.         UF_SF_UGs_2d_mesh_parms_t  mesh_parms;* A7 V. Z& _: u( V7 a5 _" a
  16.         int num_geoms;//几何体数量4 G% a/ w$ F& W1 f; W% U
  17.         tag_t geoms_p;//几何体
    - a+ k6 C! `% H9 T$ G, P4 m' C
  18.         tag_t mesh_tag=NULL_TAG;
    " y+ h' x6 |/ s+ e
  19.         tag_t scenario=NULL_TAG;
    & u% B' D: B$ j; r
  20.         tag_t display_part_tag;
    3 z% ?5 u5 z& u/ q: |) j
  21.         tag_t proto;
    5 C# {( }" M4 T% `
  22.         //最小化当前对话框2 y$ g( t' [( C2 f. }5 H
  23.         ShowWindow(SW_HIDE);
    2 R. L& Y, F8 [( V& I) n8 ?3 a" D
  24.         int num_bodys=1;$ ^% h+ h  k6 @) X1 r
  25.         tag_t body_tags=NULL_TAG;
    2 W: o9 S2 F( @- m  U% `
  26.         int num_desc_lines=1;
    2 o& W2 c3 `- {- H! A+ v4 c
  27.         const char *description="";
    % M) v; \3 E" |
  28.         tag_t new_fem_tag;/ w: O# }, [  M& ^  V
  29.         display_part_tag=UF_PART_ask_display_part();9 x; o, j5 A* A: c) ^* l
  30.         tag_t work_tag=UF_ASSEM_ask_work_part();
      H$ A' G; J( ?
  31. 7 w& N4 Q* _& U" [- d
  32.          //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;% ]- t, K" C3 w; T% Y# C0 J
  33.      mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;3 C0 K2 H8 |. }+ Z, R. L
  34.          mesh_parms.element_size=1.0;
    2 @* i* O. d. H- r6 l# Y! E
  35.         /* mesh_parms.element_size=dDefaultElementSize;   */
    # n: [' Y9 s0 ~: }
  36.          mesh_parms.edge_maTCh_tolerance=0.508;
    4 z0 |4 D6 @4 O8 a
  37.          mesh_parms.format_mesh=true;
    8 B3 J5 t1 N+ E" b5 ?% `
  38.          mesh_parms.attempt_quad_mapping=true;" o* b& g2 a: {+ U( O
  39.          mesh_parms.split_poor_quads=true;* F. ~" G: {# K2 n% m" }2 m
  40.          mesh_parms.maximum_quad_warp=5;( X$ P9 Z& M+ M* }  Q, `
  41.          mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//3 I# B8 g* {' B
  42.          mesh_parms.maximum_midnode_jacobian=5;' Z/ Y' }/ m) O7 w: b$ K
  43.          mesh_parms.minimum_face_angle=20;3 K  C4 Z$ r1 ~
  44.          mesh_parms.surf_mesh_size_variation=50;: h4 V- B1 c' M" h6 l2 O" D
  45.          num_geoms=1;4 L& x% W( O6 ]* Q! L4 N1 F/ V% d
  46.          geoms_p=NULL_TAG;
    7 {* i1 P2 l" d2 J( m
  47. 2 e. v. U. @% ]

  48. 7 h+ u9 m1 S- T
  49. " }' x# Q( A! [5 F, c5 \0 D% K+ o

  50. / M& j: n9 p' L2 A8 f4 P
  51.         //把控制权交给UG
    9 p5 z1 \8 |+ ^: b# Z6 l( q( u
  52.         ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);
    $ S( n4 M* j9 F
  53.         if (ret != UF_UI_LOCK_SET)' O+ j) k/ _' ~; Q6 w) M
  54.     {) M8 o7 m$ E1 M
  55.         UF_UI_set_status("Could not lock Unigraphics");+ p) G3 i3 v; X3 p4 S3 A! J6 T
  56.         return;' U/ m& S  l- N+ o1 @9 R& s. ]* y. W
  57.     }
    4 Z5 x  Z7 f2 a& R
  58.         ret = UF_UI_select_with_single_dialog(cue,title,
    * @. d' E. Y1 k7 w
  59.                 UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,, z* m3 ^! {% I( |, p
  60.                 &response1, &surf, cursor, &view);//调用面选择对话框
    + t- j. U3 J' _
  61.         * P6 c& E) W/ t3 n( V3 k
  62.     : |% ~% ?0 n' ]: H' F; ]
  63. UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
    ' r/ T1 z# L7 Z

  64. 5 r" Y; z/ g7 G2 A% i
  65. int count=0;
    * E: n4 I" b! |6 g5 R3 Y* S

  66. 0 d4 N$ W1 F7 ~2 |8 c& C5 `
  67.   //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);       
    # J3 m- t- r. X: {" O
  68.     if(!ret); ^+ v' v  i1 B! u9 Z' Q2 M
  69.     {
    / J/ t/ o6 W! J+ `! G. E- m- X
  70.         if (response1 == UF_UI_OBJECT_SELECTED ||& A4 l6 Z* r7 H# T. g
  71.             response1 == UF_UI_OBJECT_SELECTED_BY_NAME)3 c( ^* b3 T* i5 N6 ^) \+ e$ U% B' \0 w
  72.         {5 X- o- @! w2 I" @
  73.                         num_geoms=1;% T" Y+ g/ _5 \5 ?9 m
  74.                                  int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);' l) Z" Y% ?" e0 l) v2 \
  75.                          if(error!=0); u: _) F$ q8 }/ T1 I# X2 C
  76.                                  AfxMessageBox("划分网格不成功");* D3 d" [" `# f2 L
  77.                          if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");
    4 I& E  Y8 S) I2 z& n
  78.                 }6 c- M% S% ]2 i% ^- [
  79.                         1 H; |. B4 Z0 ?
  80.             
    * q& M6 U$ L! n, e0 y/ V( t
  81.                                
    6 k  E/ L/ ?* J- r% ~- |
  82.         }        ; F4 X* k& g/ o) T/ ?9 @* U
  83.         //UF_free(geoms_p);
    - B6 T. A9 @4 U/ C' E6 f9 }6 v
  84.         UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);
    4 t+ o" m1 G/ d2 g
  85.    ShowWindow(SW_NORMAL);& q1 E  Z6 [0 J1 \2 z- y( C) c
  86. }
复制代码
这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,: Y. F. u* Q9 q/ ?+ Z
特此前来求教错在哪里了
! [: D4 Z8 Z9 i# m8 y9 ~; J' z8 S
上海点团信息科技有限公司,承接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 的方式试试
, W: Q1 ]8 u+ s8 E8 r6 r3 ?/ {. X6 N7 V4 v( u7 \
直接在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
1 J* i( j1 |6 I你先不用 MFC 的方式试试 7 a1 C/ i, I0 Z8 [# c8 Z

5 s* K' x+ r  a3 [直接在NX 里面 划分网格看看

$ N) L5 k3 o$ K4 p0 P) i* c/ H直接用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二次开发专题模块培训报名开始啦

    我知道了