青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

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

显示临时线、圆弧、圆、箭头及旋转等+ \1 H3 h! V; t  q. C
1 blank和unblank+ T% Y; o5 j4 N! q) C! W( C0 t
blank就是将显示的零件设置成为不可见属性。unblank操作同blank相反,是将不可见的零件设置成为可见。这两个操作使用一个函数:UF_OBJ_set_blank_status。定义如下:
# Q+ q4 P! _2 |7 Rextern int UF_OBJ_set_blank_status(tag_t object_id , int blank_status);
  b! [, y5 s2 f3 K) x6 m参数object_id是输入参数,表示被操作对象的标识。参数blank_status表示操作类型,是输入参数。blank_status有两种状态,分别是:UF_OBJ_NOT_BLANKED和UF_OBJ_BLANKED。
  a- G) g/ ^! A2 v, Y2 highlight和unhighlight
% f( S8 N2 p2 ~' khighlight就是将显示的零件设置成为高亮。unhighlight操作同highlight相反,是将不可见的零件设置成为可见。这两个操作使用一个函数:UF_DISP_set_highlight ()。函数的原型如下:6 e% T$ y, J8 t. g
extern int UF_DISP_set_highlight (tag_t object_id, int action_switch );6 P5 s8 [+ M* E* ^
参数object_id是输入参数,表示被操作对象的标识,参数action_switch也是一个输入参数,表示操作的类型,即action_switch为1时,将object_id所代表的对象高亮,action_switch为0时,将object_id所代表的对象回复到正常显示状态。
1 R3 ^3 O6 y% S# U; s" B& {3 画线、圆弧、箭头
  @+ R* {' f# R& ]* b; V临时对象主要是在建模或者其它工作中其辅助作用的对象。利用refresh命令可以清除临时对象。下面介绍几种临时对象的操作。画临时的对象,需要用到一个结构和一个枚举,它们分别是UF_OBJ_disp_props_s和UF_DISP_view_type_e。结构UF_OBJ_disp_props_s的内容如表(),枚举UF_DISP_view_type_e的内容如表()。
3 e3 @5 s: ]  t( G  v表:
! K! y1 ]+ C7 U6 w# ?4 J8 Cstruct UF_OBJ_disp_props_s {( F) T, V6 j, e; P& s, y
int layer; 对象所在的层, P# G$ i/ a8 d# f  @* Z2 _* m% |
int color; 对象的颜色
! _$ J3 x0 k2 {5 Sint blank_status; 对象的blank状态,两个,分别是:UF_OBJ_NOT_BLANKED和UF_OBJ_BLANKED$ {4 n8 M8 [, U# W) N4 q1 K
int line_width;对象的线型,定义如下:UF_OBJ_WIDTH_NORMAL、UF_OBJ_WIDTH_THICK、9 E0 l/ b  a4 E2 |3 |! W
UF_OBJ_WIDTH_THIN、UF_OBJ_WIDTH_ORIGINAL0 s# \1 _3 ^6 u9 b0 Y9 g
int font;对象所拥有的字体
; B4 \/ ^, e$ Q; T7 U  L9 J5 @logical highlight_status; }; 对象的高亮状态表
9 ^# }9 f  e! g! J2 aUF_DISP_USE_VIEW_TAG=0 使用由视标识使用视y in view specified by its tag
2 c) Z5 t. {2 t! cUF_DISP_USE_ACTIVE_PLUS=1 使用active view 和 drawing views. F% e) X/ t/ ]6 m9 {9 `6 a% Q
UF_DISP_USE_CURSOR=2 使用上次光标的位置' g* }% G! l; R9 G
UF_DISP_USE_ACTIVE_MINUS=3 仅使用 active views
7 [; G! P8 R; bUF_DISP_USE_WORK_VIEW=4 使用work view

1) 画一条临时线
! `# }' `7 e( z, Z7 o/ _extern int UF_DISP_display_temporary_line (
. g! m8 k7 ^9 g/ R" Ftag_t view_tag,. n. B- D* m- F& t5 B" ~: _  ^/ m) K
UF_DISP_view_type_t which_views,7 |/ e3 j/ R* q) F* R& Q$ D
double start_line[ 3 ],/ ~% Q% }7 [8 p6 G% T  j
double end_line[ 3 ],
9 a; i1 J3 v' `6 cUF_OBJ_disp_props_t * attrib );7 `# V- P' B" |) _+ d' P% H) g! `
参数解释8 P8 ^4 L  s) v, j7 z( l+ c8 R
tag_t view_tag 临时线所在的视的标识
6 w) b! P, i) U) {; ~) ?& j7 hUF_DISP_view_type_t which_views 所用视的类型
& j' L0 Q& k. G4 m, adouble start_line[3] 线的起点坐标
5 i  L- I/ Y4 U4 y! i! d% ^. O; R6 Ydouble end_line[3] 线的终点坐标
) J& x; w( h* j8 l) KUF_OBJ_disp_props_t *attrib 线的属性

