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

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

KKuN 楼主

2014-5-16 10:48:19

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

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

x
  1. void CMainDlg::OnMesh() / {5 V4 n! X, }* C/ J
  2. {- i$ ~  m6 x. x3 S' A" U
  3.         // TODO: Add your control notification handler code here7 j* U9 `/ ~1 \  e, \6 N
  4.         char cue[] = "please select a face of body";! `6 a; F" T) T( {7 s2 Y  \
  5.     char title[] = "select face";, g- l. {) D" w4 P: Q4 r7 V
  6.     int response1;
    4 P* T: @& h7 C* T4 w
  7.     tag_t  view,temp,temp1,point;6 c$ j) N- Y( j6 u. O  x
  8.     double cursor[3],matrix[9];
    " z6 ]3 x& n9 C% ?1 f# U2 S
  9.         int ret=0;
    4 \; B, H$ h2 W+ G/ j+ I/ k* e& l

  10. " V3 t! i* }( K6 T! o3 v6 h
  11.         //UF_UI_specify_screen_position()函数的初始化参数
    2 G8 O* L" M) g6 d
  12.         char message[] ="please specify a position";
    5 q7 C6 K4 M( e# v9 M
  13.         int response2;' @7 k: y4 {: b4 c8 G6 _: r, f' t, s; R
  14.         ' w7 \7 o4 ?6 R, D' ~$ Y+ F
  15.         UF_SF_UGs_2d_mesh_parms_t  mesh_parms;
    4 }8 b! K+ a4 ]5 M- z# s9 d
  16.         int num_geoms;//几何体数量/ i3 X  `% d+ I6 E
  17.         tag_t geoms_p;//几何体
    9 ]  P9 l4 K% a$ T+ d1 ?
  18.         tag_t mesh_tag=NULL_TAG;& n% ]" t# d9 @3 [7 `/ c
  19.         tag_t scenario=NULL_TAG;/ S5 u" j* u$ ?( C$ B, o  w! r
  20.         tag_t display_part_tag;
    & |% T* t( \% u4 d: k
  21.         tag_t proto;0 \- S  P7 ]- n7 g+ T+ T
  22.         //最小化当前对话框
    0 G  ^; S5 ?+ ?- |8 `$ s3 w
  23.         ShowWindow(SW_HIDE);
    1 W( w7 i9 i7 ~! k4 q
  24.         int num_bodys=1;
    + P8 P$ B: X. q/ w$ i& F
  25.         tag_t body_tags=NULL_TAG;. ~9 R& A4 T/ L! i; a- R
  26.         int num_desc_lines=1;
    ( W8 u+ e8 O/ ]
  27.         const char *description="";3 R, v  `" h/ T' z
  28.         tag_t new_fem_tag;
    6 x7 r0 k0 A1 k% Q
  29.         display_part_tag=UF_PART_ask_display_part();1 v# n$ |& Z  F0 d, l2 K$ [
  30.         tag_t work_tag=UF_ASSEM_ask_work_part();/ H1 P  M9 f$ l& ~) {! ]0 n3 y) n& ~5 f5 i

  31. 9 B$ h$ X* r" W1 K( l
  32.          //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;
    ( V& a; @+ R! N" a6 E6 \# _/ V  r
  33.      mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;
    - Z, T' j% q$ A. V; \9 z
  34.          mesh_parms.element_size=1.0;
    " `6 p2 N! q8 j- e# N# s+ J
  35.         /* mesh_parms.element_size=dDefaultElementSize;   */ 6 R1 \* l4 Q. {
  36.          mesh_parms.edge_maTCh_tolerance=0.508;9 q* X) U' o$ O  `- t
  37.          mesh_parms.format_mesh=true;
    4 ]: D! e4 @3 G; ~1 F
  38.          mesh_parms.attempt_quad_mapping=true;, R) l7 G' K/ Q+ X4 `' r9 p3 [- u  P
  39.          mesh_parms.split_poor_quads=true;
    8 p/ {% ?) B0 [5 W0 C( O! |0 c$ ?
  40.          mesh_parms.maximum_quad_warp=5;0 Z2 g6 z" `. [; C
  41.          mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//( _& M6 G$ u3 V8 Y0 V
  42.          mesh_parms.maximum_midnode_jacobian=5;
    + j/ B& a0 Y" n2 t
  43.          mesh_parms.minimum_face_angle=20;3 ]& }& _: z3 u, I
  44.          mesh_parms.surf_mesh_size_variation=50;% w$ y' }3 I: c% |( c8 d* N& {
  45.          num_geoms=1;7 `6 ?& H) e) N/ A. K2 |
  46.          geoms_p=NULL_TAG;
    % w6 O0 \: d  {

  47. ! D4 u9 \9 _+ _" c
  48. ( B. O+ R5 l" S1 W$ b$ X* b, X
  49. - D, g! Z/ \% z! G

  50. , x/ C# P, a% x" E* h$ l
  51.         //把控制权交给UG7 B: r) G7 k) D( x. C+ p1 I5 m
  52.         ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);$ s+ P4 g6 }4 @+ z. ]5 d
  53.         if (ret != UF_UI_LOCK_SET)
    ( N( Q3 G* b5 c  Z! {0 ?; E& \
  54.     {
    : L+ ?8 m. u; i7 Y' k
  55.         UF_UI_set_status("Could not lock Unigraphics");/ v: G- Z% u) \9 ]+ E( @# Q
  56.         return;
    " E* S6 v4 u$ P0 g: v6 o
  57.     }
    & [5 i2 {" K, X( t2 Y! D' W. M+ y
  58.         ret = UF_UI_select_with_single_dialog(cue,title,
    . o; G: E$ z* A" x
  59.                 UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,
    ( l7 e; H7 d+ o+ S
  60.                 &response1, &surf, cursor, &view);//调用面选择对话框
    1 d- Q8 z) \( m+ n
  61.         " P$ a1 j2 W. ?& ?
  62.    
    . V7 b4 J) R7 M1 K" _; `
  63. UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
    % b+ L6 Z( Z3 X- Q
  64. $ }. n8 p. c" @% M
  65. int count=0;& h6 z+ O+ a3 j( n  N; Z5 D

  66. 6 w, v6 T* Q! U& j- @
  67.   //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);       
    8 a4 A) s% B: T5 V& o* T: k
  68.     if(!ret)
    0 e' c9 t0 u/ C2 X+ V9 E
  69.     {
    : g1 R# F; i+ z% S
  70.         if (response1 == UF_UI_OBJECT_SELECTED ||+ _8 o/ h" o8 B5 j5 r
  71.             response1 == UF_UI_OBJECT_SELECTED_BY_NAME)
    & e, Q0 _6 g& \; n
  72.         {
    8 a0 |! u6 E" |0 b+ m3 X
  73.                         num_geoms=1;, ]1 L' H# I) ?" M+ }; y! I
  74.                                  int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);* {# r( L8 R/ G; v9 j3 k
  75.                          if(error!=0)# b/ W8 ?2 O, p; q: L
  76.                                  AfxMessageBox("划分网格不成功");
    & R  W$ e, {$ c
  77.                          if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");
    ( |: {1 T' F) N5 U- K, n: c- m
  78.                 }/ _* r, z% k3 r1 a
  79.                         " A! I' l' |5 f& \( h) C( e$ y9 g4 R
  80.              6 H. ^& n. y) P1 V6 z) j4 ~: ~
  81.                                
    3 I  v8 b3 }$ r4 D
  82.         }       
    - ]% W: E" x9 ?' m5 o2 B4 |; `7 z
  83.         //UF_free(geoms_p);1 }* B4 y8 ^" b" A4 p% l
  84.         UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);( Y, c( b8 o. ?) F6 m) v
  85.    ShowWindow(SW_NORMAL);
    6 ^; N' [8 N% L. t" Y6 Y
  86. }
复制代码
这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,
# p) j( ?8 o; j% G0 E特此前来求教错在哪里了
. S+ ]& x( M* p# L5 Z
上海点团信息科技有限公司,承接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 的方式试试 2 a% M) P. d7 }
, v$ x) I' c7 n7 t6 @/ Z6 k8 W; A, u
直接在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
# H3 D: t) k+ w  g" t3 l* u你先不用 MFC 的方式试试
' w" U4 M1 R  _" P( u" x
0 w' y0 P2 [2 I" V+ Z- C* w直接在NX 里面 划分网格看看

* y7 r) n! y9 f, u直接用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二次开发专题模块培训报名开始啦

    我知道了