|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
- void CMainDlg::OnMesh()
6 K- E( A" |* Z. c( W5 A - {
9 J2 K! [/ r6 e3 U - // TODO: Add your control notification handler code here, G+ b6 R) V' S c! K; n+ |/ m
- char cue[] = "please select a face of body";
! m4 B% s/ Y5 w* n* V - char title[] = "select face";
- \/ [9 w/ w1 ?4 B$ O1 a5 K - int response1;
! F7 _" k* N' u; r - tag_t view,temp,temp1,point;
8 ]4 F/ i) u3 b, {1 F - double cursor[3],matrix[9];1 f; u7 n3 G% ]9 _1 @2 U* a+ N
- int ret=0;
: T4 ?3 V& d( Z( n* c
$ q2 @6 E, z0 {- //UF_UI_specify_screen_position()函数的初始化参数
4 f4 F* c+ V+ b" y( A( U ~2 h - char message[] ="please specify a position";
9 J$ n: s5 y2 F; T: A - int response2;
U$ a- v. m* T - # v4 j5 ~6 {' g
- UF_SF_UGs_2d_mesh_parms_t mesh_parms;
/ e0 x( j0 Y, a7 a2 @ - int num_geoms;//几何体数量" _2 @2 K; R3 w6 l3 }
- tag_t geoms_p;//几何体8 w4 O, W, C8 j) f% a$ h3 P" K' m+ ^
- tag_t mesh_tag=NULL_TAG;
! q2 k0 I. k/ f9 [6 O/ {$ a - tag_t scenario=NULL_TAG;
2 w9 j2 ?& G2 F, j - tag_t display_part_tag;
% S* E/ f6 z9 L6 J - tag_t proto;
, w( K) C8 h2 z! {0 n5 w _ - //最小化当前对话框( o6 S- D( `# x: n% O
- ShowWindow(SW_HIDE);) Y1 x/ _" ~. r- H# U
- int num_bodys=1;" ~$ r# e( q, }, U# K$ N {
- tag_t body_tags=NULL_TAG;2 c; r8 t6 D% V+ N
- int num_desc_lines=1;* M0 N! D/ _2 U7 k. R; D, n2 H7 e
- const char *description="";+ ^( C2 |4 G5 b5 a# O
- tag_t new_fem_tag;
( ~) E1 M; x3 S+ s - display_part_tag=UF_PART_ask_display_part();
- n. F6 Q; n, H# |! ^$ ? - tag_t work_tag=UF_ASSEM_ask_work_part();
' v8 a9 S$ o' s" ^7 r a8 y3 v - ' e, n$ C# T0 g/ L2 U- V$ @" \
- //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;/ B8 f$ H4 T5 e# K$ F) r3 v+ Q
- mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;
' N4 a8 d; ^% p4 U - mesh_parms.element_size=1.0;
% r; w" l' \9 S - /* mesh_parms.element_size=dDefaultElementSize; */
3 g$ N6 o3 {* O" n# v, b - mesh_parms.edge_maTCh_tolerance=0.508;
0 P! V/ {; k% V - mesh_parms.format_mesh=true;
, A' q& |1 ?$ ]2 c - mesh_parms.attempt_quad_mapping=true;! H& u5 D/ r v) z7 O8 [( r
- mesh_parms.split_poor_quads=true;
N' r2 l' {. \! c. k - mesh_parms.maximum_quad_warp=5;- S4 a% L, @+ ^. S( ~
- mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//0 ?! m2 e p) |9 r
- mesh_parms.maximum_midnode_jacobian=5;
, y& p3 i7 B4 C - mesh_parms.minimum_face_angle=20;: E0 a* L1 E4 V2 y z' B
- mesh_parms.surf_mesh_size_variation=50;8 z7 g0 I# e0 J# \& J! p& r
- num_geoms=1;
' ?" {" _% x2 o9 n/ J/ H - geoms_p=NULL_TAG;# P8 f% U: F! _% Z9 v" T7 i* \
- : K+ z% e- m, e+ W* E6 B: J8 X
0 Y. C4 p# D3 k b5 @: @5 |/ k, o- ' y- x; @; }$ c* m( K! M
6 L9 s6 N7 _# f3 q' V0 |) t- //把控制权交给UG
# L( l# I8 }+ j6 }; y1 ?% I - ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);# g$ q) K- m: a$ x; \! _8 A% K
- if (ret != UF_UI_LOCK_SET)" Q8 b+ X; }, R* g
- {
* l+ X% _2 P8 o/ H - UF_UI_set_status("Could not lock Unigraphics");7 _9 S1 U& J r+ ?
- return;/ B& a9 y& q2 m2 j: _
- }
' J4 C/ o a! y/ V - ret = UF_UI_select_with_single_dialog(cue,title,4 w W9 }, @* n& S
- UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,
: W! Q: x$ n/ R" P/ J8 k - &response1, &surf, cursor, &view);//调用面选择对话框+ k' E. _: v1 h8 u) L! R6 Q
- ' ?& k4 t) Q# P2 S1 G1 q& c
- 2 I/ t: T# t0 F2 [6 W+ c! Z, D# w5 q
- UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
9 E7 C4 C7 ~, H2 a
. L, p" t: x" O. J- V- int count=0;
# R9 K- ~. p- a0 h. s- W4 i - # r! N" P, U% m4 X& h
- //UF_SF_open_scenario("Scenario_1.sim",display_part_tag);
0 n* ~2 L) x- [" r3 M - if(!ret)* M! U; s# ^. i' W3 q
- {- L6 |$ y. R1 A" d/ F: Q$ K
- if (response1 == UF_UI_OBJECT_SELECTED ||( f# f& J; U) H/ Q& h. O9 \0 N. f
- response1 == UF_UI_OBJECT_SELECTED_BY_NAME)
- y7 ^0 m0 x% ^6 P$ x! I6 n - {
- ?# C7 D: g7 E/ \8 g) m# j - num_geoms=1;
) y3 M& p) Q7 x/ k( D3 w - int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);* T, M: A) k8 S7 K
- if(error!=0)
( h$ S6 h# a2 { Y' a - AfxMessageBox("划分网格不成功");
6 D" V/ U$ v3 m* A- O5 s! k" ^ - if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");/ z2 R6 A. r: |1 s& F0 ^
- }$ B' c% i9 e8 C) K
- F4 Z9 }7 R- Z. a) X
-
& K5 t1 Z( l" a) k0 s1 O% ` - - e9 K7 e+ @% L
- } 1 W4 H u3 l* R" }$ n, {+ J6 M
- //UF_free(geoms_p);
7 s0 z7 w5 M6 Z$ p4 S& b0 B7 E - UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);7 f6 K; p `% \$ @/ d
- ShowWindow(SW_NORMAL);
" z1 O+ F/ Y% e! j Z& i - }
复制代码 这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,& s) s" R+ v+ }5 i N8 [# z
特此前来求教错在哪里了
* H: n- P" Y2 _; ^% i) ~& U |
|