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

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

KKuN 楼主

2014-5-16 10:48:19

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

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

x
  1. void CMainDlg::OnMesh()
    ! N, U: d/ o- e% v. K: `
  2. {
    " E$ s7 v0 v  I& T
  3.         // TODO: Add your control notification handler code here
    , g2 _+ `9 @; m1 I
  4.         char cue[] = "please select a face of body";0 v. h! s7 a7 B+ a+ x, }5 c# Z# b
  5.     char title[] = "select face";0 |9 g8 o! N/ r7 j' [9 l1 V1 A# p# D. G
  6.     int response1;0 Y; o' H2 T8 M& n& E
  7.     tag_t  view,temp,temp1,point;) p  `6 O  |. ]1 r8 \3 W" X% {
  8.     double cursor[3],matrix[9];+ O) J/ P: K3 t- t" z
  9.         int ret=0;
    7 d' N- A# o4 n7 y% U7 [

  10. ' y& k" a: O  s$ c5 p
  11.         //UF_UI_specify_screen_position()函数的初始化参数; W* i6 I/ x7 i( ?# \3 c
  12.         char message[] ="please specify a position";
    - M' m3 O$ a; F/ ^+ t6 ^/ T* v
  13.         int response2;9 [4 o2 x0 Z* k& l
  14.         ; H+ B; T, y& \
  15.         UF_SF_UGs_2d_mesh_parms_t  mesh_parms;
    ( a) T$ e! H: S( d
  16.         int num_geoms;//几何体数量/ g6 g* ~' z/ _6 W
  17.         tag_t geoms_p;//几何体
    - y; \+ Y1 `$ ]: s( k) g1 ^
  18.         tag_t mesh_tag=NULL_TAG;
    , g& R* M5 P# v$ |% B7 ]
  19.         tag_t scenario=NULL_TAG;1 q; o8 u' C7 s% ]/ ?/ v1 d% |! U
  20.         tag_t display_part_tag;
    # F# w3 v. H8 y+ b% J6 m- Q' V9 L
  21.         tag_t proto;7 `' @" b0 c: |( L! {: n, N+ f3 t- @
  22.         //最小化当前对话框6 R; Z8 j- r  s
  23.         ShowWindow(SW_HIDE);
    4 t" k: w$ d3 e* ~6 R
  24.         int num_bodys=1;/ V- Q0 A- K" `8 v; S$ ]& y
  25.         tag_t body_tags=NULL_TAG;3 J; r% b; Y* O/ f, E
  26.         int num_desc_lines=1;
    1 \, @  V( j/ s! `- ~  I
  27.         const char *description="";
    0 y5 r4 q+ y; n3 p$ b
  28.         tag_t new_fem_tag;  P2 s3 K8 J  Z2 b$ g1 U
  29.         display_part_tag=UF_PART_ask_display_part();
    - m: P, J# `# Y5 B0 Z% e3 N
  30.         tag_t work_tag=UF_ASSEM_ask_work_part();
    8 \' X1 m" s; j4 _! L$ k+ U

  31. : I0 _3 W$ i% o$ h/ U4 ~
  32.          //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;
    / |0 a7 m! g6 r; D) K
  33.      mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;
    4 a: d# E* g. ^" ~8 f; v
  34.          mesh_parms.element_size=1.0;: |2 N- S& N# S0 C/ W
  35.         /* mesh_parms.element_size=dDefaultElementSize;   */
    & Q0 K2 `& X. S. |3 ]( {* U
  36.          mesh_parms.edge_maTCh_tolerance=0.508;- y$ A; V8 K. J: q! C% J8 Y
  37.          mesh_parms.format_mesh=true;
    ) E( X/ Y6 ?4 \
  38.          mesh_parms.attempt_quad_mapping=true;
    # `4 U; S7 j! A% i) @
  39.          mesh_parms.split_poor_quads=true;) F1 k2 F$ C7 U! n) T- o
  40.          mesh_parms.maximum_quad_warp=5;
    , {) [# Y6 O: ]
  41.          mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//
    3 E7 H) o$ y: O2 ^
  42.          mesh_parms.maximum_midnode_jacobian=5;0 Z7 l9 N- b; m8 q6 l
  43.          mesh_parms.minimum_face_angle=20;6 [% f/ e7 A3 f) J
  44.          mesh_parms.surf_mesh_size_variation=50;+ A, i, D" r3 f+ o
  45.          num_geoms=1;+ {; e; b- [8 z- O# V. ]$ f  ~
  46.          geoms_p=NULL_TAG;) c7 R4 G+ s- \

  47. ' n) H( g9 V0 X( m
  48. 9 e  w$ w0 |( I4 N0 X

  49. 1 r! C7 e9 ?1 B
  50. " L& |. \! h  e" N9 d: J
  51.         //把控制权交给UG1 W2 A6 ^3 a! O
  52.         ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);
    + n/ H4 a4 q# H$ |9 n3 @- H
  53.         if (ret != UF_UI_LOCK_SET)) T8 Q; P& w8 q3 c
  54.     {  E6 m! c+ P' L2 m8 O! s9 R- z
  55.         UF_UI_set_status("Could not lock Unigraphics");
    1 H. h8 v1 ]0 @2 l
  56.         return;  c$ Z9 y, }  z% p' Y- t2 R
  57.     }% ~5 @' P3 s8 b
  58.         ret = UF_UI_select_with_single_dialog(cue,title,& q/ a$ |8 z* Z: g
  59.                 UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,
    / V* X% |: E' j- {
  60.                 &response1, &surf, cursor, &view);//调用面选择对话框9 M+ Q2 q4 Q- S1 D! R
  61.         9 Y& n5 O' }0 J
  62.     ' X. }$ m5 @, `
  63. UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);+ E: A( N6 M, q# E* o
  64. 1 x' E3 k% @& y& C
  65. int count=0;; y  ?, d; s$ x( H

  66. 6 n+ `9 f/ F* D* m, i) a0 A& [
  67.   //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);        * @+ M7 g1 d, }! L4 D9 n
  68.     if(!ret)
    0 j1 B; A# E" O$ X7 F! u
  69.     {
    / N, V- B2 b! I# y+ k$ m
  70.         if (response1 == UF_UI_OBJECT_SELECTED ||; K6 @5 q" E( U! }
  71.             response1 == UF_UI_OBJECT_SELECTED_BY_NAME)$ A, G: X, z/ g- Q# d
  72.         {  C1 S* @: a; d2 p/ C- V' f) U( C
  73.                         num_geoms=1;
    8 [; ?9 J  e0 ~! ]
  74.                                  int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);6 h8 e* A" v5 y! z' H% l. w' K1 P
  75.                          if(error!=0)3 J+ F1 H2 M) F0 \
  76.                                  AfxMessageBox("划分网格不成功");
    $ m% w, Y; h( l% W* R
  77.                          if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");
    - R! i. D/ ~* ]/ G9 w' j6 z
  78.                 }4 ^$ R- \$ S4 }5 R6 C" ^
  79.                        
    ) ^; T7 g4 y8 x* z5 [& F1 g
  80.              # G* R+ L2 o+ D2 l$ C
  81.                                
    ; G( V" u! G4 Q& _! _2 j) z2 c
  82.         }        6 [9 {2 L4 `" z# a
  83.         //UF_free(geoms_p);
    3 o) Y9 l/ ?$ o) p8 P8 M+ r
  84.         UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);" w/ L# Z. l  E+ d# X
  85.    ShowWindow(SW_NORMAL);6 g( o3 ^: y$ L: A7 _4 I0 b6 x% N
  86. }
复制代码
这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,7 v3 ^# n) _7 H! c  R$ ?$ D6 [% N
特此前来求教错在哪里了% I. o5 N+ [6 m- p
上海点团信息科技有限公司,承接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 的方式试试
; `# z4 a6 S# @' |6 ~+ m0 ?+ J7 @
4 ~4 Y5 }) Y0 v, a+ H  x- x9 [直接在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! h0 t3 e1 B% r% A5 S3 W4 T$ @
你先不用 MFC 的方式试试 ' r5 H: d) r- J
6 [, A8 E9 T$ Z$ y- ?
直接在NX 里面 划分网格看看

" U0 r+ H" P/ U+ C直接用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二次开发专题模块培训报名开始啦

    我知道了