点击查看详细介绍

UG二次开发获取面的最外边缘实例代码 精华帖

woiusr 9年前 19445 140

购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008  QQ号:85585969  


查看主题内容

6

最新回复 (140)
  • king_chinese VIP会员 8年前
    31

    学习中,看看有没有帮助

  • wguitar VIP会员 8年前
    32

    66666666666666666

  • king_chinese VIP会员 8年前
    33

    谢谢分享

  • ummaing 8年前
    34

    棒棒棒,谢谢分享。。。

  • HYZ谢谢 8年前
    35

    UG二次开发获取面的最外边缘实例代码

  • liugx 8年前
    36

    666666666666666666666

  • a2810401 7年前
    37

    谢谢楼主分享正在学习中

  • qfls5342 7年前
    38

    谢谢谢谢谢谢谢谢谢谢

  • hiboboloo 7年前
    39

    学习中,看看有没有帮助

  • lb676308480 7年前
    40

    1233211234567

  • q1686446819 7年前
    41

    API使用函数UF_UI_specify_screen_position拾取屏幕位置
    楼主(阅:3378/回:56)
    提示:此技术资料转至互联网,非本人原创!
    使用函数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;
    }

    //代码结束------------------

    运行效果如下:

    在移动鼠标的时候,状态栏上会实时修改鼠标坐标值,这个就是回调函数的作用。

  • liuziyu 7年前
    42

    谢谢分享

  • WMZ1234 7年前
    43

    谢谢分享

  • lx870667741 7年前
    44

    学习一下,谢谢分享。

  • aaabczz 7年前
    45

    多谢楼主分享,楼主一生平安

请登录后发表新帖