显示临时线、圆弧、圆、箭头及旋转等. N v- C: x0 y
1 blank和unblank
' L0 |8 a9 Z) _% B1 oblank就是将显示的零件设置成为不可见属性。unblank操作同blank相反,是将不可见的零件设置成为可见。这两个操作使用一个函数:UF_OBJ_set_blank_status。定义如下:
; d3 H _& D) b3 W. sextern int UF_OBJ_set_blank_status(tag_t object_id , int blank_status);
5 H6 Y* i O& i% c Y( i参数object_id是输入参数,表示被操作对象的标识。参数blank_status表示操作类型,是输入参数。blank_status有两种状态,分别是:UF_OBJ_NOT_BLANKED和UF_OBJ_BLANKED。( I. Y- S: Z) `5 ]9 ^ J
2 highlight和unhighlight: j: t: U; v4 t, ]' T! t/ [6 w
highlight就是将显示的零件设置成为高亮。unhighlight操作同highlight相反,是将不可见的零件设置成为可见。这两个操作使用一个函数:UF_DISP_set_highlight ()。函数的原型如下: A2 C1 w& F0 C
extern int UF_DISP_set_highlight (tag_t object_id, int action_switch );
+ B/ }2 a E: Y: i% l参数object_id是输入参数,表示被操作对象的标识,参数action_switch也是一个输入参数,表示操作的类型,即action_switch为1时,将object_id所代表的对象高亮,action_switch为0时,将object_id所代表的对象回复到正常显示状态。
2 P6 {2 n3 B: `2 O; _3 画线、圆弧、箭头; N& S) o$ g0 Z6 t
临时对象主要是在建模或者其它工作中其辅助作用的对象。利用refresh命令可以清除临时对象。下面介绍几种临时对象的操作。画临时的对象,需要用到一个结构和一个枚举,它们分别是UF_OBJ_disp_props_s和UF_DISP_view_type_e。结构UF_OBJ_disp_props_s的内容如表(),枚举UF_DISP_view_type_e的内容如表()。) M! _2 v7 i4 n8 Q& C
表: U3 v: b0 ]2 n
struct UF_OBJ_disp_props_s {
# j0 B$ i* X: G6 y+ n9 w9 v Eint layer; 对象所在的层# c9 J) N. o1 |) |: r1 m* }
int color; 对象的颜色9 I0 e( C1 e7 D% g
int blank_status; 对象的blank状态,两个,分别是:UF_OBJ_NOT_BLANKED和UF_OBJ_BLANKED1 L* |4 k: Y& X
int line_width;对象的线型,定义如下:UF_OBJ_WIDTH_NORMAL、UF_OBJ_WIDTH_THICK、. Q# w4 G( M; N4 G
UF_OBJ_WIDTH_THIN、UF_OBJ_WIDTH_ORIGINAL7 E* d5 E4 ~& j& i7 L! U% v
int font;对象所拥有的字体
0 ], k* U0 w8 d0 Dlogical highlight_status; }; 对象的高亮状态表
5 R w; [, Z5 c8 L7 LUF_DISP_USE_VIEW_TAG=0 使用由视标识使用视y in view specified by its tag. q$ b2 R7 R' f1 t! |
UF_DISP_USE_ACTIVE_PLUS=1 使用active view 和 drawing views5 |6 s% @& G& P- F5 O
UF_DISP_USE_CURSOR=2 使用上次光标的位置
' X1 V- n4 O6 i4 M$ b0 | yUF_DISP_USE_ACTIVE_MINUS=3 仅使用 active views: A. q# {% w' R% f) g" C
UF_DISP_USE_WORK_VIEW=4 使用work view 1) 画一条临时线) b& B1 s9 Y) s& N
extern int UF_DISP_display_temporary_line ( O3 f7 n9 Z7 ^/ o
tag_t view_tag,! P& k2 K. O2 ], u/ t
UF_DISP_view_type_t which_views,
" H0 i3 U2 R+ ~: z4 S9 Edouble start_line[ 3 ],6 D4 m! p$ M% P# h9 q
double end_line[ 3 ],% t' C. K* _) e5 H# l* i3 d
UF_OBJ_disp_props_t * attrib );
' \: I- d# @9 r- h参数解释
* h4 C. p- w5 E- j1 B) p0 Atag_t view_tag 临时线所在的视的标识2 T1 Q2 M3 ?7 ~4 s
UF_DISP_view_type_t which_views 所用视的类型
6 @/ l! q! Q* Q4 I% fdouble start_line[3] 线的起点坐标
$ u( i) _! u# I; H3 i& E7 d) z( Gdouble end_line[3] 线的终点坐标 E( q9 w; C, A# z2 C/ ~7 d
UF_OBJ_disp_props_t *attrib 线的属性 2) 画临时圆弧% B; r) s0 s2 ~/ \$ k
extern int UF_DISP_display_temporary_arc (: |0 o# o4 j0 F3 O* x
tag_t view_tag,
+ P0 c; p3 J5 y# K; c4 q% HUF_DISP_view_type_t which_views,+ G5 c8 h1 a) [5 ?0 a& c3 b* R
double matrix[ 9 ],0 _) k( v$ e8 B4 O) o' r7 w
double start_angle,8 K7 s% n7 c$ |: n6 K7 c# ]
double end_angle,9 B c2 B# r3 E, V% [# h2 g1 r
double arc_center[ 3 ],9 k1 {! j/ N) x" Q
double radius,# {7 w# E! Y i* T
UF_OBJ_disp_props_t * attrib );/ Y; B$ w: X) t5 G+ z9 y, h: m
参数解释:4 C/ ~% S. Z6 _8 s1 o/ B
tag_t view_tag 临时圆弧标识
' b, R$ Q/ y2 f& c% U- O8 R! }UF_DISP_view_type_t which_views 所用视的类型* e- R% U- t1 J3 \2 P( ^" Q. B8 U
double matrix[9] 圆弧所在的坐标系矩阵( |+ s' _. u5 X) r0 h- [4 X. ?8 l/ \: ]
double start_angle 弧的起始角
& ?" [7 x; T+ q% o' I6 J0 Jdouble end_ angle 弧的结束角
, Q; [ T4 X' z+ j$ r) f# \- Adouble arc_center[3] 圆弧的中心
% e0 P3 M# b. Y8 a2 v5 i: Ydouble radius 圆弧的半径9 V$ L; F8 y, u' m* d3 c* y# W+ Z
UF_OBJ_disp_props_t *attrib 圆弧线的属性
9 S$ j# U) ?$ YNote: 起始角必须比结束角要小,而且起始角和结束角之差的绝对值要小于2л。 3) 画临时箭头' s! O$ [9 z' F$ o
extern void UF_DISP_conehead (! {4 l+ Y: D0 q/ Q3 C0 z: ?& X
int display_flag,6 \) f2 Y2 M7 b* ]5 i i$ X2 A" [
double coord[ ],
) }; \8 j5 `' ]double vector[ ],# m# Q5 s# m" y, M% d4 w9 J
int anchor_flag );
; T: `7 c9 T" F2 u$ e- H7 B参数解释:: E/ R+ m- I7 [8 T% r' G4 ~
int display_flag 箭头所在的视窗,定义如下: UF_DISP_ALL_VIEWS_BUT_DRAWING; UF_DISP_VIEW_OF_LAST_CURSOR ;UF_DISP_ALL_ACTIVE_VIEWS ;UF_DISP_WORK_VIEW_ONLY;. _: l/ d8 I3 p
如果display_flag>0,则代表视的顺序号* P; n. b7 y' b6 I
double coord[] 箭头的起点坐标7 ^/ Y$ x4 @6 ^" V
double vector[] 箭头的方向向量
+ z- J( \1 j0 |6 \int anchor_flag 箭头的类型
' r; }& C' `9 ?+ ?% x' m7 j* u5 ^( O |