查看: 4184|回复: 1

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

 火 [复制链接]

2

主题

9

回帖

118

积分

培训VIP会员

积分
118
发表于 2014-11-17 16:45:55 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 清江 于 2014-11-19 10:45 编辑
6 i+ L' A' B: q& }2 V; G" \
& @, S8 E8 `& t3 {! N/ l
6 ]7 `3 V' e* V- e0 w  n11月16日培训课程的作业,运行效果如下图:
: ^. L7 @. K' E! O; R+ s6 O1 k) c test001.jpg ) z1 P* H- |% z
' [) N7 e. r9 ?1 k; o2 @
开发代码如下:1 W: y- u  P) e6 H- k
2 q' |! p( V8 _; h4 @0 b+ r
/* Include files */
& `% a2 K9 q5 \/ B; ~4 ~#include <stdio.h>
* `. j' I1 p) R6 `#include <stdarg.h>" x) V& a; W; j$ Y8 l3 C) w
#include <uf.h>+ }$ ~+ b  C, ]( O1 Z' t# ~8 b
#include <uf_ui.h>
8 }2 a- Y% i! `4 ^
: \0 U4 F$ p' n$ ?+ wstatic void ECHO(char *format, ...)# h8 z' a7 c; v7 M, b) }
{. F+ E, g" f1 [1 G! Y& j6 ]
    char msg[UF_UI_MAX_STRING_LEN+1];% W, |1 \7 I' N1 q2 w/ s% d4 g0 i* Y! J
    va_list args;
) m7 F0 c0 X9 L6 H* q    va_start(args, format);
2 a+ o6 h) i( O  |9 w    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);, ^6 C, E# Y  ^6 i& r0 H1 ~) q$ o
    va_end(args);5 v! p* W% F0 p# h6 u
    UF_UI_open_listing_window();
( V% ]  b" e. ^8 N8 S: j7 Y: c    UF_UI_write_listing_window(msg);) m" l9 }/ V6 K4 u4 ?/ y
    UF_print_syslog(msg, FALSE);% O4 N  e# ?2 o+ {, @
}7 g- M3 W2 R  q( `( s$ X. c5 `
9 s2 V/ W) Z) {+ B) r
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
3 t' G5 E+ }1 m6 _( S1 p
3 J+ U4 K0 S- p$ g2 ]9 bstatic int report_error( char *file, int line, char *call, int irc); ?( w/ t1 y4 U) s( R6 i, b) R# j
{
+ u  o; n( L# G6 A    if (irc)
$ F9 @  p. G# ?* ~* F1 u' O8 ]3 u    {
# T4 S9 e, e5 h        char err[133];6 A2 u5 F1 \! Q  }% b: Q

5 [* |% _3 J# h# I& @# }* b        UF_get_fail_message(irc, err);' i- `- F% q0 U6 |( S
        ECHO("*** ERROR code %d at line %d in %s:\n",, H" K* y; r9 c/ t9 O
            irc, line, file);
+ u  y8 o. `7 Y/ W3 H) b        ECHO("+++ %s\n", err);, Z" O3 Z" k$ Z5 G: s; S
        ECHO("%s;\n", call);
9 Z8 w( \4 }5 Q4 q    }
, l* `. m5 x7 T* ~3 c! a1 T% j/ l( l& k! ~2 }9 S0 ^6 Y' U9 P4 d
    return(irc);$ `3 C# q' r. w3 |+ f
}9 X% h3 q9 I' d& _6 N, B

! Y6 O* D9 k7 i: A9 _! O  u" N. W/ Y0 N# r0 h, q! m6 C
/*****************************************************************************
; J4 z) ]. Y2 ^/ p) \**  Activation Methods
5 ~" ~( i8 ]# [7 C& P* B6 y*****************************************************************************// l& }9 Q+ h0 i: d8 t
/*  New Part+ g  H3 o3 t5 [: V# i* ]2 d$ l
**      This user exit is invoked after the following menu item is activated:
" m1 l! s$ a2 \9 t% K8 I0 c**      "File->New" */2 Z& p9 M& s; R& ~1 B' q) {
extern DllExport void ufcre( char *param, int *returnCode, int rlen )$ J. G0 d& S& D4 |% C6 S
{6 ~; I( B7 n. y* ]+ ?4 j! K9 k4 |
    /* Initialize the API environment */
# b; m3 k: d; b" B+ Q% _3 @    if( UF_CALL(UF_initialize()) )
: u/ D$ f4 i; n$ e6 g    {
5 @+ M! |. Z9 J& f6 _        /* Failed to initialize */- a: P  f+ W* F) X3 V
        return;
  N% ^- y% Z) i& ^( q- H9 ^    }& m+ K6 Z/ j) y- s4 t7 I' }

- t' ]4 P% l. Q  ?    /* TODO: Add your application code here */
( n$ O, A# d* E- [& X* l
3 g1 w- G. _( F" N        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);; X- T3 L! i- U6 s7 e

$ W) |# k, o( b) d* r# l; O' w    /* Terminate the API environment */
: W, d# N( ?4 {( Z! g    UF_CALL(UF_terminate());8 q3 J$ j/ f: k$ d
}
4 h7 r5 b* F& `& S6 G2 w" s9 B0 G$ j- Y9 x, F
/*****************************************************************************
. x9 i9 Y1 z8 J6 }. j**  Utilities- d+ v! i4 t8 P
*****************************************************************************/
( ^, [% f( g$ z' {1 z1 X
) F4 |! U5 s) B: ^* r/* Unload Handler; h9 a- f! R: V0 h$ o) _7 u' l
**     This function specifies when to unload your application from Unigraphics.1 [6 J: N$ a% q, r/ e4 u" q! ~
**     If your application registers a callback (from a MenuScript item or a
( }( Q4 c9 E1 Q, g; K$ r**     User Defined Object for example), this function MUST return# o" N+ z" h( D
**     "UF_UNLOAD_UG_TERMINATE". */% S4 g8 q( I4 X+ H1 F
extern int ufusr_ask_unload( void )
+ X. F. b# H$ \0 E{) }$ i7 @  b% K9 U5 ~9 i
    return( UF_UNLOAD_IMMEDIATELY );2 S4 X& G9 u! ]8 `' }6 O! e
}
: [8 J% V" {' ^8 f" k4 C$ J8 y+ j* X3 [! Z
& D% n. I) |0 `2 d9 R7 P8 C

5 y: G$ d2 _; z- T* ~2 Q" G% H$ ?) b  g" X/ b' c9 q- n

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部