|
- int ATT_EDT_CUSTOM_CAL ( int dialog_id,
8 n# ^ |# P/ C( }4 T+ m: { - void * client_data,
$ D5 {2 \* G( v0 ~ - UF_STYLER_item_value_type_p_t callback_data)9 C" K0 l) H9 n( N" p% f5 W
- {0 ~* N# `/ j2 {' x* Q
- UF_STYLER_item_value_type_t data;
( u* l. ^! X8 O" }8 R8 k7 _/ W - int stock_class=0;4 L: P- i' u& D
- int count=0; T! k; V3 ], W" @( d
- tag_p_t objects;( S2 J' ^2 g" F+ t- P3 Q
-
4 S* \4 s" x. f5 Z4 { - //设置坐标系
% m5 ?2 G+ B) y% a j* H$ x - double csys_origin[3]={0.0,0.0,0.0};1 _6 v4 e! |/ }2 r. T" {6 _
- tag_t matrix_id;
; V; C% n$ O3 K" y - tag_t csys_id ;
" r* U: X. }' p. i - int option=15;4 b+ @* t% P* b3 }/ p% d
- double csys_matrix[9];/ ]% _. I0 `9 K
- char title[40]="定义临时坐标系";
* g% M# D( O5 O' \" R/ U -
6 ]! ]% f, ~# n+ d* z - % S7 Y3 F0 o( }: s; I
- //毛坯尺寸9 z' a& J$ @" f' @1 G/ S% {
- char stock_size[256];$ F- }& k, M# s. O% O
- 1 b* _! G" @7 C# {5 e# G
- //坐标对齐边界盒; S" ]0 E& _( n5 E. U
- logical expand=FALSE; 2 Z; j' x! ?) @7 g% b$ ^
- double min_corner[3];
2 C6 q/ U+ j3 U2 W! k/ R4 S0 n - double directions[3][3]; 2 a! p7 n! P+ s, k4 \ I) S
- double distances[3];, v+ i! K0 N4 P
- & Y$ `, |& s, j5 A# s5 X B& n B
- //坐标系定义对话框返回值
) v# S$ `) v) `6 [* o, {+ Z, S9 y - int response;6 G w: \0 q$ J) E' T+ K
- $ z% _% O& C6 R! C; }# Z* f
- 2 e5 w1 _5 z- g, B
- /* Make sure User Function is available. */
' I: L+ ^! e( x - if ( UF_initialize() != 0) ( Q- Q6 M5 U) m( H& s/ `. M: H
- return ( UF_UI_CB_CONTINUE_DIALOG );9 u2 N- g. `1 x6 r3 |9 g: T) ^
8 @; x- @$ H% S8 j- /* ---- Enter your callback code here ----- */$ W' m8 h, T3 [5 p5 I7 x$ J- u
- data.item_attr=UF_STYLER_SELECTION;
: z7 |' L" Z0 C, P - data.item_id=UF_STYLER_DIALOG_INDEX; , e4 x& [( ?4 Q4 U
- UF_STYLER_ask_value(dialog_id,&data);
& e* e' u, G4 d# @9 [( \4 N! b( t - UF_UI_ask_sel_object_list(data.value.selection,&count,&objects); D/ T+ `8 v- M- h2 H. k1 B
/ B" z& W' q& s" K' E& r9 D+ Z% u- data.item_attr=UF_STYLER_VALUE;" k% l- }9 L% N/ j A0 w
- data.item_id=ATT_EDT_STOCK_CLASS;: |" O& {! I3 Q! n6 C. ^6 R
- UF_STYLER_ask_value(dialog_id,&data);( I. }$ H- @, _4 D; Q
- stock_class=data.value.integer;
8 H2 j4 y% S$ d- m3 ^7 k
: m% R) \7 e4 g. q) P9 R- uc1630(title,&option,csys_matrix,csys_origin);
9 A, B! `: x8 n0 |( [/ _/ Z* a, q2 n
! R H9 y: @. ?& x% w0 k- //定义坐标系
1 q0 C6 R( M* f1 Y0 Y, I - if(0==stock_class)$ V4 ^1 d# s$ y+ b' ]+ F
- {( b: u* S% Y0 Z: K, E1 ?
- uc1601("定义临时坐标系",0);% E0 M" P" S$ b& Q0 f2 i) d: J
- response=uc1630(title,&option,csys_matrix,csys_origin);: W+ f6 M/ r, u% R8 x" M! S/ F, w
- }( b" n' ?8 x3 f$ {6 C
( L/ I5 J* Z; |3 x- if(0==count||3!=response)+ ^6 u' Q8 z) j7 d! K! r _
- {3 X2 \0 ?. m& |; U, W+ Y* v
- uc1601("请选择实体或定义坐标系",1);! p& C8 e! B3 a+ g7 t- r
- }8 T4 u5 c! ]1 F7 z% }- _4 s
- else if(3==response)
7 R! [0 P: d* \' { - {
- C, N' N0 W+ K) |) k
; ~$ k- I/ Y) H: \( n: D$ C- UF_CSYS_create_matrix(csys_matrix,&matrix_id);3 a+ `. z" F v! C0 o$ O/ v8 Q( c! E
- UF_CSYS_create_csys(csys_origin,matrix_id,&csys_id);
* y8 h: w/ ]' ]+ x% i& e - % G& w% f0 @+ d% q7 M# w
- UF_MODL_ask_bounding_box_aligned(objects[0],csys_id,expand,min_corner,directions,distances);* n; L8 W% i/ m% T& o3 m& S
; c1 p X- w8 U5 t+ ^8 f: A# q- stock_size_string(distances,stock_class,stock_size);
/ X- M' q: C) }+ n - % v( u* ~5 d6 ` r: s2 H- E. L& a
- data.item_attr=UF_STYLER_VALUE;
V( g! ?3 j3 }/ M7 T - data.item_id=ATT_EDT_MAT_DIM;
- F- S( _# T# n; G9 y9 E8 U - data.value.string=stock_size;
6 X+ ?5 L6 c; B8 J( `' [1 P, I' b - / D a. h( R4 D' X. R& g
- UF_STYLER_set_value(dialog_id,&data);! k* p( e; _0 }1 u* o# L2 Z! z1 Y
- UF_OBJ_delete_object(csys_id);+ S3 V b/ Y, F; H9 Z
- }
9 q' M2 @( M2 F w. j4 S1 z9 J& ^
. Q9 G' p% ~ V: I4 ^" a( k- UF_terminate ();. ^8 F2 h2 G1 L0 }8 H+ h0 M4 \
( j5 U. q ?. z* F9 ]0 p7 r; M- /* Callback acknowledged, do not terminate dialog */
; N+ a+ F% h5 A& C# R" C - return (UF_UI_CB_CONTINUE_DIALOG);
+ G( S5 ^% q5 i" Q- S( m5 e - , d( B9 K7 _# B- [& e
- /* or Callback acknowledged, terminate dialog. */
R. d* V1 R0 i3 H" C - /* return ( UF_UI_CB_EXIT_DIALOG ); */
w5 W1 C6 Y3 k' H( o
& C% _# c$ V4 {& X. Z- }" Z" E6 {. S/ }' Y
复制代码 |
|