青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 1614|回复: 0

[教程] UG二次开发实用入门教程_与显示(视窗)相关的函数(DISP,VIEW)

[复制链接]
发表于 2014-4-6 20:23 | 显示全部楼层 |阅读模式

显示临时线、圆弧、圆、箭头及旋转等
/ n) j/ h2 ~# l8 m* t- S  s1 blank和unblank6 h2 O8 l+ J2 `* V4 c- d$ c
blank就是将显示的零件设置成为不可见属性。unblank操作同blank相反,是将不可见的零件设置成为可见。这两个操作使用一个函数:UF_OBJ_set_blank_status。定义如下:
/ a* b( P" o$ Qextern int UF_OBJ_set_blank_status(tag_t object_id , int blank_status);
/ n' d9 }/ h* e# i$ B% W参数object_id是输入参数,表示被操作对象的标识。参数blank_status表示操作类型,是输入参数。blank_status有两种状态,分别是:UF_OBJ_NOT_BLANKED和UF_OBJ_BLANKED。
1 U" B$ ^# O$ A: t# w2 highlight和unhighlight
8 f0 `" W5 W" G' ^! t+ M2 Khighlight就是将显示的零件设置成为高亮。unhighlight操作同highlight相反,是将不可见的零件设置成为可见。这两个操作使用一个函数:UF_DISP_set_highlight ()。函数的原型如下:
6 I" l9 A- E: z1 C4 {! u9 H/ M1 Oextern int UF_DISP_set_highlight (tag_t object_id, int action_switch );
; m) x' G& a! @& d& }! a参数object_id是输入参数,表示被操作对象的标识,参数action_switch也是一个输入参数,表示操作的类型,即action_switch为1时,将object_id所代表的对象高亮,action_switch为0时,将object_id所代表的对象回复到正常显示状态。
2 ?1 l0 m+ b9 r3 h" i) `( f3 画线、圆弧、箭头  Z* h+ r% J5 \+ |5 w( ?
临时对象主要是在建模或者其它工作中其辅助作用的对象。利用refresh命令可以清除临时对象。下面介绍几种临时对象的操作。画临时的对象,需要用到一个结构和一个枚举,它们分别是UF_OBJ_disp_props_s和UF_DISP_view_type_e。结构UF_OBJ_disp_props_s的内容如表(),枚举UF_DISP_view_type_e的内容如表()。
) t( D; s  v4 h6 h" F2 e( A表:
# j+ j; M5 V- Hstruct UF_OBJ_disp_props_s {5 K! W, R- S" G' M* Q
int layer; 对象所在的层. V# @! u7 w. U$ l/ t; ]
int color; 对象的颜色& M9 y) U9 j7 ^# C; q  j8 u! a9 F
int blank_status; 对象的blank状态,两个,分别是:UF_OBJ_NOT_BLANKED和UF_OBJ_BLANKED
) H8 n5 l* A3 k) ]int line_width;对象的线型,定义如下:UF_OBJ_WIDTH_NORMAL、UF_OBJ_WIDTH_THICK、
& _9 E' q) n# q. a0 X! I% iUF_OBJ_WIDTH_THIN、UF_OBJ_WIDTH_ORIGINAL
" l5 B6 C8 Q7 ]) V) wint font;对象所拥有的字体
9 V$ }' ]$ i; t& q( e" Ological highlight_status; }; 对象的高亮状态表
  u+ O' S9 f% S/ l! t  t) JUF_DISP_USE_VIEW_TAG=0 使用由视标识使用视y in view specified by its tag
& ?! @, s" ?! U% g* {- JUF_DISP_USE_ACTIVE_PLUS=1 使用active view 和 drawing views
: ^% f, t6 q' J0 B! MUF_DISP_USE_CURSOR=2 使用上次光标的位置' _' y- P& t3 j& `& H; P
UF_DISP_USE_ACTIVE_MINUS=3 仅使用 active views7 @& b  a$ R0 z. O% s
UF_DISP_USE_WORK_VIEW=4 使用work view

