找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 17857|回复: 7
打印 上一主题 下一主题

[求助] 如何用UF_UI_select_with_single_dialog函数选择点?

[复制链接]
跳转到指定楼层
1
发表于 2009-1-4 19:46:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本人做了个先在对话框里输入数据,然后创建套筒的小程序。对话框里加了一个用来确定套筒放置位置的按钮,点击按钮之后希望进行放置点的选择。。。
      我自己查了一下,好像是用UF_UI_select_with_single_dialog函数实现,可调试以后发现,只能选择孤立的点,而那种诸如圆的中心点啊,直线的端点之类的点都不能选择,请问这是为什么呢?
      我希望实现的选择功能是可以选择到上面说的那种诸如圆的中心点啊,直线的端点之类的点,如何改进呢?望高手指点!
本人写的放置点的按钮的回调函数:
int CHANGE_action_6_act_cb ( int dialog_id,
             void * client_data,
             UF_STYLER_item_value_type_p_t callback_data)
{
     /* Make sure User Function is available. */  
     if ( UF_initialize() != 0)
          return ( UF_UI_CB_CONTINUE_DIALOG );

     char message[] = "请选择点作为放置点!";
    char title[] = "放置点选择";
    tag_t m_point_object;
    int scope = UF_UI_SEL_SCOPE_NO_CHANGE;
    int response = 0;
    double cursor[3] = {0.0};
    tag_t view = NULL_TAG;
   
    //加锁
    UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);

    UF_UI_select_with_single_dialog(message, title, scope,init_proc,NULL, &response, &m_point_object, cursor, &view);

    //解锁
    UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);

    // 将获得的点信息反传给数据输入框中的XYZ [1/4/2009 %CREATED BY AUDREY LEE%]
    UF_CURVE_struct_p_t curve;
    int curve_type;
    double  *curve_data;

    UF_CURVE_ask_curve_struct(m_point_object, &curve);
    UF_CURVE_ask_curve_struct_data(curve, &curve_type, &curve_data);
    set_dlg_data(dialog_id, CHANGE_REAL_4, curve_data[0]);
    set_dlg_data(dialog_id, CHANGE_REAL_5, curve_data[1]);
    set_dlg_data(dialog_id, CHANGE_REAL_6, curve_data[2]);



     UF_terminate ();

    /* Callback acknowledged, do not terminate dialog */
    return (UF_UI_CB_CONTINUE_DIALOG);
   
    /* or Callback acknowledged, terminate dialog.    */
    /* return ( UF_UI_CB_EXIT_DIALOG );               */

}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2009-1-6 13:37:40 | 只看该作者
try uc1616
3
发表于 2009-1-6 18:19:39 | 只看该作者
是这个函数PointConstruct,可以跳出选点对话框

[ 本帖最后由 zhangcanwei 于 2009-1-7 07:23 编辑 ]
4
发表于 2009-1-9 17:16:19 | 只看该作者
问题应该出在init_proc这个子函数的定义上
5
发表于 2009-1-9 22:07:32 | 只看该作者

回复 4楼 pasture 的帖子

怎么修改呢?
6
发表于 2009-1-10 10:52:49 | 只看该作者
UF_UI_select_with_single_dialog 返回的是object tag, 而不是点的坐标。

问一个问题,圆的中心在nx里面有一个已存点么,能得到这样一个object tag么?
关于线的端点,也要看你创建线的方式了,更一般的说,nx中选择线上点的方式,就没有实际存在的点。

还是去试试uc1616吧
7
发表于 2009-1-11 10:39:36 | 只看该作者

回复 6楼 jackie2003 的帖子

知道点的object tag,不是一样可以获得其坐标么?
8
发表于 2009-1-12 09:27:04 | 只看该作者
可是我说的是NX里面本来没有这个point object,你怎么得到这个没有的object tag
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-29 14:43 , Processed in 0.026484 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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