PLM之家 UG NX11.0二次开发(ufun和NXOpen C++)网络培训火热报名

PLM之家-上海点团信息科技有限公司工业4.0数字化软件官方知识管理平台

查看: 2295|回复: 1

[服务器端ITK] 从NX二次开发转化层teamcenter ITK二次开发的模版分享

[复制链接]
  • TA的每日心情
    无聊
    5 天前
  • 签到天数: 103 天

    连续签到: 9 天

    [LV.6]常住居民II

    1920

    主题

    3194

    帖子

    5万

    积分

    管理员

    PLM之家mildcat

    Rank: 9Rank: 9Rank: 9

    积分
    57908
    发表于 2015-1-21 14:42:57 | 显示全部楼层 |阅读模式

    请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

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

    x
    NX二次开发中,默认的开发模版,使得开发NX非常方便,实际上主要是在Visual Studio 的环境下,加入了库的路径,以及一些预处理相关的设置。
    关于ITK开发中的模版,我制作了一个,大家可以在这里下载

    此处是给一个报告ITK函数执行错误的函数,方便使用,大家可以替换上面下载的模版template.c里面的代码,直接使用这个。当每次返回的status进行错误获取的时候,直接可以ITK_CALL去捕获错误。这点和我们在ufun中使用 UF_CALL类似!

    这种方法省去了大量的调用EMH_ask_errors(&n_errors, &severities, &statuses, &messages)的重复代码!!


    1. #include <TCcore/aom.h>
    2. #include <sa/user.h>
    3. #include <sa/person.h>
    4. #include <tc/emh.h>
    5. #include <tc/tc.h>
    6. #include <stdarg.h>

    7. static void ECHO(char *format, ...)
    8. {
    9.     char msg[1000];
    10.     va_list args;
    11.     va_start(args, format);
    12.     vsprintf(msg, format, args);
    13.     va_end(args);
    14.     printf(msg);
    15.     TC_write_syslog(msg);
    16. }

    17. #define  ITK_CALL(X) (report_error( __FILE__, __LINE__, #X, X, FALSE))

    18. static int report_error(char *file, int line, char *call, int status,
    19.     logical exit_on_error)
    20. {
    21.     if (status != ITK_ok)
    22.     {
    23.         int
    24.             n_errors = 0,
    25.             *severities = NULL,
    26.             *statuses = NULL;
    27.         char
    28.             **messages;

    29.         EMH_ask_errors(&n_errors, &severities, &statuses, &messages);
    30.         if (n_errors > 0)
    31.         {
    32.             ECHO("\n%s\n", messages[n_errors-1]);
    33.             EMH_clear_errors();
    34.         }
    35.         else
    36.         {
    37.             char *error_message_string;
    38.             EMH_get_error_string (NULLTAG, status, &error_message_string);
    39.             ECHO("\n%s\n", error_message_string);
    40.         }

    41.         ECHO("error %d at line %d in %s\n", status, line, file);
    42.         ECHO("%s\n", call);

    43.         if (exit_on_error)
    44.         {
    45.             ECHO("%s", "Exiting program!\n");
    46.             exit (status);
    47.         }
    48.     }

    49.     return status;
    50. }


    51. static void do_it(void)
    52. {
    53.    // write your code here
    54.    
    55. }

    56. int ITK_user_main(int argc, char* argv[])
    57. {
    58.      ITK_CALL(ITK_initialize_text_services(ITK_BATCH_TEXT_MODE));
    59.          ITK_CALL(ITK_auto_login());
    60.      ITK_CALL(ITK_set_journalling(TRUE));

    61.                 do_it();

    62.      ITK_CALL(ITK_exit_module(FALSE));

    63.     return ITK_ok;
    64. }
    复制代码


    上海点团信息科技有限公司,承接NX,CATIA,CREO等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施开发培训,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    5 天前
  • 签到天数: 103 天

    连续签到: 9 天

    [LV.6]常住居民II

    1920

    主题

    3194

    帖子

    5万

    积分

    管理员

    PLM之家mildcat

    Rank: 9Rank: 9Rank: 9

    积分
    57908
     楼主| 发表于 2015-1-21 14:46:15 | 显示全部楼层
    模版下载地址:

    http://www.plmhome.com/forum.php ... &extra=page%3D1
    上海点团信息科技有限公司,承接NX,CATIA,CREO等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施开发培训,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | QQ关联注册

    本版积分规则

    <

    QQ|小黑屋|手机版|Archiver|PLM之家-工业4.0数字化驱动之家 ( 沪ICP备13003373-3

    GMT+8, 2018-1-24 17:50 , Processed in 0.194700 second(s), 30 queries .

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