青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 1625|回复: 3

[疑难] ug中直线的选定。

[复制链接]
发表于 2009-1-7 15:59 | 显示全部楼层 |阅读模式
我在ug中自己手动画了一个直线,我想对它用程序进行编辑,可是不知怎么选定直线,还望高手指教,谢谢啦!!
发表于 2009-1-7 18:25 | 显示全部楼层
我也是新手,进来跟你讨论讨论~~~+ V) g3 V, p: M5 h7 [% C& w
还望多多指教!. E) u( r/ }: {4 x' v
我最近做的一个小程序是要选定点的,我是用了UF_UI_select_with_single_dialog()函数,从界面上选择你需要的实体就可以了!
/ A3 g6 A0 m/ Q0 \/ D: N$ Z同时,如果用这个函数的话,要先定义个初始化进进程函数init_proc(),在这个函数里设定你需要选择的实体,比如:直线。。。
; H8 m! k2 k# _" Y. @$ s, ~+ b8 S# q2 R& m$ A* I
我程序中用来选择点的部分程序:  W) N. V: q: _2 N3 {4 o' [
        // 调用选择对话框 [1/4/2009 %CREATED BY AUDREY LEE%]* G" y- S" @, u) I
        char message[] = "请选择点作为放置点!";
/ E9 |( e. }& S" d        char title[] = "放置点选择";
7 P; z% U0 ?* t5 Z( I3 [        tag_t m_point_object;
7 F0 A& M5 a. o. ~        int scope = UF_UI_SEL_SCOPE_NO_CHANGE;
- U' l6 {/ N/ W1 k$ i1 G        int response = 0;5 l0 ?5 y; p% D0 j) _* S
        double cursor[3] = {0.0};
5 C. d* e0 O0 `0 U2 `" B        tag_t view = NULL_TAG;
7 {) G$ A9 b2 N! b2 {- D2 K- |& f        - V5 m7 [; Y8 @3 w
        //加锁) K$ z& `" k, G! X' j0 ^
        UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);! e8 ^" Q1 V3 A' L( \) z
# X* I2 ^# [1 W
        UF_UI_select_with_single_dialog(message, title, scope, init_proc, NULL, &response, &m_point_object, cursor, &view);                                    
/ _  u/ t+ @, p" @( t% [, [6 m8 r. h9 z2 n% b; O( f% I
        //解锁
; H# `1 m7 r, y* T/ u: H$ m        UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);& m6 }* j0 W- a
5 f# C6 W5 F, r$ O
另外:       用来定义你需要选择的实体类型的那个函数如下。。。
: C2 ]" x1 \6 O- \4 }//设置Selection
' l4 w1 A& T7 jstatic int init_proc( UF_UI_selection_p_t select, void *user_data )% C% ?7 t% g3 ^2 e4 U7 O
{
! K( ~" |$ m# r. _# O$ ~        int  errorCode   = 0;0 q5 R7 @9 w* X
        int  num_triples = 1;/ I5 q) J7 e3 J, |4 s% K0 m6 t
        UF_UI_mask_t mask_triples[] = {UF_point_type, 0, 0};
6 G- f" L( ~# ~6 ~( W! M' G. a% ^+ X
        //设置可选物体的类型+ x) E! O, D* l& V" K
        errorCode = UF_UI_set_sel_mask(select, UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,; |' X; s$ P' X3 [( |6 d
                num_triples, mask_triples);. n* o7 l% H! H& K  Z
        if( errorCode == 0)
  J- R4 I  C2 |6 R        {
4 O' Q- _" U2 ~" B$ j% S                return UF_UI_SEL_SUCCESS;9 z2 \/ Z0 D) p4 B
        }. P5 z0 w1 \6 K# d9 ~
        else
& l- P. N- h; G2 n6 g        {- {# Z& O" o/ o6 V( N  h
                return UF_UI_SEL_FAILURE;
& m! E! L% N% Y! _6 @        }0 z0 I+ s: A! Z# y# M
}
( _# Y2 X- z- n( y* p9 W$ K( n( \9 v; [; B( q
希望有所帮助!
 楼主| 发表于 2009-1-7 20:22 | 显示全部楼层
谢谢你啊,我通过你的思路自己改了改,成功了,这问题已经困扰我好几天了,谢谢你啊!!!
发表于 2009-1-9 10:53 | 显示全部楼层
呵呵。。。
" \9 n: h/ T. c! i, j! y不客气~~~
0 c# ]8 Y% w' L% v* P大家共同进步么~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-27 21:41 , Processed in 0.052340 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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