PLM之家PLMHome-国产软件践行者

[交作业] NX9二次开发培训作业001_使用ufcre入口函数

  [复制链接]

2021-8-23 16:29:12 3750 1

清江 发表于 2014-11-17 16:45:55 |阅读模式

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑
) `& J1 m% Y. k; v2 G5 N
4 ?9 }% b0 k) E* \/ t3 r0 C% X- i7 y, I) r" [( y$ d/ ?( D
11月16日培训课程的作业,运行效果如下图:1 P8 W& y$ ^$ Q" U
test001.jpg
# a- U. C% A7 y$ k3 T7 R/ H& G0 h$ J- _, x
开发代码如下:6 e- F8 ]& K2 A/ k6 [% |
! E8 y% a" v9 R1 w/ R6 S+ p
/* Include files */# \6 P  V# R9 V
#include <stdio.h>
. @) D  `6 Z% X8 j! t#include <stdarg.h>: D) e) E% N2 ]  l3 g5 Z
#include <uf.h>
% X; \! J9 T8 u/ ?8 M0 d$ u#include <uf_ui.h>
& Y6 Z: y  t& n3 O7 E- y6 o* b
1 Y6 A- v. @: ~' Jstatic void ECHO(char *format, ...)
( }) |* C! O0 w# M* Q9 m{
" I) Q# m; X: v. |5 q- d    char msg[UF_UI_MAX_STRING_LEN+1];; U2 I5 w) K6 V, Z8 Z& s1 A
    va_list args;" m! M+ U# N/ O5 o, |
    va_start(args, format);8 w# O, }- b" w0 N4 {
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);# E5 R' w8 J7 o3 I- i( f
    va_end(args);. A1 x, P: P8 H% `
    UF_UI_open_listing_window();
0 P* @( _* z0 k9 o8 q    UF_UI_write_listing_window(msg);
- a* T! Z! p0 V& P    UF_print_syslog(msg, FALSE);% c) h3 Y8 R8 b/ Q; w7 m
}
+ R3 [# _5 L* s6 ]& V7 d4 j% A. r' q6 e. O! A& [
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
6 x1 g$ w3 t* b- }4 B- l$ S4 K! k) C. s" x% O. j
static int report_error( char *file, int line, char *call, int irc)
, O& V! E5 D+ g& Z" A" ~" {+ ?{7 \$ m, ?: u; P, e/ ^+ A& d
    if (irc)' o' z3 d- K0 e1 F- t
    {
' m$ |2 O6 }5 ~, K        char err[133];
) J# N5 {2 v- E
, {5 a( z* U2 ]0 v        UF_get_fail_message(irc, err);
  ]# K5 B1 r$ n# v' U        ECHO("*** ERROR code %d at line %d in %s:\n"," r' O$ j5 g/ e( w
            irc, line, file);9 i" Y$ b/ V- W. W
        ECHO("+++ %s\n", err);
5 s" w% k" }3 c        ECHO("%s;\n", call);8 G7 S7 r) `3 A: i
    }  @' |- J, p1 C! q# a/ a
8 b9 K8 p0 a" Y  _) q
    return(irc);
* E3 p5 d8 d2 t/ ?1 F5 ?/ I! A}
9 X4 U  `4 a' T  p
$ T# O# @* w3 w! z7 `( O# F/ i; b2 z0 I' N
/*****************************************************************************8 D9 }' e, y5 s$ H
**  Activation Methods  j) h' N+ b6 ^% |! e# e
*****************************************************************************/
" s1 F  N2 R, L' D- R) \) J/*  New Part
8 W4 \2 q. g* @! E8 j4 H**      This user exit is invoked after the following menu item is activated:
) l7 j/ p" q/ T% l9 P**      "File->New" */
+ I. W: Y) V+ z1 ~9 }extern DllExport void ufcre( char *param, int *returnCode, int rlen )2 s0 ~+ l2 {& M; e
{5 Q$ o$ Z) t$ T" A+ r) t2 M" `) a3 V
    /* Initialize the API environment */
: D; y" h6 y/ k6 M! m    if( UF_CALL(UF_initialize()) ) 9 k2 @  u3 v( S  Y* W4 U. a
    {" z) O7 Y: S3 {2 a" y8 h9 [6 x
        /* Failed to initialize */
( f: J- W, ]5 Y, b  t0 c4 o        return;: r- f4 N( z7 v+ w. A! W' Q
    }8 M; Z7 E1 M' s, Y% O( ]% A1 Y

% G+ {, ^# h# t! C) G/ Y    /* TODO: Add your application code here */
& T. h% z& J+ ]
7 j; i9 y8 P( \$ C        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
, I$ E$ o! _; T+ s7 W* l
0 a: f6 G5 P) o( j+ S( i    /* Terminate the API environment */+ q# y% @% D8 F7 M! u7 z( T/ s
    UF_CALL(UF_terminate());+ `* r/ V+ M8 t" r8 r
}
) ^! K* ~" k5 X& ]
, P, d+ s  [1 G6 O- e. e/*****************************************************************************
" a8 [, B; r6 H4 n" T**  Utilities& X  {% w2 H: p3 l. }% A, `+ D9 p
*****************************************************************************/, n! E; X+ V3 _
) X5 V! v; C: [4 k: U2 z
/* Unload Handler* M, Z1 Z/ ]/ H- a
**     This function specifies when to unload your application from Unigraphics.
! k3 ^1 O7 m0 b8 X4 g8 v7 Z" ]' o**     If your application registers a callback (from a MenuScript item or a
- R9 D* Q0 f; H  t+ ]5 O**     User Defined Object for example), this function MUST return
- ?: J. z$ q. e7 R3 K**     "UF_UNLOAD_UG_TERMINATE". */7 D  B, W1 G3 l& p: V' ]
extern int ufusr_ask_unload( void )
  l  t. R% C7 R# ^{) z* X; L% \$ ?
    return( UF_UNLOAD_IMMEDIATELY );) K/ t) ~' }: J" P5 R9 H, W7 p' n% P( I
}
" B+ v! a6 I0 J1 d4 [6 d
- T' m6 T  F. e, z  @# E$ k5 |5 g' N* j; ^

; v1 G, o3 H3 L; [# ]# N2 m$ r1 a: d$ s8 P4 Z

评分

参与人数 1PLM币 +5 收起 理由
admin + 5 很给力!

查看全部评分

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

使用道具 举报

全部回复1

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了