注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

信息 灵感 创新

I? =Information,Inspiration,Innovation

 
 
 

日志

 
 
关于我

we are 5. Mathematics, Computation, Programming, Engineering, and Making fun of life.

网易考拉推荐

NXOpen常用标准对话框(7)  

2014-05-20 17:33:17|  分类: UG NX |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

拾取屏幕位置

使用函数UF_UI_specify_screen_position拾取屏幕位置,函数原型定义如下:

int UF_UI_specify_screen_position(
    char * message, 
    UF_UI_motion_fn_t motion_cb, 
    void * motion_cb_data, 
    double screen_pos[3], 
    tag_t * view_tag, 
    int * response);

第一个参数message用于状态栏提示,最多132个字符。

第二个参数是鼠标移动回调函数,如果不需要则设置为NULL。

第三个参数是传递给motion_cb的客户数据。

第四个参数是所选择的屏幕点,是工作部件绝对坐标系下的坐标值,然后透过屏幕投影到了WCS的XY平面上,因此Z值的总是0。当然此参数的值只有在返回值(第六个参数)为UF_UI_PICK_RESPONSE时才会被修改。

第五个参数是指向屏幕位置视图的标识,同样也只在UF_UI_PICK_RESPONSE时才会被修改。

第六个参数是对话框的返回值,值是如下三个之一:UF_UI_PICK_RESPONSE、UF_UI_BACK和UF_UI_CANCEL。

使用示例如下:

#include <uf.h>
#include <uf_part.h>
#include <uf_ui.h>
#include <uf_exit.h>
#include <string>

void motion_cb(double screen_pos[3] ,UF_UI_motion_cb_data_p_t motion_cb_data, void * data)
{
    char str[100];
    sprintf(str,"Mouse at (%4.2f,%4.2f,%4.2f)",
        screen_pos[0],screen_pos[1],screen_pos[2]);
    uc1601(str,0);
}

void DlgTest()
{
    double screenPt[3]={0,0,0};
    tag_t view_tag;
    int response;
    char msg[100];
    UF_UI_specify_screen_position(
        "Specify Screen Position:",
        &motion_cb,
        NULL,
        screenPt,
        &view_tag,
        &response);
    if(response==UF_UI_PICK_RESPONSE)
    {
        sprintf(msg,"You Pick Screen Point(%4.2f,%4.2f,%4.2f)",screenPt[0],screenPt[1],screenPt[2]);
        uc1601(msg,1);
    }
}

//入口函数
extern DllExport void ufsta( char *param, int *returnCode, int rlen)
{
    if(UF_initialize()) 
        return;
    //Add your code here
    DlgTest();
    UF_terminate();
}
//退出函数
extern int ufusr_ask_unload()
{
    return UF_UNLOAD_IMMEDIATELY;
}
运行效果如下:
1
在移动鼠标的时候,状态栏上会实时修改鼠标坐标值,这个就是回调函数的作用。
  评论这张
 
阅读(581)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016