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

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

KKuN 楼主

2014-5-16 10:48:19

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

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

x
  1. void CMainDlg::OnMesh()
    7 z6 x+ }/ g4 s% _2 F4 I/ {+ z
  2. {3 P# a& }- w- x0 |; R' Q
  3.         // TODO: Add your control notification handler code here
    5 ?$ A( }/ |* o3 ~
  4.         char cue[] = "please select a face of body";& T8 c6 N* W/ F! M
  5.     char title[] = "select face";/ G- J1 M; Y5 n5 C1 I4 m: T
  6.     int response1;8 v& ?2 D! v; L. P/ l! k. A
  7.     tag_t  view,temp,temp1,point;
    0 [* A* c& h' |) l) v) h+ e$ E+ E0 b
  8.     double cursor[3],matrix[9];% S! g0 h; z$ g; h
  9.         int ret=0;9 h7 ?$ b' S8 J% g4 n" Y

  10. 9 W; A+ z6 Y! B0 C2 M) K$ t
  11.         //UF_UI_specify_screen_position()函数的初始化参数
    7 }6 v" v1 B2 ~0 P4 N8 O* e( X0 {' [
  12.         char message[] ="please specify a position";   D9 u% M# {' C# o
  13.         int response2;
    ' }+ m7 P7 U" D
  14.         ( {$ t. {6 |8 _1 A: K2 v9 [1 t
  15.         UF_SF_UGs_2d_mesh_parms_t  mesh_parms;3 T0 X9 b' ~  }: ]( z* h
  16.         int num_geoms;//几何体数量: @$ H! s# c4 c/ d
  17.         tag_t geoms_p;//几何体' Q( O; V: N. w0 @
  18.         tag_t mesh_tag=NULL_TAG;
    / S& k/ G# Z+ h& `* _
  19.         tag_t scenario=NULL_TAG;4 R. I0 V3 z, N/ c6 \9 h( z) U- u1 n
  20.         tag_t display_part_tag;% V& d: r1 a* F" K
  21.         tag_t proto;2 E& f8 x# t. g; w
  22.         //最小化当前对话框$ {1 w) M! o1 V8 b# m5 H
  23.         ShowWindow(SW_HIDE);
    , M' ?5 ~2 I9 a
  24.         int num_bodys=1;7 i( Q7 D% ^$ K/ b6 a& [7 W
  25.         tag_t body_tags=NULL_TAG;# o2 F$ i( T2 `6 c" T. U
  26.         int num_desc_lines=1;
      M* g% v- v1 b  l9 u
  27.         const char *description="";% w9 y2 n, ?" B$ |" Z
  28.         tag_t new_fem_tag;
    ! U- O) D! V% H1 y8 ?5 w6 g2 a
  29.         display_part_tag=UF_PART_ask_display_part();
    ; `4 J& ~5 ?" l" n( X
  30.         tag_t work_tag=UF_ASSEM_ask_work_part();: m4 @- Y* a" R/ v0 @0 Y6 a

  31. ; I4 _" q! Z7 A6 u
  32.          //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;, I" v( }5 m) _0 J+ {. e$ \
  33.      mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;1 i: l! j/ B* R+ @. u1 b# F
  34.          mesh_parms.element_size=1.0;
    ' N4 w* e) }6 ~6 ?& ?
  35.         /* mesh_parms.element_size=dDefaultElementSize;   */
    6 O9 @% b5 [  c/ m7 Y- ?5 I, d
  36.          mesh_parms.edge_maTCh_tolerance=0.508;
    ( Q; U. Q( V- o7 C! D* L9 h
  37.          mesh_parms.format_mesh=true;. l( |; i8 n) W1 j' j$ b
  38.          mesh_parms.attempt_quad_mapping=true;# w' [" _2 ^8 w6 h8 U7 R
  39.          mesh_parms.split_poor_quads=true;' }! c  |7 `1 i) ^3 V# }
  40.          mesh_parms.maximum_quad_warp=5;+ X, [# L- A4 _% U8 V
  41.          mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//+ a5 g0 P' |! j- T6 `# B
  42.          mesh_parms.maximum_midnode_jacobian=5;
    + r2 h; q; r' c7 P/ y
  43.          mesh_parms.minimum_face_angle=20;% u/ }. f1 e9 l7 S
  44.          mesh_parms.surf_mesh_size_variation=50;1 ]6 _  `- ]# H# y# j
  45.          num_geoms=1;+ f' I: C9 }9 N' \; R
  46.          geoms_p=NULL_TAG;9 X3 n( p% s+ ~
  47. 0 F5 B/ n0 k( G4 U0 `! R" x+ B
  48. * G% e% u# h5 c6 g! n5 K1 A6 m

  49. 4 e' S* M, b. }

  50.   b+ q. r# B/ l1 v- M/ d
  51.         //把控制权交给UG* V# o, o6 i* k2 H9 b6 ]
  52.         ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);
    & @8 k- p1 H. l8 f. Z6 x! X* Q
  53.         if (ret != UF_UI_LOCK_SET)6 F4 Y% F2 E* m: z% B6 Z) ]: Y
  54.     {' X; [3 S( O9 l2 }/ Z1 \6 \! ~/ q
  55.         UF_UI_set_status("Could not lock Unigraphics");  G$ \2 B5 V& _# W& ]! F! s7 P1 F
  56.         return;4 q5 q* `. Q8 f
  57.     }, h  {7 Z5 O3 I1 u) X
  58.         ret = UF_UI_select_with_single_dialog(cue,title,* A% ~9 p* L8 @0 U' Q
  59.                 UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,4 G1 Z/ g, ?& N. _- r" w
  60.                 &response1, &surf, cursor, &view);//调用面选择对话框
    . X4 e! W/ W$ z) o% n: N. a3 F
  61.         ' f. p! n, D. h( B2 ?& A
  62.     : r  F: [) G* `& k& C5 Y7 J: p: W( l3 R
  63. UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
    4 h3 o  Y0 T1 P$ ?8 e  Z

  64. ( }# o/ A9 o* ~% `6 e3 i% H- d
  65. int count=0;
    1 H" X3 g, T4 i7 B' {$ S
  66. # e# s3 [" R! u: F7 ?7 ?
  67.   //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);        , T0 B$ d$ r& r0 q% K
  68.     if(!ret)
    # A! X  x: U. E+ ?
  69.     {; P; i! u: R0 X) Y3 g
  70.         if (response1 == UF_UI_OBJECT_SELECTED ||
    2 z' y0 m! R, i3 T/ W0 Y
  71.             response1 == UF_UI_OBJECT_SELECTED_BY_NAME)3 {- b7 E. d1 [5 W. n
  72.         {" L' }# V5 v! R( R
  73.                         num_geoms=1;
    3 s2 h  C2 u5 M" @
  74.                                  int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);: Y, S4 r$ O* C, V
  75.                          if(error!=0)
    ! F0 L% V) H' F1 P5 S
  76.                                  AfxMessageBox("划分网格不成功");; I3 I; w' P$ H! l. s; C1 h& t
  77.                          if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");
    - C% }) G0 W* b) _; q  e
  78.                 }
    ! O/ s: p7 O( p
  79.                         3 Q* U  T1 e/ e& I
  80.             
      p; ?3 k+ r0 H4 x) F( h
  81.                                 0 i4 k+ n' k8 I& j
  82.         }        & k3 U% G( a' g0 Y3 i1 V1 y
  83.         //UF_free(geoms_p);
    ) `% k9 ?0 C5 V4 ~
  84.         UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);" {- O! h+ U- `, }
  85.    ShowWindow(SW_NORMAL);
    5 C% f/ c! J6 Q$ d1 c4 H2 C% `8 s
  86. }
复制代码
这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,. I3 L# t# }7 k% d$ ?# p) u- l& t
特此前来求教错在哪里了8 J5 `- z+ O' s2 G4 N4 ~# E! y, c. R
上海点团信息科技有限公司,承接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 的方式试试
4 f) E, \  G. W+ S9 x2 ^2 b# b
; L; c- m/ c, G直接在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
9 q3 g- ?& `; D# ~  F你先不用 MFC 的方式试试
& ^% x. c: {) e
: x$ x% g/ {& M/ B直接在NX 里面 划分网格看看
$ a) H0 H) O: V
直接用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二次开发专题模块培训报名开始啦

    我知道了