PLM之家PLMHome-工业软件践行者

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 7 Q+ _7 {# ?' A6 H- K" O
3 J. A5 }/ ^! |) }! @
! r3 f# g" y2 x3 w1 T) I
11月16日培训课程的作业,运行效果如下图:
: l. y9 d6 O$ b& {. d. _! I test001.jpg 2 }7 \: i/ ~% h. L) ^+ K
' L+ j2 x5 L4 q: Y; E
开发代码如下:4 A; j4 a/ S* g

  A. V9 R$ _6 a8 `" H/* Include files */1 @7 z! [' Q: j/ s  W" p  ]
#include <stdio.h>
4 d7 e: {) Y  J3 z3 b! v) Q1 B#include <stdarg.h>
/ B( M# u3 s% u6 u7 x- a" g. V#include <uf.h>1 \! }- ^) X2 m1 P, K. \2 C
#include <uf_ui.h>: ^! u6 ]7 J; X0 o+ [
- [$ ~- Y' l, e3 Z7 c
static void ECHO(char *format, ...). B0 |8 Y( e: u% {$ P: |! `+ j
{. _7 X  k- {& Z. o  {
    char msg[UF_UI_MAX_STRING_LEN+1];$ K# s% \6 p8 D6 l" ^  p8 ^( U
    va_list args;7 u' o( P$ D( W/ w2 W
    va_start(args, format);
, m4 p. E6 `8 X1 ]' o8 y    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);6 s5 H0 o) M  w7 {: ?' t
    va_end(args);
& e" |6 }3 Z% N4 Y+ G    UF_UI_open_listing_window();% j) o+ u* ]" }* M) Q$ |& w) X
    UF_UI_write_listing_window(msg);1 G+ w4 O! ^: y) a8 d
    UF_print_syslog(msg, FALSE);
) h6 |+ P8 `) J& C* `}
3 H1 f% K4 Y, r4 N+ Z* h- J
5 ?9 q, }8 `$ b+ _- T#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))& l( D! P! [' g. `9 D
3 ]  n- c% f2 i2 c! x4 r- |
static int report_error( char *file, int line, char *call, int irc)8 Q4 v4 }$ T8 O0 m* g
{- p. J7 }8 _1 L% T, z  {# G
    if (irc); y* R, n# g+ d6 }) U* ?# O# }
    {  y/ x5 p. c  z
        char err[133];) Y; ~. U% F, U+ P$ i7 n" g

* X# o* S4 U0 f: p6 Z        UF_get_fail_message(irc, err);
: S5 S! f! ^# s6 q. X        ECHO("*** ERROR code %d at line %d in %s:\n",
5 u& Y& |3 ~- s" X  [            irc, line, file);
2 f7 O' a* M4 _& c        ECHO("+++ %s\n", err);
9 K" L% w# H7 q7 x+ ]( W2 ~3 b        ECHO("%s;\n", call);
' _4 ^1 m2 p/ E2 M9 q/ n    }, Z' |. O# J4 m

: }' Y% b8 {/ ?    return(irc);
9 {, y5 O8 L6 v( c1 P}7 E4 m9 z! l4 E( M

7 _% ^4 A7 w2 F
/ x' `, i* i0 X9 I/*****************************************************************************% o2 C) e5 p2 C3 m. l* b" L6 W
**  Activation Methods7 A# X7 @, |( h5 A3 d
*****************************************************************************/$ n7 \  I) k& _# n7 g
/*  New Part: j% x- e' z- b: N3 B
**      This user exit is invoked after the following menu item is activated:: I/ S' k7 u* h/ D: P/ X
**      "File->New" */
# c: L' ~, l; d; x5 }- oextern DllExport void ufcre( char *param, int *returnCode, int rlen )7 M% j  p% M, ~2 {# D+ j+ C& m  X
{) T9 ]  t0 I4 z0 [2 B7 B5 C8 y
    /* Initialize the API environment */
3 \1 d# L" B; B5 \; q- h    if( UF_CALL(UF_initialize()) )
' A4 V* P# i; D0 t    {
9 I6 B8 ^# a8 R! F) A* u4 m        /* Failed to initialize */
( F- @1 S5 m. p1 r        return;
' U, g# u: o% v1 s5 m    }
1 O; M& }# {0 o6 e% B+ w& V3 M9 ]% d$ Q' V+ G
    /* TODO: Add your application code here */
, A: }) W( E7 H, ]5 a8 o8 T) c" j% y3 D$ ^
        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);0 ?7 e4 p9 a" b2 ?- f, E9 ?

# q1 B1 X3 m  v; S    /* Terminate the API environment */# ]% j1 r, z- C2 Z6 M
    UF_CALL(UF_terminate());2 A1 J5 }5 t0 T; s
}: J" ^( ^/ x1 P) V) p) V1 {1 M
' D4 ?% f" l* N& k
/*****************************************************************************2 r4 T0 g9 t4 o, w7 M
**  Utilities
/ R/ |2 O4 r" x. W. E*****************************************************************************/7 C, b$ J- g. T# I3 i( l& [5 y
! h" ?; x& l; M& j& M9 e
/* Unload Handler
' E  u2 o/ e, n/ C* x' L" M**     This function specifies when to unload your application from Unigraphics.
* \& l* Y6 G# O9 t**     If your application registers a callback (from a MenuScript item or a6 Y( r3 @7 K+ q5 F
**     User Defined Object for example), this function MUST return
' O. B4 z! c* @% k**     "UF_UNLOAD_UG_TERMINATE". */
4 V4 j3 l# i0 Jextern int ufusr_ask_unload( void )3 m+ |) o2 F7 ~1 u! Y3 B/ Q
{, O  C$ h4 b! ?/ n- d" k
    return( UF_UNLOAD_IMMEDIATELY );% k. U. Y0 V, J' z3 e
}& R9 e5 X5 H  q/ ]7 D

; i: o+ `. R# E) O
8 R+ n) f. g5 h/ \( C& H" l  j+ a, J1 O: Z. t0 {  b3 o# A

( ^+ ?3 w; H/ b2 j5 P  i

评分

参与人数 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二次开发专题模块培训报名开始啦

    我知道了