青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2009-1-7 15:59 | 显示全部楼层 |阅读模式
我在ug中自己手动画了一个直线,我想对它用程序进行编辑,可是不知怎么选定直线,还望高手指教,谢谢啦!!
发表于 2009-1-7 18:25 | 显示全部楼层
我也是新手,进来跟你讨论讨论~~~9 O' I( H3 `; G3 Q4 i) r! s, r
还望多多指教!
  y- Q1 }$ E* }' X# Y我最近做的一个小程序是要选定点的,我是用了UF_UI_select_with_single_dialog()函数,从界面上选择你需要的实体就可以了!
4 t0 I) t: y) n, L3 h) u同时,如果用这个函数的话,要先定义个初始化进进程函数init_proc(),在这个函数里设定你需要选择的实体,比如:直线。。。. k; H# {1 K2 Y5 @9 J

& }' U' _6 f& Q我程序中用来选择点的部分程序:
- H" Y3 E4 L, n8 f        // 调用选择对话框 [1/4/2009 %CREATED BY AUDREY LEE%]1 ~+ Y0 D: J' e5 M+ Z2 @
        char message[] = "请选择点作为放置点!";
1 T5 j$ D! U8 Q        char title[] = "放置点选择";
# x0 c& `- l8 _* G: M        tag_t m_point_object;
- u0 e. ]/ O1 f: K        int scope = UF_UI_SEL_SCOPE_NO_CHANGE;
( r$ ^3 c: G- b8 A  h/ ~5 d" f        int response = 0;/ ^) {$ q5 d* X' H, R+ o0 `+ ^
        double cursor[3] = {0.0};! d- E2 \9 h* s
        tag_t view = NULL_TAG;
8 @2 ~6 L! C) Z! \* S$ r+ S        5 O; B$ A2 ~4 x  i
        //加锁2 T# A& E( q6 Z1 Z& z0 K# L- X
        UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);
/ D, ~# e9 X2 |/ T4 F$ F* ^& P0 P+ p  C1 }
        UF_UI_select_with_single_dialog(message, title, scope, init_proc, NULL, &response, &m_point_object, cursor, &view);                                    
9 i. D8 E1 w* A" h
! M8 a1 y5 }- }5 B8 @! t4 [        //解锁7 i2 v2 L+ }' n  u  D
        UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
# Y' ?( {8 W6 D
/ P/ D6 r3 O% N+ N6 d另外:       用来定义你需要选择的实体类型的那个函数如下。。。
) b+ r- C: a6 p//设置Selection
' [/ f; N/ q: Z3 @/ C9 istatic int init_proc( UF_UI_selection_p_t select, void *user_data )2 _5 I8 Q7 Q! D* _& I8 w1 a: e
{
$ O6 G6 S: E: l3 z8 ?0 O        int  errorCode   = 0;6 J6 A7 y$ b' A
        int  num_triples = 1;
- c" D% A- y& O' y, B% T        UF_UI_mask_t mask_triples[] = {UF_point_type, 0, 0};" Q) k; K" Z+ {

( G, S/ U* t% C% J3 N2 t        //设置可选物体的类型. y( M* y3 U7 ?& n, R
        errorCode = UF_UI_set_sel_mask(select, UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
' j/ r" \% ^4 R# a) a                num_triples, mask_triples);
! h! j0 ?5 ?! j- y  {$ d        if( errorCode == 0)! w# e( u, Q1 o! s4 \
        {
$ E# l, P1 `/ d8 k% W+ g. o                return UF_UI_SEL_SUCCESS;% K1 Z4 \" S: C' I& Q
        }7 `. Z& @, e# r- A* s" ~7 L3 w6 v
        else% _. |) m6 a& j% x9 r# M6 y9 D% J
        {2 L6 \, U* F4 B9 l
                return UF_UI_SEL_FAILURE;" }8 @+ U; s  f/ x
        }/ ^+ n  u5 S% _7 i3 u
}
7 n: N8 o/ [4 ~/ I1 H2 {; r9 C) N7 q  K0 M2 B
希望有所帮助!
 楼主| 发表于 2009-1-7 20:22 | 显示全部楼层
谢谢你啊,我通过你的思路自己改了改,成功了,这问题已经困扰我好几天了,谢谢你啊!!!
发表于 2009-1-9 10:53 | 显示全部楼层
呵呵。。。
1 G4 r1 h0 T0 c7 v不客气~~~
' t) \; G: u( E# R+ y6 o大家共同进步么~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 15:20 , Processed in 0.108452 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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