|
|
楼主 |
发表于 2015-5-6 17:35:40
|
显示全部楼层
- int ATT_EDT_CUSTOM_CAL ( int dialog_id,
. C, s/ n v/ m2 Z7 [ - void * client_data,
/ V; K# Z( u8 j& d9 S2 H - UF_STYLER_item_value_type_p_t callback_data)/ Y/ A+ X% ~& n1 N9 d. a
- {4 E8 l) g6 V# b2 G7 z" z* P
- UF_STYLER_item_value_type_t data;( E& a A) q+ f2 T9 R% S5 N# ~8 q
- int stock_class=0;
( f1 X! \( j+ y2 ?2 Y# |* T - int count=0;
) a% j* F/ a0 Z5 B( @9 T - tag_p_t objects;0 l& {. U' l+ T' f" e9 h
- / ^3 ^- [! n& N7 n. B
- //设置坐标系
& R& v" R1 ^7 b( C - double csys_origin[3]={0.0,0.0,0.0};
( l: ]/ x+ F+ x" W1 W! a - tag_t matrix_id;
6 D. t: W$ G! k- v. A: w c - tag_t csys_id ;
$ [8 }& v0 k+ B& t- ]% g6 n - int option=15;3 s$ T- y J+ H) O
- double csys_matrix[9];
+ O6 z0 R5 d. d) X1 _! k& `7 w - char title[40]="定义临时坐标系";2 C7 F3 t$ i) T$ H
-
/ B# o. h( j( J5 R% K
' ^/ F4 f& o' a' a: J- //毛坯尺寸5 j% R9 F/ W! b% }: W+ ~' U8 G1 x
- char stock_size[256];
0 ^$ I; U4 I! D2 B9 `: `+ ?6 o7 D - 1 x) P+ {8 r2 E. G
- //坐标对齐边界盒
) [2 d( C+ }) s' r - logical expand=FALSE;
2 |8 N" T" D/ l( K. C4 G' L; K; u" E - double min_corner[3]; 6 l/ L, B) w8 ~" D5 c- ^+ u. L
- double directions[3][3]; ! z. j. r" j( F
- double distances[3];! f7 }5 `) O2 p0 V
% p( v% }0 X' I( ~$ e8 ]- //坐标系定义对话框返回值9 s b. h0 z/ ^) f7 _# ~) c
- int response;
1 o4 K) V0 q+ W! S" c
: W# \3 b) g) g5 n9 v G
5 u! M2 p4 c& w) T4 K- /* Make sure User Function is available. */
- y* c( L8 _0 A q% k - if ( UF_initialize() != 0)
g9 E: c* |" E5 ~- h/ r - return ( UF_UI_CB_CONTINUE_DIALOG );+ [# s8 H1 n+ a( i1 A
- ' T% m, A" w- r# b9 d7 g( M, _0 Z7 {
- /* ---- Enter your callback code here ----- */ {1 ^2 P5 }6 T( v. X. X
- data.item_attr=UF_STYLER_SELECTION;
" D7 H$ i% f# J1 R5 G$ w - data.item_id=UF_STYLER_DIALOG_INDEX;
5 d' D- B$ R4 h - UF_STYLER_ask_value(dialog_id,&data);
3 Q( D. g2 F! ~( k6 R4 j - UF_UI_ask_sel_object_list(data.value.selection,&count,&objects);* J T# L+ T3 } O( j
& O2 r* ]* Y4 v5 }1 k+ B3 e- data.item_attr=UF_STYLER_VALUE;1 }( F) r* g2 ~+ H, T+ W/ c$ s+ x8 I3 V
- data.item_id=ATT_EDT_STOCK_CLASS;- r6 V* O7 J# B( ~- h( a0 Z# X* l) |
- UF_STYLER_ask_value(dialog_id,&data);7 }3 |6 B* w/ U2 n
- stock_class=data.value.integer;0 o& D, Q4 }, y1 g- c9 m
( [$ [6 C1 U* ^3 f: Z+ K' ?- uc1630(title,&option,csys_matrix,csys_origin);
" h, t4 l, _5 x# P$ q, u5 z9 a - 2 q0 z. E; F- d% N. ]) s& `5 q
- //定义坐标系
; Z- z' q4 w: X# R - if(0==stock_class)+ _! i2 C3 n/ T+ t2 ~% R+ z
- {0 q' \( l: {, A
- uc1601("定义临时坐标系",0);8 h0 f2 }: U. S: M
- response=uc1630(title,&option,csys_matrix,csys_origin);
. g. S) Y: k* g5 ^ - }
0 V1 t8 ]$ B+ V' E) i
- C8 m8 Y/ p2 L1 e$ J: t* x. C5 c- if(0==count||3!=response)
+ R) L3 T A) V. c - {& A- \" y+ k: M- }1 O
- uc1601("请选择实体或定义坐标系",1);
6 y% ], U( i& J& H - }
% ^8 F7 b5 N" K7 A! `+ ^ - else if(3==response)3 V4 c4 |2 v& M( ~3 n+ f" K7 M
- {/ e; d `- ?1 u4 T$ l$ L- j0 Q
. ?" ?% a; g$ Y1 h9 H- UF_CSYS_create_matrix(csys_matrix,&matrix_id);' J" f4 F% l! T+ o- P
- UF_CSYS_create_csys(csys_origin,matrix_id,&csys_id);
2 u J7 N4 C% I- v - ; W. L8 B" Z! `# k/ }$ Z% S! ~
- UF_MODL_ask_bounding_box_aligned(objects[0],csys_id,expand,min_corner,directions,distances);, G* A# u2 A. ~% Q( O3 _& E
- + e+ X1 o3 C6 ^) J7 c |9 k$ E3 e
- stock_size_string(distances,stock_class,stock_size);" J" ]3 t% ~( Z) C
- 7 r& f8 a& W7 y% D' ^( t3 R
- data.item_attr=UF_STYLER_VALUE; 6 V# ^8 \& _8 I
- data.item_id=ATT_EDT_MAT_DIM;
, ^ y- F* U& H2 A8 ]3 ^- d - data.value.string=stock_size; 8 I/ M! J% ^" h/ G' X0 z
- " ]% Q" k7 q9 b5 J3 ^) F" B, b
- UF_STYLER_set_value(dialog_id,&data);) g+ w2 H8 s) P; o0 E5 _4 A" `8 R
- UF_OBJ_delete_object(csys_id);1 N. y+ K8 q: J& p* i
- }0 b5 d/ I( \1 Y" J
- ) G& U7 i. G0 j9 ~
- UF_terminate ();2 I+ Y# K' `5 c
1 N% t `3 p$ V1 Q" n- /* Callback acknowledged, do not terminate dialog */# Y9 C+ l/ ~/ |7 H7 q0 d: G5 j
- return (UF_UI_CB_CONTINUE_DIALOG);
' {# p+ q( q, a -
& p4 C( o3 o l0 h - /* or Callback acknowledged, terminate dialog. */
8 C d# z" b4 G b0 r - /* return ( UF_UI_CB_EXIT_DIALOG ); */- f2 w, V# z# [: Y9 E [$ F
/ D7 _& O( F+ P6 n9 H9 `' w, H- }) L; b* f5 E" @# I$ r1 p
复制代码 |
|