2) 画临时圆弧
$ \" B" J; _# ?9 X' N3 F2 J8 Y  Rextern int UF_DISP_display_temporary_arc (
0 d* m) W+ S" ^1 j/ atag_t view_tag,& ]! {! v0 f" E+ D2 L+ }0 F
UF_DISP_view_type_t which_views,$ k$ S! |+ ?% s$ W+ p6 ?
double matrix[ 9 ],
2 y; t7 r' H0 Udouble start_angle,0 h. |& I9 x8 t$ n
double end_angle,
, [( c# ~! \/ ?% b6 ]$ zdouble arc_center[ 3 ],# I& u4 y' d7 H( M9 ~2 y
double radius,
: ^3 c# A/ E, Z3 cUF_OBJ_disp_props_t * attrib );: w7 M, G0 b' J+ g4 i5 M
参数解释:
9 _. f3 U3 S" z# c8 ?tag_t view_tag 临时圆弧标识
/ \# W: L. W5 _/ i; V6 QUF_DISP_view_type_t which_views 所用视的类型
4 H2 `( N4 X: Kdouble matrix[9] 圆弧所在的坐标系矩阵% x  ?) ?0 @6 e9 \$ w6 O  S
double start_angle 弧的起始角
5 B' n$ Y# Z( K4 V( N# K9 @double end_ angle 弧的结束角! U  q9 i' s- {: G0 n
double arc_center[3] 圆弧的中心& F' h- |& {. ~: C' D) s
double radius 圆弧的半径
/ J2 c: O& y" ?: T- _4 ?, VUF_OBJ_disp_props_t *attrib 圆弧线的属性" h2 g) L4 a, ?. N! I
Note: 起始角必须比结束角要小,而且起始角和结束角之差的绝对值要小于2л。

3) 画临时箭头7 D  h4 F9 H% f: l! h/ @" F
extern void UF_DISP_conehead (
0 ~0 T, U4 i- s9 l$ ^0 d8 C0 f6 J7 Mint display_flag,
4 P3 l2 J. Z% hdouble coord[ ],
! N; A+ G$ \( P4 w8 {double vector[ ],
8 k2 B3 J: |9 `6 e% B. lint anchor_flag );5 {2 X2 d) G0 h: S& ]% h8 |' {
参数解释:
8 E% N7 ?% @2 f0 o5 V- qint display_flag 箭头所在的视窗,定义如下: UF_DISP_ALL_VIEWS_BUT_DRAWING; UF_DISP_VIEW_OF_LAST_CURSOR ;UF_DISP_ALL_ACTIVE_VIEWS ;UF_DISP_WORK_VIEW_ONLY;% Y: \, n# H2 `" E
如果display_flag>0,则代表视的顺序号
  B7 g  C& k8 E" Y" x* V, u7 ^double coord[] 箭头的起点坐标
% v5 p* W5 Z0 I9 mdouble vector[] 箭头的方向向量
: \6 j5 e: U4 }0 F& n* ~5 Bint anchor_flag 箭头的类型

9 f8 P) y( ^! ?3 R
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-3-10 09:48 , Processed in 0.048975 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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