青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2009-1-7 15:59 | 显示全部楼层 |阅读模式
我在ug中自己手动画了一个直线,我想对它用程序进行编辑,可是不知怎么选定直线,还望高手指教,谢谢啦!!
发表于 2009-1-7 18:25 | 显示全部楼层
我也是新手,进来跟你讨论讨论~~~
/ a0 X  V  I/ C$ ^还望多多指教!
$ |7 P% q' z( \我最近做的一个小程序是要选定点的,我是用了UF_UI_select_with_single_dialog()函数,从界面上选择你需要的实体就可以了!
! Z+ Q" t) U6 ?2 x6 Q/ I' g8 w同时,如果用这个函数的话,要先定义个初始化进进程函数init_proc(),在这个函数里设定你需要选择的实体,比如:直线。。。
3 |& v, W" b/ r& k/ Q( P; F& R6 ]
2 h* `1 A* B4 O我程序中用来选择点的部分程序:, i: z: x" G8 ]; R: X8 X
        // 调用选择对话框 [1/4/2009 %CREATED BY AUDREY LEE%]
7 r: O2 A6 r0 m  L( f        char message[] = "请选择点作为放置点!";
4 X$ C# b8 a7 g- c        char title[] = "放置点选择";
0 i" I* C9 o1 B; w  f        tag_t m_point_object;4 H! ]$ u+ ], `. [0 E
        int scope = UF_UI_SEL_SCOPE_NO_CHANGE;
& A1 F, R% ~( r+ k4 t; Q9 X        int response = 0;
- s1 h: }( R& P5 |) r. ?$ s+ f        double cursor[3] = {0.0};
( e9 k  r- t  H0 Z% [        tag_t view = NULL_TAG;( M- N7 r0 g( ?" v+ V5 u
        / W+ M. P' Z# d, J5 g6 p, _2 a
        //加锁
& \/ D5 e4 y6 b# n. A- u        UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);
; H% Y) O* \9 j, O: W% j  Q# S* J  q6 ?8 P9 I7 S: K: p
        UF_UI_select_with_single_dialog(message, title, scope, init_proc, NULL, &response, &m_point_object, cursor, &view);                                    
$ Y3 y6 G5 {, p* u$ v  b# ?
9 P) ]" v7 h7 C. Y5 B        //解锁( }* J4 P' }* @8 r) `, L5 b2 W
        UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
) C. f- t" l, J. c7 z# a) {8 y4 M# n) e: F5 W
另外:       用来定义你需要选择的实体类型的那个函数如下。。。/ d0 Q) q' h7 s# ~0 e' ~# R
//设置Selection: R$ @* d2 c" M+ q8 K
static int init_proc( UF_UI_selection_p_t select, void *user_data )
! h9 O) h9 N- f2 `{7 f6 l7 T& K0 _+ c8 w
        int  errorCode   = 0;( z" y" w' b; l/ y' G6 L3 ?4 v
        int  num_triples = 1;
3 m& e3 \% ~( R9 a! Y6 O        UF_UI_mask_t mask_triples[] = {UF_point_type, 0, 0};+ g; O+ ~: L; m
+ u$ `' H; Q' X9 K$ l+ x9 k+ e
        //设置可选物体的类型
! m: L2 t7 }) P7 q7 c7 U        errorCode = UF_UI_set_sel_mask(select, UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,& k/ V$ E" @6 `: d8 }4 Z! e! d
                num_triples, mask_triples);
0 O$ s: c- w0 N- j9 j        if( errorCode == 0)( a! d8 A9 \! b9 j$ C- f. R
        {5 E( `' H& S: L
                return UF_UI_SEL_SUCCESS;
/ }. x  ]. L/ f9 Q# C+ h        }' q6 f1 M/ N2 W9 I% m( N' e. [! s* h4 F
        else, s7 m, w! d! Z0 P' a4 Y
        {! m! N6 k" N4 Y2 A
                return UF_UI_SEL_FAILURE;2 h* S6 @. B( o
        }
2 R  `9 k" v+ @. G8 L}* u1 e' g. ]7 s. C! o2 i& h

0 V% D# S* p  L3 W: Z希望有所帮助!
 楼主| 发表于 2009-1-7 20:22 | 显示全部楼层
谢谢你啊,我通过你的思路自己改了改,成功了,这问题已经困扰我好几天了,谢谢你啊!!!
发表于 2009-1-9 10:53 | 显示全部楼层
呵呵。。。8 b; i; h. X) S" D
不客气~~~
8 }  K/ U6 t' `7 Z大家共同进步么~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-2 11:32 , Processed in 0.199347 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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