青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2009-1-7 15:59 | 显示全部楼层 |阅读模式
我在ug中自己手动画了一个直线,我想对它用程序进行编辑,可是不知怎么选定直线,还望高手指教,谢谢啦!!
发表于 2009-1-7 18:25 | 显示全部楼层
我也是新手,进来跟你讨论讨论~~~% c' p, L; B  p! V3 s' s
还望多多指教!" s) L: `( P2 c2 X
我最近做的一个小程序是要选定点的,我是用了UF_UI_select_with_single_dialog()函数,从界面上选择你需要的实体就可以了!; S) H% e8 k7 i9 ~
同时,如果用这个函数的话,要先定义个初始化进进程函数init_proc(),在这个函数里设定你需要选择的实体,比如:直线。。。
" W. v9 I5 o1 L( F) t7 }( C; k' j! I: j# ~# {9 {4 F( [
我程序中用来选择点的部分程序:
8 S8 F9 R1 n* b3 Q        // 调用选择对话框 [1/4/2009 %CREATED BY AUDREY LEE%]
8 \' ^: i4 g& R! H& v        char message[] = "请选择点作为放置点!";: W! z# A& j* ~7 c% L
        char title[] = "放置点选择";
( e7 {% M, q6 x5 M1 m4 D9 V        tag_t m_point_object;
; F. ^: y& C/ i        int scope = UF_UI_SEL_SCOPE_NO_CHANGE;. C) v% r' E1 k; @/ k
        int response = 0;- C! G5 }' h. t9 g" K0 t, v
        double cursor[3] = {0.0};+ t/ O1 t  @9 ^5 s
        tag_t view = NULL_TAG;
  i+ W" {/ V6 q, ~        8 X6 x" A) m3 ?3 H  ~6 W$ N1 v3 U
        //加锁
: S& k# [( L4 R, e        UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);8 _; h3 N0 I4 x
% s7 }# E- \& H8 L5 I
        UF_UI_select_with_single_dialog(message, title, scope, init_proc, NULL, &response, &m_point_object, cursor, &view);                                    
6 H! \: w) |+ \* E
' W$ M1 D+ c9 ?        //解锁7 x5 K8 v- E  t+ J
        UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
9 P& j4 [+ ?( A9 s
; s: H1 [* w0 A8 P6 O另外:       用来定义你需要选择的实体类型的那个函数如下。。。
( v" ]) v, z* k" [/ w//设置Selection
* m" ?* L3 b$ d7 X( D! estatic int init_proc( UF_UI_selection_p_t select, void *user_data ). O  G# o' Y, u; m; {  G
{
4 m: J! z5 F; \- v0 ~        int  errorCode   = 0;
# @5 e" X5 R: c- K+ C# u        int  num_triples = 1;' {# e& Y0 W+ ]/ k3 Z
        UF_UI_mask_t mask_triples[] = {UF_point_type, 0, 0};9 X0 U- v: b! E' K! r: i# U

6 K4 O, \5 b  F: V3 g        //设置可选物体的类型- m- n/ T" v! k+ [$ k' _
        errorCode = UF_UI_set_sel_mask(select, UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
( x7 n1 r5 e' X6 u( ~1 C                num_triples, mask_triples);
! }! M* \" F& g  K3 r        if( errorCode == 0)
* Y3 x3 g+ X  i" b8 [( M+ z        {6 ~  j- y# i2 H, B3 G
                return UF_UI_SEL_SUCCESS;( [  Z; y% ]$ h; w6 ?5 K. y
        }
9 Q1 J; }, B+ b& [' q        else
# p$ ~5 j! j1 m0 [- W; E        {
3 O0 E: P! G+ p7 Z& K( ]                return UF_UI_SEL_FAILURE;7 e2 d+ }/ H; v, L
        }0 L2 ~6 |* Z3 q* t5 ]
}
! j. Y9 T! u1 O2 V  f! V; H
0 C! v4 U, b* G' [/ Z希望有所帮助!
 楼主| 发表于 2009-1-7 20:22 | 显示全部楼层
谢谢你啊,我通过你的思路自己改了改,成功了,这问题已经困扰我好几天了,谢谢你啊!!!
发表于 2009-1-9 10:53 | 显示全部楼层
呵呵。。。" r1 j! C5 T! l; I1 k5 p- y
不客气~~~
, B, U8 U& \; `% J大家共同进步么~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-19 07:06 , Processed in 0.050121 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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