|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- void CMainDlg::OnMesh()
1 [5 [! Y* t# b$ c R8 R0 g& j - {
i' k) P$ M8 |; m; z - // TODO: Add your control notification handler code here
6 {! E2 B! k/ W& H - char cue[] = "please select a face of body";8 v. e5 ]+ W: o5 h3 [
- char title[] = "select face";4 T) V+ o; G% v) j: }1 I
- int response1;
4 @ n8 a9 {/ V% E ] - tag_t view,temp,temp1,point;0 Z V: @* K9 H4 A! L$ I2 D
- double cursor[3],matrix[9];* m; s/ ~8 p( R% G) e9 d+ n* z& `$ J
- int ret=0;5 g0 |4 z7 ]* B8 I
- 7 E8 M1 X; V0 Z& K0 [" U5 O
- //UF_UI_specify_screen_position()函数的初始化参数
9 K, c. H1 G9 B6 `& f - char message[] ="please specify a position";
' p& [5 f. f" m2 i: s; V I - int response2;7 j* D8 n- Q7 F$ O4 n
- ! T9 P! a- [; a8 ^3 @
- UF_SF_UGs_2d_mesh_parms_t mesh_parms;
9 w7 N& R% s" }; W# v - int num_geoms;//几何体数量3 L; Z7 r) e, C$ C
- tag_t geoms_p;//几何体
5 V1 S( ]' X3 O5 F: I8 ~ - tag_t mesh_tag=NULL_TAG;
; t. v. X0 Q! o. \: s; K - tag_t scenario=NULL_TAG;7 w) A: @/ \+ a$ e8 k) U
- tag_t display_part_tag;
7 y, P5 G9 W* J. F1 E" U, [8 | - tag_t proto;
( M/ j( b4 J; f h4 b; k - //最小化当前对话框( P6 L5 s% G( a6 O7 X/ D4 t& `) i
- ShowWindow(SW_HIDE);$ C b' m* ]' K! Y7 m3 F
- int num_bodys=1;+ t7 ?- g( X) c% L
- tag_t body_tags=NULL_TAG;. X7 j; y. Y9 D6 O
- int num_desc_lines=1;, _ j$ C% s9 n% U
- const char *description="";
0 y2 A/ ~: e5 f* B4 o4 E - tag_t new_fem_tag;
, g! i- B9 l. G& W( O - display_part_tag=UF_PART_ask_display_part();
5 V9 L$ J/ a, f) R - tag_t work_tag=UF_ASSEM_ask_work_part();( w4 L, H+ m" z' b
- Q$ o% [; {& b. A) S" F" y$ x
- //mesh_parms.format_mesh=UF_SF_UGS_MESHER_tri3;! }& E% v" K) M$ R
- mesh_parms.format_mesh=UF_SF_UGS_MESHER_quad4;
4 {: e- S" v; r; @( Z1 W - mesh_parms.element_size=1.0;+ T, o+ f" P% I. F
- /* mesh_parms.element_size=dDefaultElementSize; */ ' Z2 l! m- l6 e7 n$ _
- mesh_parms.edge_maTCh_tolerance=0.508;
8 I, Q- M$ i2 K+ n3 O9 P2 N. x - mesh_parms.format_mesh=true;- b6 i7 H% r. o1 j8 |4 ?
- mesh_parms.attempt_quad_mapping=true;
/ i. m; a5 k: } - mesh_parms.split_poor_quads=true;
, I+ h" ?, ~: ^! ~4 t$ h2 P% ^0 x3 u - mesh_parms.maximum_quad_warp=5;
: K7 M- n# I: ], U/ D) O E: V* ` - mesh_parms.midnode_option=UF_SF_UGS_MESHER_mixed_midnodes;//
/ e, Q( w1 K+ [ - mesh_parms.maximum_midnode_jacobian=5;
6 a2 x; Z3 U1 Y8 W3 C) g* j* W - mesh_parms.minimum_face_angle=20;+ n t3 i" O4 u: z# \1 b- ?
- mesh_parms.surf_mesh_size_variation=50;: v! J3 p' V6 p4 ~
- num_geoms=1;0 {: p5 ^1 Q! e0 C8 g/ g+ U# {
- geoms_p=NULL_TAG;
6 J1 Q0 u. Z- R2 y a" n - , H9 b1 R3 a- i6 o* }) u
& n. u4 n$ E# a2 o& w
d) p/ _: e! ~1 n- 1 N; C% Q4 m0 u$ k; w( A x
- //把控制权交给UG* d3 Q; c: X6 ^2 o6 F
- ret = UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM);
- [& C; u- E' j) I0 S) X( c - if (ret != UF_UI_LOCK_SET)8 [# O+ r" c' e& G4 p6 n% z
- {& [) m% `5 s; J( G
- UF_UI_set_status("Could not lock Unigraphics");
% e# m" r8 i, p - return;
8 l$ c" C0 x2 v4 @ ?" i - }2 C9 ?4 e5 P! _7 H2 M5 h5 b, H
- ret = UF_UI_select_with_single_dialog(cue,title,3 f; J& g2 A# S/ z
- UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL, H; J4 R' I) e7 _" a
- &response1, &surf, cursor, &view);//调用面选择对话框
- r+ ?, _8 k1 t, ]+ O -
/ P0 A$ H( f& }) k% r* S% v -
. Y% M5 W5 r7 w# [7 A: F0 g - UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
/ {" q- |0 M: [: p/ d
' n6 q3 d9 j2 b- int count=0;
+ g9 [$ p3 i6 N( A& X7 h5 ]% l8 I -
0 P' u3 ^$ M1 h5 {6 W* E - //UF_SF_open_scenario("Scenario_1.sim",display_part_tag); 3 u7 k' y# w1 g% E$ E6 l
- if(!ret)
( ]) s$ A# \/ P - {2 d' E3 `3 \, E
- if (response1 == UF_UI_OBJECT_SELECTED ||/ c9 B1 k) z% a5 M* x" _* ~
- response1 == UF_UI_OBJECT_SELECTED_BY_NAME)
8 e" O" w0 n- n - {
4 ]/ _7 {" G, I! N a - num_geoms=1;
6 C8 s9 M1 p* _: x- t - int error=UF_SF_create_ugs_2d_mesh(&mesh_parms, num_geoms, &surf, &mesh_tag);
2 `9 n' z( Y' y - if(error!=0): n& ~# v/ Q2 p2 x, ~. w
- AfxMessageBox("划分网格不成功");+ n [1 V' w* Z
- if(mesh_tag==NULL_TAG) AfxMessageBox("未生成mesh_tag");
# C& j0 o, f0 `* X9 Z5 B$ y - }
5 r, s9 `% V, N( o1 ? - 8 _3 s, E" k0 \1 @4 E
-
4 ^7 B9 g, [5 z# L3 g -
5 x% U3 e a* n' [! s* R - } 9 ?8 ^' G3 z4 H7 j4 z
- //UF_free(geoms_p);4 `/ d! G) [! L. W# t
- UF_DISP_set_highlight(surf,0);UF_SF_display_mesh (mesh_tag);2 I! e. G( E# s) |$ d1 F
- ShowWindow(SW_NORMAL);6 U; a/ Z: Y M0 ^/ W. }
- }
复制代码 这段函数 在ug高级仿真环境下, 对*.fem文件选中面之后,无法对面进行2D网格划分,UF_CALL提示对象不正确,) n9 ?: V1 \8 S: M# Y/ m3 [/ `
特此前来求教错在哪里了9 J+ |0 J4 L; y1 i! t/ @9 w X Y
|
|