|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- void CMainDlg::OnMesh()
0 r' H$ L! V1 D6 }) d/ S - { o+ U- O% i _7 y7 j0 |( o
- // TODO: Add your control notification handler code here
* f- W1 c. ^& R0 g) d - char cue[] = "please select a face of body";7 M; E# |1 G7 @9 e1 @ {! F
- char title[] = "select face"; Q; Y0 I$ N5 ~5 U
- int response1;
3 K2 ]- p3 ]$ { [0 c0 w - tag_t view,temp,temp1,point;
* Z$ y a& r! C) E" C - double cursor[3],matrix[9];( N1 o( r( W2 q Y
- int ret=0;
& D& ~" |4 }- ^5 d - - k0 s2 v6 m: A4 z% k
- //UF_UI_specify_screen_position()函数的初始化参数* a1 l/ I, L! j5 i8 }+ Y& f
- char message[] ="please specify a position"; 7 U- a% ^: M/ P* R5 @0 [
- int response2;
( X# [5 i4 f' f$ h& R - # q- D6 t' }9 H9 L
- UF_SF_UGs_2d_mesh_parms_t mesh_parms;
/ {& Q0 l3 ]. T' Q" i - int num_geoms;//几何体数量0 @) k- E: L2 V* j9 ^6 k- f1 A
- tag_t geoms_p;//几何体6 z; h0 u# [' @5 n
- tag_t mesh_tag=NULL_TAG;
0 Z4 ?+ \4 Q% r& W; j0 f - tag_t scenario=NULL_TAG;8 W0 M$ q6 V) w! ?- \% {- V0 |: v
- tag_t display_part_tag;
0 a- j; x* @* r/ y! p" W* ^) l, ^2 } - tag_t proto;
& \! m2 e: z V1 i: A3 m - //最小化当前对话框
! p! u! r, l7 A) m/ K. K - ShowWindow(SW_HIDE);
8 |1 e2 h* N- _0 L - int num_bodys=1;
* J6 p9 v' A: ?: E" f8 u! N) M - tag_t body_tags=NULL_TAG;
5 ~# c \- Y3 z. Y( L+ u C6 L$ @( o - int num_desc_lines=1;
+ Q1 f# p& ^) P- @' q; \0 l+ Y/ u - const char *description="";
$ G+ C8 A3 g) n( J. [ - tag_t new_fem_tag;
2 d6 I3 T& ?$ T# s9 X, ] - display_part_tag=UF_PART_ask_display_part();2 `+ V1 h4 q3 V( m, v, |6 U. V$ m
- tag_t work_tag=UF_ASSEM_ask_work_part();9 U8 @9 _5 t$ o1 F
- 2 U% e/ G' t$ b1 l" ?, ^- F6 s: c
- //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;
& p) [7 L; M2 p - mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;
& g8 V ?' v& z* s8 Z" s1 M6 h - mesh_parms.element_size=1.0;. Y5 J2 X$ H$ x: Z( }& m# o6 X
- /* mesh_parms.element_size=dDefaultElementSize; */ * w- m! G, K0 q; D
- mesh_parms.edge_maTCh_tolerance=0.508;
/ N/ T8 y2 I; H - mesh_parms.format_mesh=true;$ v8 r6 d* l, B6 w
- mesh_parms.attempt_quad_mapping=true;; @8 U+ c2 q6 a" ~& |4 f$ y/ v' a: Z9 L
- mesh_parms.split_poor_quads=true;
) d0 s# d2 [! G- [ - mesh_parms.maximum_quad_warp=5;/ Q8 ^* ^/ G' `
- mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//
( G: {- L) V8 _% A* t+ c$ ` - mesh_parms.maximum_midnode_jacobian=5;$ a( k* R# j7 O1 Q9 i( ^# I( S+ r
- mesh_parms.minimum_face_angle=20;
4 b/ F( i- w) l9 c - mesh_parms.surf_mesh_size_variation=50;
6 Z1 Q" K9 l, g+ C# A: I - num_geoms=1;" [9 f. z9 @9 T3 L S5 W
- geoms_p=NULL_TAG;: G- G6 H6 g6 E! i, i
- 1 r& W- g* q7 h' H$ {5 P
; M8 T/ ]6 s5 v/ Z+ f- g0 K
$ J! N S+ k) V
+ d/ L' e2 o2 M: ~ Q9 \; o3 R- //把控制权交给UG' k ~, O6 S$ D7 j# o2 W- s
- ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);
: ~- k% q- T1 V0 Y Y - if (ret != UF_UI_LOCK_SET)3 p4 @* E. z- J2 w% Y
- {
" b- B9 ~" H* b! e4 s# k( @ - UF_UI_set_status("Could not lock Unigraphics");
1 {: Q* A |6 U) X; E% s @+ ?. X - return;8 \2 U. R) y+ e( D" P) z
- } ~2 B3 P. [5 R v; q( Q+ c P, r
- ret = UF_UI_select_with_single_dialog(cue,title,. k) A- Z- f0 T* [" z$ v
- UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,
- v" C. `( q' J% Y& t - &response1, &surf, cursor, &view);//调用面选择对话框
1 r/ i3 b0 ~. I% U8 O -
+ I+ j' S7 ~, e# }0 w+ M% c - . c i3 F! l( V" e. b
- UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM); V6 B( V% n. e3 M) _1 v- h+ ~0 T
/ _% d) K+ o8 w% [/ C- int count=0;
! k# s4 Y2 w, s2 E7 _/ } - & q% f% ]) N, m( y" n8 q
- //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);
# B4 C5 s1 B7 M( ~0 Y0 V7 {6 N - if(!ret)9 E5 W" g+ I* k
- {
9 k) J; I+ Y6 o$ f" A( C# e - if (response1 == UF_UI_OBJECT_SELECTED ||
4 C7 V" i3 i" d - response1 == UF_UI_OBJECT_SELECTED_BY_NAME)
2 X0 e7 g2 R( C/ p8 j - {/ J* J2 {# P# T( B5 f( X& [
- num_geoms=1;
: B5 d1 i9 V1 \. Z! h# h8 Y - int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);' C' p- \: M8 I! O) I- u& C/ ]
- if(error!=0)$ q7 s1 A7 f6 j4 C% g
- AfxMessageBox("划分网格不成功");% \: V' T$ ~4 q# X4 h! _
- if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");+ w7 }! _2 V7 U" m/ d
- }
" m5 B3 }* v% \9 O! I' y -
4 w& W; p. a# [* z* C -
. u% W& j( j6 r1 \- |# ] -
1 \3 J. g+ h7 D - } " Y( m. G! R2 C2 @/ ~7 u( p
- //UF_free(geoms_p);
. n! }8 k$ Z# H3 d/ p2 S+ y. G' M- j - UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);8 b- X9 f, K+ ^8 H2 H
- ShowWindow(SW_NORMAL);
f/ W3 D* k1 Q8 O7 r9 u5 w - }
复制代码 这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,
4 ~4 W9 H+ Y0 V# m: K特此前来求教错在哪里了3 K: ?' B4 F. G5 N1 D2 } P
|
|