找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

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

怎么样在自己开发的程序中实现和UG的选择功能?求教

[复制链接]
跳转到指定楼层
1
发表于 2004-7-24 11:01:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
好像实现与图形交互,也不是一件很容易的事情,我尝试了不少方法,研究了例程,好像都不成?
不知道该怎么处理。正在着急呢?
能不能详细的介绍一下UF_UI_select_class_dialog()函数的使用方法?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2004-7-26 11:04:31 | 只看该作者
兄弟,这样问问题很少人回答的
你最好还是问问你在使用这个函数碰到什么问题,大家好帮你解决
3
发表于 2004-7-26 11:21:50 | 只看该作者
交互选择的函数在UF_UI.h中,具体怎么用自己看看说明!
4
发表于 2004-7-26 18:55:56 | 只看该作者
应该是这个函数吧UF_UI_select_with_class_dialog( )?
help里面有example 的啊
5
发表于 2004-8-3 15:26:27 | 只看该作者
/******************************************************************************
             Copyright (c) 1999 Unigraphics Solutions, Inc.
                       Unpublished - All Rights Reserved
  
*******************************************************************************/
/*
This example shows using the class selection dialog with all standard
object types selectable. To set different object types selectable, see the
example for UF_UI_select_with_single_dialog.
*/
  
#include <stdio.h>
#include <uf.h>
#include <uf_ui.h>
#include <uf_disp.h>
#define UF_CALL(X) (report( __FILE__, __LINE__, #X, (X)))
static int report( char *file, int line, char *call, int irc)
{
  if (irc)
  {
     char    messg[133];
     printf("%s, line %d:  %s\n", file, line, call);
     (UF_get_fail_message(irc, messg)) ?
       printf("    returned a %d\n", irc) :
       printf("    returned error %d:  %s\n", irc, messg);
  }
  return(irc);
}
static void do_ugopen_api(void)
{
    char cue[] = "Select Objects";
    char title[] = "User Title";
    int response, count, i;
    tag_p_t objects;
    /* Use multiple class selection with scope set to any object
       in the work part and without using an initialization
procedure.
    */
    if((UF_CALL(UF_UI_select_with_class_dialog(
          cue, title, UF_UI_SEL_SCOPE_WORK_PART,
          NULL, NULL, &response, &count, &objects))) == 0)
    {
         printf("object count = %d\n",count);
         if (response == UF_UI_OK && count > 0)
         {
             for (i=0; i<count; i++)
             {
                 printf("object tag = %d\n", objects);
                 UF_DISP_set_highlight(objects, 0);
             }
             UF_free(objects);
         }
    }
}
/*ARGSUSED*/
void ufusr(char *param, int *retcode, int param_len)
{
  if (!UF_CALL(UF_initialize()))
  {
    do_ugopen_api();
    UF_CALL(UF_terminate());
  }
}
int ufusr_ask_unload(void)
{
  return (UF_UNLOAD_IMMEDIATELY);
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-26 21:02 , Processed in 0.026493 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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