青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

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

显示临时线、圆弧、圆、箭头及旋转等: R3 h. R/ n5 ~+ U1 J+ H
1 blank和unblank
- T! A4 E! B: |, o/ l8 l+ yblank就是将显示的零件设置成为不可见属性。unblank操作同blank相反,是将不可见的零件设置成为可见。这两个操作使用一个函数:UF_OBJ_set_blank_status。定义如下:
: H; ]) J4 Y4 }2 v! @extern int UF_OBJ_set_blank_status(tag_t object_id , int blank_status);1 o0 Y4 f# \% Y
参数object_id是输入参数,表示被操作对象的标识。参数blank_status表示操作类型,是输入参数。blank_status有两种状态,分别是:UF_OBJ_NOT_BLANKED和UF_OBJ_BLANKED。6 [9 D2 }- a$ ~9 S' D4 u' M8 \+ I! V
2 highlight和unhighlight
. N$ \1 Z) _9 D  k1 ~highlight就是将显示的零件设置成为高亮。unhighlight操作同highlight相反,是将不可见的零件设置成为可见。这两个操作使用一个函数:UF_DISP_set_highlight ()。函数的原型如下:
& I/ y; B+ B  P1 B* Dextern int UF_DISP_set_highlight (tag_t object_id, int action_switch );
# o/ [  R7 C  e0 T% E9 j参数object_id是输入参数,表示被操作对象的标识,参数action_switch也是一个输入参数,表示操作的类型,即action_switch为1时,将object_id所代表的对象高亮,action_switch为0时,将object_id所代表的对象回复到正常显示状态。) ]0 @& H, t9 C; I& o( A8 b
3 画线、圆弧、箭头0 o+ j% Q+ ~' O  I2 y
临时对象主要是在建模或者其它工作中其辅助作用的对象。利用refresh命令可以清除临时对象。下面介绍几种临时对象的操作。画临时的对象,需要用到一个结构和一个枚举,它们分别是UF_OBJ_disp_props_s和UF_DISP_view_type_e。结构UF_OBJ_disp_props_s的内容如表(),枚举UF_DISP_view_type_e的内容如表()。/ J0 b, n+ D7 Z4 Z+ C: K- @
表:, b' q" m2 G2 G$ H3 K4 {
struct UF_OBJ_disp_props_s {
  _% R- E( i4 H( N4 wint layer; 对象所在的层
3 _8 F# b$ U0 V1 Eint color; 对象的颜色
1 h% `, d, Z1 {, t8 k: E) gint blank_status; 对象的blank状态,两个,分别是:UF_OBJ_NOT_BLANKED和UF_OBJ_BLANKED  |; o4 W1 p6 [% f6 b
int line_width;对象的线型,定义如下:UF_OBJ_WIDTH_NORMAL、UF_OBJ_WIDTH_THICK、' K/ U9 N3 \! u: N+ h8 }
UF_OBJ_WIDTH_THIN、UF_OBJ_WIDTH_ORIGINAL1 \$ |3 r9 V' S
int font;对象所拥有的字体1 K9 X/ q2 h1 f( L
logical highlight_status; }; 对象的高亮状态表
) q6 ?* {7 C: G7 }) T1 ?$ D5 nUF_DISP_USE_VIEW_TAG=0 使用由视标识使用视y in view specified by its tag
# v3 t7 U6 H4 K( CUF_DISP_USE_ACTIVE_PLUS=1 使用active view 和 drawing views+ M" {0 S. x  b2 _& C
UF_DISP_USE_CURSOR=2 使用上次光标的位置
7 a$ Y6 z& t" F/ wUF_DISP_USE_ACTIVE_MINUS=3 仅使用 active views
2 U8 }* A) Z! r" N" n& _4 w, Q6 |UF_DISP_USE_WORK_VIEW=4 使用work view

1) 画一条临时线" x+ W1 j! Y$ A. e3 S  N7 H# r6 x
extern int UF_DISP_display_temporary_line (
9 u, N0 W+ N. H0 n0 Htag_t view_tag,
6 t. a+ p0 f9 R; `! m, E6 yUF_DISP_view_type_t which_views,# `- D6 N/ Q$ c2 \  O* ^' ~( W
double start_line[ 3 ],' ^7 V+ |, V# m* y; I5 q2 ]9 O
double end_line[ 3 ],( u: I  e) G: S( [( L
UF_OBJ_disp_props_t * attrib );( _' n* [8 v8 [# z8 T4 \9 H
参数解释2 b& u  a( p0 @0 C
tag_t view_tag 临时线所在的视的标识+ \* ~) y" {4 T4 `4 ?
UF_DISP_view_type_t which_views 所用视的类型
3 J" F0 b# G: Jdouble start_line[3] 线的起点坐标
8 _6 i3 H. I% F- mdouble end_line[3] 线的终点坐标
( U/ ?: @3 E% e1 {" b1 U+ x9 z# xUF_OBJ_disp_props_t *attrib 线的属性

2) 画临时圆弧
: A3 ^! R! Y* ?, `2 B2 u  Xextern int UF_DISP_display_temporary_arc (
+ j6 J8 D% T2 A7 C7 B  q5 ^2 N5 xtag_t view_tag,
+ l, F" A7 C' }; gUF_DISP_view_type_t which_views,
7 E4 Y4 O* l' }/ r6 bdouble matrix[ 9 ]," r6 r  m6 x& ~& z6 O
double start_angle,
  k/ }, s, B) W' Cdouble end_angle,
2 h/ m- v4 I+ U+ T0 [double arc_center[ 3 ],
# a$ O, y* Z" @double radius,+ f1 o9 J% }/ w& m5 t  H
UF_OBJ_disp_props_t * attrib );0 E! t7 l# B; A. I% T" u2 r
参数解释:
4 W/ I9 X8 N# z8 e& T; Htag_t view_tag 临时圆弧标识
) U1 X3 F: l! P" Y/ j- d: zUF_DISP_view_type_t which_views 所用视的类型
4 |' Y6 ^# Z  v! I9 |+ E7 ydouble matrix[9] 圆弧所在的坐标系矩阵# ^7 F! A* c& U' Z' U
double start_angle 弧的起始角
* X5 a' h* }9 R+ F# F/ R& i/ ~( sdouble end_ angle 弧的结束角
0 R& z; m' z# f6 c; Vdouble arc_center[3] 圆弧的中心
# m, q) W# j5 o0 o* sdouble radius 圆弧的半径& ~6 R. T+ [2 A3 M3 J6 X2 ~! G
UF_OBJ_disp_props_t *attrib 圆弧线的属性
( Z7 V; b6 o9 {" sNote: 起始角必须比结束角要小,而且起始角和结束角之差的绝对值要小于2л。

3) 画临时箭头3 f+ N6 g- Y2 n0 k" A5 \( |
extern void UF_DISP_conehead (" v. {5 F0 f; p$ v
int display_flag,5 S3 x- `+ T: I( p# e+ ~
double coord[ ],
0 `& p1 c& t$ S3 a1 O5 Odouble vector[ ],  j9 Y# ?" g- m9 M
int anchor_flag );& T) _# _* R$ _# ?* M
参数解释:3 ^9 L1 c8 V: b4 S
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;
% D% m$ h, O8 h: S* o如果display_flag>0,则代表视的顺序号. w$ y# M9 M( {, d3 o, U
double coord[] 箭头的起点坐标/ ]7 k7 V4 m! p9 ~. F
double vector[] 箭头的方向向量
1 L) K3 h4 t# O; `& K9 H( x) Eint anchor_flag 箭头的类型


% \: c. j. i& C0 @
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-17 23:15 , Processed in 0.064335 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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