|
- int ATT_EDT_CUSTOM_CAL ( int dialog_id,0 a' U' h6 S' I9 ^: k5 l$ W% S
- void * client_data,
; g* [7 W- {* s- @ - UF_STYLER_item_value_type_p_t callback_data)0 B$ P' W# |( ?9 W; v4 ~! T7 t. X
- {
: U. k, P( v0 J! h - UF_STYLER_item_value_type_t data;
/ q6 [& A8 \1 K# q$ K4 v, C - int stock_class=0;, [3 S) s! t: ~
- int count=0;
2 ?9 c: c' G, T8 @! h' Q: L# z - tag_p_t objects;7 C& u. l$ V8 ]* ?( b) o
-
) y& y; m$ q) e) D7 d* N5 u - //设置坐标系
' @2 d% K3 i2 ^$ c6 H) o$ N: r - double csys_origin[3]={0.0,0.0,0.0}; V4 d7 f1 ^$ ^( g8 f8 F
- tag_t matrix_id;
& _6 H$ f) J1 W: @9 c - tag_t csys_id ;
. r4 W( s) x. S1 @9 O' U; ~ - int option=15;2 l# A* C5 _9 i
- double csys_matrix[9];
2 x1 v) T% G( b ]7 O) R* t - char title[40]="定义临时坐标系";
% }0 R$ S% r) y \: j3 T -
$ b' v; A& _' h4 A1 B& }) m
8 D) T1 k; c: n5 ?% x- //毛坯尺寸
, w; {, n3 A8 b) C% M% @( E! T! d - char stock_size[256];5 A' D- h, s' |6 B: d
' z) { B6 s/ F1 \! j- //坐标对齐边界盒
1 g8 ~/ n& \+ @2 ^ - logical expand=FALSE;
7 e! R i! ?5 \7 G - double min_corner[3]; ! h; x, O0 r0 w- |# {6 O5 |$ l9 Y
- double directions[3][3];
1 D1 U3 L$ _6 o/ b) c& H8 k - double distances[3];
: p3 f; [5 n8 \0 w; L: ~; Q! t - / c5 c. q# G/ _- m
- //坐标系定义对话框返回值0 z% D7 [9 g% j% \+ I# s8 j
- int response;
+ A2 X; d& f- ^' U - + s- x. ?# f8 D: S
4 ~5 ~# y' Y7 D8 F! q, X- /* Make sure User Function is available. */ " C& B/ U& i! N6 {$ ]' |6 }# }0 e
- if ( UF_initialize() != 0) 4 A* y" H1 |9 ~: J9 V5 X6 {* _; J
- return ( UF_UI_CB_CONTINUE_DIALOG );, Z$ C4 Z% }# ?! V# q
( N$ g" }" D+ L; C8 ]- ?" v. |- /* ---- Enter your callback code here ----- */7 ^- ~7 @0 w0 C) @$ Y( s/ I
- data.item_attr=UF_STYLER_SELECTION;
. Y2 r U. ?, X g - data.item_id=UF_STYLER_DIALOG_INDEX; i1 y8 q* S! i$ _- S( r" H# f3 J
- UF_STYLER_ask_value(dialog_id,&data);
& p; |/ v. ]# q* \; Z0 X - UF_UI_ask_sel_object_list(data.value.selection,&count,&objects);2 C, q6 n* p+ h) |4 v8 M& s5 l9 _
- b8 T8 S4 z& a! W6 D8 ]
- data.item_attr=UF_STYLER_VALUE;
( a4 g1 ~- v9 S6 y- e6 a - data.item_id=ATT_EDT_STOCK_CLASS;8 x0 T/ ` k& N5 W
- UF_STYLER_ask_value(dialog_id,&data);
6 ?5 f# \! T9 [8 d( y6 W& y$ Z - stock_class=data.value.integer;
; P& Z' i+ B$ q( R - 9 I( |* r/ q V) h, ]; z( g
- uc1630(title,&option,csys_matrix,csys_origin);- p2 Y0 z* M ?6 ?9 Z5 M
- 2 a& I- y! U! j
- //定义坐标系4 \9 c9 m2 ~+ R
- if(0==stock_class)
0 V, W( u; p* \* l( t5 o - {4 U9 j* h& d: g
- uc1601("定义临时坐标系",0);
% S) C& @# `$ ^' _: E! a - response=uc1630(title,&option,csys_matrix,csys_origin);5 _" `" K0 m5 U) p
- }
/ U: s# z; q0 g* g$ u9 Z, L - 4 W2 V {+ C4 E6 L) `! q' t! p
- if(0==count||3!=response)
" }; b1 t& i6 u$ g% B9 {$ [9 s - {
$ S6 @7 H- T' T2 t: d8 l: U - uc1601("请选择实体或定义坐标系",1);
. Z3 m/ q5 z: F0 V: R - }
/ w5 T# t7 B$ e n$ {; v* u! b9 G - else if(3==response); N- j+ J$ i1 e' C4 D' a
- {
$ e# p2 D! W x - ; v& w/ U! [* i9 f, H$ O
- UF_CSYS_create_matrix(csys_matrix,&matrix_id);+ n& [/ l' i e* R1 S. D+ @
- UF_CSYS_create_csys(csys_origin,matrix_id,&csys_id);
- @1 v+ Q) R1 @* N5 D. |
( X; `4 @% ` O4 P, l2 B- UF_MODL_ask_bounding_box_aligned(objects[0],csys_id,expand,min_corner,directions,distances);! e B- O2 h9 ^. R5 ~; Q+ Y
, @& x8 G/ P' J, v- stock_size_string(distances,stock_class,stock_size);
; E9 T2 L# _+ q -
) k- B+ ~8 e: g1 ~1 H% {7 v - data.item_attr=UF_STYLER_VALUE;
: O: y R; D; t5 f$ A - data.item_id=ATT_EDT_MAT_DIM; ! D7 \2 F6 P( c: U. A2 k1 q1 Y9 O
- data.value.string=stock_size; . a6 q: C7 ~# f6 ]) v
-
+ f$ ]( S) z! g$ | - UF_STYLER_set_value(dialog_id,&data);6 L, r6 G( O! x3 }! p% k
- UF_OBJ_delete_object(csys_id);; x* ~2 a! i* ?4 U5 t6 _
- }7 t8 i* p1 p9 J1 k0 G7 \
- G* j5 Y0 ] b4 Q* s+ w) S
- UF_terminate ();
- k6 l, o/ i6 A4 B4 b
. n+ Q2 }! C" C' e( y- /* Callback acknowledged, do not terminate dialog */6 z! n# _) h% D/ o0 {9 Y/ n& w
- return (UF_UI_CB_CONTINUE_DIALOG); : r- Q" H% x/ e7 A
-
4 c0 Z6 {3 d) \ - /* or Callback acknowledged, terminate dialog. */& W! k! A+ X( ` ~ m. w& _
- /* return ( UF_UI_CB_EXIT_DIALOG ); */
! P0 g; E: c2 I9 q
% Q. ~" X( M4 ^. d% F- {1 I" d3 L3 w- }
$ |; ?( u% |3 C* K
复制代码 |
|