青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 1921|回复: 2

[疑难] 菜鸟求助,对样条曲线进行访问.

[复制链接]
发表于 2008-12-26 17:42 | 显示全部楼层 |阅读模式
各位大侠,我在ug中手工画了一个圆弧,现在我想用VC编程对这个圆弧进行操作,可就是不知道怎么才能把画的圆弧选中,这个问题已经困了我好几天了,跪求那位大侠帮忙,谢谢了!!
发表于 2009-1-9 10:59 | 显示全部楼层
我也是新手,进来跟你讨论讨论~~~; E; P4 j( u; |3 L. ~2 M
还望多多指教!
1 p( c' U. s$ Y1 K我最近做的一个小程序是要选定点的,我是用了UF_UI_select_with_single_dialog()函数,从界面上选择你需要的实体就可以了!  J* Q) b5 u1 R! W' `) f
同时,如果用这个函数的话,要先定义个初始化进进程函数init_proc(),在这个函数里设定你需要选择的实体,比如:直线、曲线。。。
1 d# N6 t* J+ H" ]% ?, N2 D' O- [7 T) W6 n
我程序中用来选择点的部分程序:
6 L3 j: R. n  l0 K0 V        // 调用选择对话框 [1/4/2009 %CREATED BY AUDREY LEE%]
" k1 P' h  G- Q0 _        char message[] = "请选择点作为放置点!";
) K) k: N0 [+ Q/ y+ p* |8 A        char title[] = "放置点选择";4 p/ L) H& D- Q( |* P1 S+ T( c) j
        tag_t m_point_object;
; G) L7 B8 t9 a: p        int scope = UF_UI_SEL_SCOPE_NO_CHANGE;- Y/ q% ?* C; S8 h, \
        int response = 0;& g; y( @% m+ Y
        double cursor[3] = {0.0};: {9 R+ t1 Z- e9 ]# |9 \8 a: {3 ?
        tag_t view = NULL_TAG;
& h; u! t# w; r/ m       1 G0 h7 I6 h8 _6 h) |& P! P3 Z& K4 K
        //加锁8 B# x, |; e: x6 u1 |$ e7 A
        UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);! i/ M  O% t) e0 ?
$ l4 U. Y4 K+ p8 _7 E" q
        UF_UI_select_with_single_dialog(message, title, scope, init_proc, NULL, &response, &m_point_object, cursor, &view);                                    ' {2 P% K$ |* n; \& m0 V1 |7 M
% H2 L( G+ O: y2 w3 }! O
        //解锁$ ], H1 J6 @4 n4 M& y% Y
        UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
9 u, Q, ^( `4 @2 |) @/ {
- h7 v4 j" _: u7 A. p% A! w$ a另外:       用来定义你需要选择的实体类型的那个函数如下。。。
% s4 R! k2 l' ?' v//设置Selection
$ C/ Q( f; L0 a9 Hstatic int init_proc( UF_UI_selection_p_t select, void *user_data )2 N* w0 j  n- i
{/ T" j$ ^; W& [4 R
        int  errorCode   = 0;; V# H8 H1 J8 i- Z: r3 E+ L' q  b. w
        int  num_triples = 1;
& i& Y. D6 l* M  f' _        UF_UI_mask_t mask_triples[] = {UF_point_type, 0, 0};    //修改这里,选择曲线类型
' P: S4 X9 m' z
  y: f% q+ e' q+ P3 ]        //设置可选物体的类型
0 e# p" I/ ?+ r5 E* |7 z. Y        errorCode = UF_UI_set_sel_mask(select, UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
6 S6 Q& s6 b+ j. \5 J% f                num_triples, mask_triples);
' u$ t" ]/ G8 O        if( errorCode == 0)
0 ]7 L' m3 h( W! C- S' X' ?7 ^8 @        {7 `5 m# u, U2 B, C( E, M
                return UF_UI_SEL_SUCCESS;
9 |, T9 I# T. m5 ?3 ~7 ]        }1 \; [" ~" u5 k
        else
# [1 H) K+ ]; T0 s7 s" P        {/ J' A& |# ~' p+ V% @  z) `0 f* q
                return UF_UI_SEL_FAILURE;
  q8 Q# M, W8 `6 `; a/ _* {        }
2 x; B' E% N8 ?8 n}
, ]! |" K4 l( h% E0 D' @5 o& k( a( u4 K. D* U
希望有所帮助!

评分

参与人数 1流量 +1 收起 理由
tangxu12 + 1 帮助

查看全部评分

发表于 2009-1-9 11:00 | 显示全部楼层
咦?。。。
2 ^: G% V! B+ B7 ?' M' _8 f发了以后才注意到。。。原来还是你啊~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-4 16:17 , Processed in 0.105579 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

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