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

iCAx开思网

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

[求助]UG二次开发问题[急][3q]

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

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

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

x
如何用VC在UG中打开文件,我下面的代码只能打开UG环境,文件没打开  
  
extern "C" DllExport void ufsta( char *param, int *returnCode, int rlen )  
{  
    /* Initialize the API environment */  
    int errorCode = UF_initialize();  
  
    if ( 0 == errorCode )  
    {  
        /* TODO: Add your application code here */  
        UF_PART_load_status_t error_status;  
  
        char part_name1[133]="G:\\mouse2.prt";  
  
        int unit=1;  
        tag_t part1;  
  
        UF_PART_open(part_name1,[$part1,&error_status)]  
  
        /* Terminate the API environment */  
        errorCode = UF_terminate();  
    }  
  
    /* Print out any error messages */  
    //PrintErrorMessage( errorCode );  
}  
  
VC中的环境设置如下  
project->setting->debug->excecutable for debug session = ugraf.exe  
  
请高人指点
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2004-7-16 20:47:17 | 只看该作者
打开UG环境后,File->Execute UG/open->user Function,执行dll文件
3
发表于 2004-7-16 22:44:15 | 只看该作者
先谢谢了,我试一试.好心人
4
发表于 2004-7-16 23:00:08 | 只看该作者
我是新学的,还是不太明白:
我用这个程序的目的是想在程序中打开"G:\\mouse2.prt"; 这个文件
  
   char part_name1[133]="G:\\mouse2.prt";  
  UF_PART_open(part_name1,[$part1,&error_status)]  
楼主:这个程序为什么不能运行出UG环境下的部件?
  
再谢了.
5
发表于 2004-7-17 10:57:27 | 只看该作者
  你是自己建立的win32 动态连接库,还是用UG在VC里的向导生成的?头文件uf_part.h 加了吧。程序我试过,没问题的啊!
6
发表于 2004-7-17 11:50:44 | 只看该作者
我是利用UG在VC里的向导生成的,头文件uf_part.h 加了.而只能运行出UG 的环境.按我的想法应该是直接打开我定义的文件.您用这个程序直接打开文件了吗?如果您有时间给我发个EXAMPLE 吧.谢谢.
初学真是难.不过有高手在我也很有信心.
7
发表于 2004-7-17 15:43:43 | 只看该作者
是啊,我也是这么做的,只是把你的路径改成我存放的文件的路径。你的程序应该没问题的,是不是你的路径不对,再换个试试看。或者重新做一遍。我用的是NX1.0
8
发表于 2004-7-17 18:21:00 | 只看该作者
不需要选择执行dll文件?怎么弄的,我也想知道
9
发表于 2004-7-17 21:38:03 | 只看该作者
//  jinjing.cpp
//
//  Description:
//      Contains Unigraphics entry points for the application.
//
//////////////////////////////////////////////////////////////////////////////
  
//  Include files
#include <uf.h>
#include <uf_exit.h>
#include <uf_ui.h>
#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )
#  include <strstream>
#   include <iostream>
  using std:strstream;
  using std::endl;  
  using std::ends;
  using std::cerr;
#else
#  include <strstream.h>
#   include <iostream.h>
#endif
#include "jinjing.h"
#include "uf_part.h"
  
//----------------------------------------------------------------------------
//  Activation Methods
//----------------------------------------------------------------------------
  
//  Unigraphics Startup
//      This entry point activates the application at Unigraphics startup
extern "C" DllExport void ufsta( char *param, int *returnCode, int rlen )
{
    /* Initialize the API environment */
    int errorCode = UF_initialize();
  
    if ( 0 == errorCode )
    {
  
        /* TODO: Add your application code here */
/* TODO: Add your application code here */  
        UF_PART_load_status_t error_status;  
  
        char part_name1[133]="G:\\ugex1\\jine.prt";  
  
        int unit=1;  
        tag_t part1;  
  
        UF_PART_open(part_name1,[$part1,&error_status)]  
  
        /* Terminate the API environment */  
        errorCode = UF_terminate();  
    }
  
    /* Print out any error messages */  
    //PrintErrorMessage( errorCode );  
  
        /* Terminate the API environment */
        errorCode = UF_terminate();
    
  
    /* Print out any error messages */
   &nbsprintErrorMessage( errorCode );
}
  
//----------------------------------------------------------------------------
//  Utilities
//----------------------------------------------------------------------------
  
// Unload Handler
//     This function specifies when to unload your application from Unigraphics.
//     If your application registers a callback (from a MenuScript item or a
//     User Defined Object for example), this function MUST return
//     "UF_UNLOAD_UG_TERMINATE".
extern "C" int ufusr_ask_unload( void )
{
    return( UF_UNLOAD_UG_TERMINATE );
}
  
/* PrintErrorMessage
**
**     Prints error messages to standard error and the Unigraphics status
**     line. */
static void PrintErrorMessage( int errorCode )
{
    if ( 0 != errorCode )
    {
        /* Retrieve the associated error message */
        char message[133];
        UF_get_fail_message( errorCode, message );
  
        /* Print out the message */
        UF_UI_set_status( message );
  
        // Construct a buffer to hold the text.
        ostrstream error_message;
  
        // Initialize the buffer with the required text.
        error_message << endl
                      << "Error:" << endl
                      << message
                      << endl << endl << ends;
  
      // Write the message to standard error
        cerr << error_message.str();
    }
}
  
这是程序的全部内容,运行后出现下列对话框:
10
发表于 2004-7-17 21:55:36 | 只看该作者
这个对话框写着:
please specify the  executable file
然后我点击了下面的按钮.有三个选项:分别是  browse,    active control test comtainer,--我选择了BROWSE,然后在UG11里选择了ugraf可执行文件.
结果是只打开了UG 的环境.
我的目的是不出现这个对话框直接打开UG文件;
不知毛病出在那里.另外我的项目的建立都是在默认状态下完成的.
让您费心了/
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-26 20:55 , Processed in 0.027228 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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