iCAx开思网

标题: 就添加了一个建方块的的函数,不知道为什么报错,怎么没人帮忙啊 [打印本页]

作者: yuanzijia08    时间: 2008-10-20 12:41
标题: 就添加了一个建方块的的函数,不知道为什么报错,怎么没人帮忙啊
我就添加了一个建方块的函数 不知道为什么报错,请高手们看下,谢谢。
b.h代码如下:
/*****************************************************************************
**
** b.h
**
** Description:
**    b header file.
**
*****************************************************************************/
static void PrintErrorMessage( int errorCode );
static void do_ugOPEN_api(void)



b.cpp代码如下:
//////////////////////////////////////////////////////////////////////////////
//
//  b.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 "b.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 */
         do_ugOPEN_api();
        /* Terminate the API environment */
        errorCode = UF_terminate();
    }
    /* Print out any error messages */
    PrintErrorMessage( 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();
    }
}
static void do_ugOPEN_api(void)
{
   UF_FEATURE_SIGN sign=UF_NULLSIGN;
   UF_FEATURE_SIGN sign1=UF_POSITIVE;
   double block_orig[3]={0.0,0.0,0.0};
   double block_orig1[3]={0.0,0.0,2.5};
   char *block_len[3]={"1","2","3"};
   char *block_len1[3]={"1","2","3"};
   tag_t blk_obj;
   tag_t blk1_obj;
   int i_ret;
   i_ret=UF_MODL_creat_block1(sign,block_orig,block_len,&blk_obj);
   i_ret=UF_UI_OPEN_listing_windows();
   if(i_ret==0)
   UF_UI_write_listing_windows("成功创建block\n");
   else
   {
   UF_UI_write_listing_windows("创建block失败\n");
   return;
   }
   i_ret=UF_MODL_creat_block1(sign1,block_orig1,block_len1,&blk1_obj);
   if(i_ret==0)
   UF_UI_write_listing_windows("成功创建block\n");
   else
   {
   UF_UI_write_listing_windows("创建block失败\n");
   return;
   }
}

[ 本帖最后由 yuanzijia08 于 2008-10-20 13:45 编辑 ]
作者: yuanzijia08    时间: 2008-10-20 12:44
咦   怎么多了个面部表情?????

我就添加了一个
static void do_ugOPEN_api(void)函数,

我初学二次开发  求救 十分感谢。
作者: liangalan    时间: 2008-10-20 21:24
ufsta  改成 ufusr 就好了,因为此时不可能 建立一个方块的
作者: MIRRO_LEE    时间: 2008-12-30 20:56
ufusr和ufsta的区别是什么啊?
我也才开始学习开发,看自己买的书上说,UG调用内部UF的方式有两种:
1、启动UG后,单击菜单:【文件】->【执行】->【NX打开】,从中选择需要执行的DLL文件——(程序入口点是ufusr)
2、从用户创建的菜单中调出用户指定的界面来运行——(程序入口点是ufsta)




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3