显示临时线、圆弧、圆、箭头及旋转等* r& N0 H! g X
1 blank和unblank! R9 @ y7 y5 S7 d- K
blank就是将显示的零件设置成为不可见属性。unblank操作同blank相反,是将不可见的零件设置成为可见。这两个操作使用一个函数:UF_OBJ_set_blank_status。定义如下:
! p+ F) \ @- {$ e( U$ J4 }extern int UF_OBJ_set_blank_status(tag_t object_id , int blank_status);
. z' |( D) x: u! M% e- X6 s2 B参数object_id是输入参数,表示被操作对象的标识。参数blank_status表示操作类型,是输入参数。blank_status有两种状态,分别是:UF_OBJ_NOT_BLANKED和UF_OBJ_BLANKED。- P [( E# }* S5 d/ l# t% J
2 highlight和unhighlight
! N4 n. e3 V. @( i5 m- y( ?. vhighlight就是将显示的零件设置成为高亮。unhighlight操作同highlight相反,是将不可见的零件设置成为可见。这两个操作使用一个函数:UF_DISP_set_highlight ()。函数的原型如下:
$ r' d R) j( ], k# w3 k# F9 r! j# Rextern int UF_DISP_set_highlight (tag_t object_id, int action_switch );
* D' M: o& n8 z5 F/ S- H* ?参数object_id是输入参数,表示被操作对象的标识,参数action_switch也是一个输入参数,表示操作的类型,即action_switch为1时,将object_id所代表的对象高亮,action_switch为0时,将object_id所代表的对象回复到正常显示状态。
, a/ [: J1 ^7 L9 n; R; |- e3 画线、圆弧、箭头3 D; P8 S6 E1 N" Y* e8 O8 {/ d* g- c
临时对象主要是在建模或者其它工作中其辅助作用的对象。利用refresh命令可以清除临时对象。下面介绍几种临时对象的操作。画临时的对象,需要用到一个结构和一个枚举,它们分别是UF_OBJ_disp_props_s和UF_DISP_view_type_e。结构UF_OBJ_disp_props_s的内容如表(),枚举UF_DISP_view_type_e的内容如表()。+ ~" L( a0 j! M2 |& q x7 y
表:. g8 a: t( j$ G7 T
struct UF_OBJ_disp_props_s {
1 P/ n. ~% ^4 n: _int layer; 对象所在的层
9 r) S$ x( j Uint color; 对象的颜色
0 Y# E1 B f& ~7 e7 hint blank_status; 对象的blank状态,两个,分别是:UF_OBJ_NOT_BLANKED和UF_OBJ_BLANKED; C8 T; W% s( c0 w% I' K2 |) z" m
int line_width;对象的线型,定义如下:UF_OBJ_WIDTH_NORMAL、UF_OBJ_WIDTH_THICK、
4 {. M$ Q" P5 u9 v/ BUF_OBJ_WIDTH_THIN、UF_OBJ_WIDTH_ORIGINAL
( H! u1 {+ o' x0 I! A8 s) `) iint font;对象所拥有的字体% _# h! ~% J- b* [# L
logical highlight_status; }; 对象的高亮状态表: D* @ v, Z7 a* X' d0 V2 H& I( M
UF_DISP_USE_VIEW_TAG=0 使用由视标识使用视y in view specified by its tag
2 F8 c6 G a- J' `, z6 d/ ^UF_DISP_USE_ACTIVE_PLUS=1 使用active view 和 drawing views
7 S. i* P# T- i5 }1 o( c9 _2 YUF_DISP_USE_CURSOR=2 使用上次光标的位置
2 l+ U" J& E% R f/ o ~UF_DISP_USE_ACTIVE_MINUS=3 仅使用 active views
$ A' P/ ~+ N0 B8 P1 I; e. f9 [8 h. H9 HUF_DISP_USE_WORK_VIEW=4 使用work view 1) 画一条临时线% M2 P, a6 o0 T! y0 @
extern int UF_DISP_display_temporary_line (% a X8 v) e6 K Y
tag_t view_tag,
/ J* E( o+ w8 \7 l/ yUF_DISP_view_type_t which_views,
0 Y J, Q* D, T- Z1 rdouble start_line[ 3 ],
. ^" T3 z% I. }4 Wdouble end_line[ 3 ],( d2 O6 y# H2 Z; D7 I
UF_OBJ_disp_props_t * attrib );
) _8 e c( H0 t6 v3 L/ o$ v7 @参数解释
6 E! [5 Y2 A) d1 Z! Ntag_t view_tag 临时线所在的视的标识. k9 a8 K; J+ N' M$ b
UF_DISP_view_type_t which_views 所用视的类型 _& p5 I/ e0 _3 A9 {6 J
double start_line[3] 线的起点坐标- m4 g! F; L6 i( S; P
double end_line[3] 线的终点坐标
4 ~$ M4 y. W1 g8 H' A& \UF_OBJ_disp_props_t *attrib 线的属性 2) 画临时圆弧! k. P+ V) K7 d. d: Q
extern int UF_DISP_display_temporary_arc (1 j; L3 a8 q; x; }# v2 t- E5 g% W3 ?
tag_t view_tag,3 K6 v; \: k; X, u# p- O) P
UF_DISP_view_type_t which_views,1 t b4 ~+ z6 \ m0 q ] ]
double matrix[ 9 ]," o7 t2 l" b/ x9 k/ F: K( m; x
double start_angle,
% L3 U; i3 U0 }8 b1 }7 i& idouble end_angle,2 s; b6 {+ q, b0 S
double arc_center[ 3 ],
8 H$ R' P' [7 u0 jdouble radius,
7 E, g6 w8 t2 G5 ~; J: O2 c. \2 E2 |2 TUF_OBJ_disp_props_t * attrib );
8 Q& x) Q+ e4 y; O参数解释:
5 ?2 S, n9 E# f! ntag_t view_tag 临时圆弧标识
6 i" @% q% e' B( E9 SUF_DISP_view_type_t which_views 所用视的类型" v+ W/ F' n, A
double matrix[9] 圆弧所在的坐标系矩阵
& s$ A% }1 w9 P, m5 @double start_angle 弧的起始角9 h- _* t& @7 i2 p. b
double end_ angle 弧的结束角
# ]2 P, A8 A3 sdouble arc_center[3] 圆弧的中心
# G, `; q5 c4 h) Tdouble radius 圆弧的半径1 {( X7 g& M1 q+ I1 \
UF_OBJ_disp_props_t *attrib 圆弧线的属性7 I; Q1 \- `1 S4 d
Note: 起始角必须比结束角要小,而且起始角和结束角之差的绝对值要小于2л。 3) 画临时箭头, q) s5 Q9 h3 U
extern void UF_DISP_conehead (
, I! m, Y: H7 c$ lint display_flag,5 o5 V' e7 t% r: ?+ z. r
double coord[ ],
( Q1 }: ^8 p5 _6 U/ Vdouble vector[ ],
# l4 V# D6 @ @3 J# q, @8 Oint anchor_flag );& H; u0 D$ J' U7 U
参数解释:
1 U4 Q- H( T% J( rint display_flag 箭头所在的视窗,定义如下: UF_DISP_ALL_VIEWS_BUT_DRAWING; UF_DISP_VIEW_OF_LAST_CURSOR ;UF_DISP_ALL_ACTIVE_VIEWS ;UF_DISP_WORK_VIEW_ONLY;9 V j4 W* T- P4 W
如果display_flag>0,则代表视的顺序号, u4 c8 g/ ~2 F
double coord[] 箭头的起点坐标 g# M* m2 K% W' v
double vector[] 箭头的方向向量& _5 S& r6 F" ^* L- `( c
int anchor_flag 箭头的类型 2 w/ C; k* K- P# n1 o
|