1) 画一条临时线# N" n7 g- R1 l. ]5 K. S) F
extern int UF_DISP_display_temporary_line (
7 x6 d# U* ?9 j+ \. x' }tag_t view_tag,
2 f+ i7 j' I. U# [* W5 \: CUF_DISP_view_type_t which_views,
% Q5 C1 Z: X" x. Xdouble start_line[ 3 ]," @. v" b' W; ^3 Y5 h, z& W8 _
double end_line[ 3 ],
& i) K- U7 C( F+ ]4 j% d6 cUF_OBJ_disp_props_t * attrib );
, q$ J+ u# i) Q6 I3 Z参数解释' g7 r$ \2 W- f( b+ f
tag_t view_tag 临时线所在的视的标识7 O) `( |+ O. X' R' l. W' d
UF_DISP_view_type_t which_views 所用视的类型
7 r; r- [: q: h2 Idouble start_line[3] 线的起点坐标
- G+ E( f) w4 Q: idouble end_line[3] 线的终点坐标" U) `& n2 A7 P* r( K
UF_OBJ_disp_props_t *attrib 线的属性

2) 画临时圆弧
5 w) m7 h6 C7 C9 N, K0 t/ Eextern int UF_DISP_display_temporary_arc (4 _4 D- O$ R. }" V" q6 o
tag_t view_tag,
; {: i& q# ~, k6 GUF_DISP_view_type_t which_views,8 t" ?, Y! i' \+ g( t
double matrix[ 9 ],7 ~1 h- v  X1 m$ E- s0 i
double start_angle,0 `, i$ {7 @1 X4 Y+ O
double end_angle,
  A# |3 {0 e9 \* d3 Pdouble arc_center[ 3 ],$ n) A/ }, `  n1 k) H
double radius,' ^# a3 ~4 k, {8 T; {5 e
UF_OBJ_disp_props_t * attrib );
4 E8 t" Y' |4 Z2 I9 Q4 V8 u参数解释:
, [6 j6 K, B, Y) Ltag_t view_tag 临时圆弧标识6 ^; _' B8 r: M. l9 H$ i5 i. r
UF_DISP_view_type_t which_views 所用视的类型
3 }$ D3 Y" k) Wdouble matrix[9] 圆弧所在的坐标系矩阵
& e3 o% d! |. _double start_angle 弧的起始角3 i8 r' Y2 ^/ ^8 B+ v& ]0 V
double end_ angle 弧的结束角
! W( R$ B7 g# p( jdouble arc_center[3] 圆弧的中心0 A. h# I# f. a' _- X
double radius 圆弧的半径% Z0 f$ @% E5 n/ F' z
UF_OBJ_disp_props_t *attrib 圆弧线的属性4 d+ V* r: a( b1 |4 I* m; \
Note: 起始角必须比结束角要小,而且起始角和结束角之差的绝对值要小于2л。

3) 画临时箭头
; I8 d/ ?4 D0 Y$ q1 z( ?extern void UF_DISP_conehead (
0 `/ [. q! w3 B4 s, R7 u  g0 k& H6 }0 W) Oint display_flag,
; R6 T! L5 E5 x4 l$ Q2 n& `& j3 f* U: Fdouble coord[ ],
% N( W5 p1 F2 a# zdouble vector[ ],: U3 y/ X" e' o6 S* k$ L
int anchor_flag );
8 u! z* ]- V# m$ k; ^4 N1 T参数解释:# z; g( N' b) Y2 ]$ I/ c- Q
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;5 h1 @# e5 K' N* q
如果display_flag>0,则代表视的顺序号
# I2 ^7 v% [* ]+ K; Edouble coord[] 箭头的起点坐标5 \# i) c. ]! ?6 P/ M7 S1 O4 c
double vector[] 箭头的方向向量
4 G- A8 x$ Z9 V' {, M5 jint anchor_flag 箭头的类型

* P7 m4 v  U: b! q! _
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2025-7-8 01:49 , Processed in 0.129914 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表