查看: 3993|回复: 1

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

  [复制链接]

2

主题

9

回帖

118

积分

培训VIP会员

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

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

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

×
本帖最后由 清江 于 2014-11-19 10:45 编辑 # Q+ w0 {; a  Y: n9 Z* ?- O
; v& [  {. A! i  f, o

1 ?" o5 ~3 V, B6 O7 _11月16日培训课程的作业,运行效果如下图:8 v- z, {% K' F+ v
test001.jpg ( \9 D' d) ]' }) z/ h

9 M; r& D( J% f% `开发代码如下:
8 f2 x/ m% d, R4 G2 E" L7 x5 a' g! H& @$ f7 X( K5 j" J3 x% e
/* Include files */! f( j$ x4 v# `% A; {' q7 l+ t
#include <stdio.h>/ v5 u$ t7 \# e( e7 A$ V' q
#include <stdarg.h>
; O& l" K7 ]  u1 k#include <uf.h>
7 k9 @( u' K+ ?#include <uf_ui.h>
/ D8 v' r' ^/ S8 V
# D& |0 _/ V8 o2 ustatic void ECHO(char *format, ...)
, ]8 r$ b, R; E9 s{# f7 F- e% m: R( n/ e5 x
    char msg[UF_UI_MAX_STRING_LEN+1];
8 s$ v3 L! \. r6 ~    va_list args;
! |/ C1 x' n$ ]1 L    va_start(args, format);
0 q' y0 k. f5 b- z    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
6 O- F4 z- M2 f+ H3 u: g" i, U    va_end(args);
  {9 E5 T4 h4 q2 t! v2 ?* Y: [$ K    UF_UI_open_listing_window();
+ X, m0 X' N) Z1 C* |    UF_UI_write_listing_window(msg);
9 V3 w; f/ M, d% l1 o    UF_print_syslog(msg, FALSE);5 R& X- a: J# l
}# I2 d; V. Y4 I6 V; Z/ k" R) }
" N$ H* X" G9 M2 y
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
7 R2 A* t# N# @0 c/ B  C, W
* `8 d- D( A- M/ t% Rstatic int report_error( char *file, int line, char *call, int irc)0 h+ P) r' n$ f: r+ Q. W
{
6 m" Z$ |, D* ]" p" r5 d- D    if (irc)7 t6 h- B3 G1 `$ l0 X  P' H
    {
. P! R: j" t' W: I$ a, [' ?        char err[133];
6 l3 ?- b) t# Q# {
5 f1 C" t  f$ R1 z7 t, M        UF_get_fail_message(irc, err);2 u1 o+ {0 p* T3 ]* X8 `4 `. y1 u3 e
        ECHO("*** ERROR code %d at line %d in %s:\n",
( P, \' J1 n' n/ ?- T! B) g5 c            irc, line, file);* F3 n) r+ J4 H- c+ Z6 u, Y9 y
        ECHO("+++ %s\n", err);  ~, w' D6 n" E( i
        ECHO("%s;\n", call);
; |7 I/ u9 U0 I+ Q    }
4 n# J) a4 _3 j8 O8 H; `
( S7 y: x6 ?' p) t) W1 e    return(irc);
" t: F0 S, n3 z0 Z6 x4 _}) o4 u( d  t1 b7 N# j7 f: R4 p

6 {3 `) X; l# ?* A+ X8 |. S- }) n
: Z1 ^) k) J# z! c# V( ]- n/*****************************************************************************
' V# ~* M9 Y3 i! t**  Activation Methods9 F9 k6 Q2 X. u
*****************************************************************************/6 Q+ x6 ~3 l9 G: C. T4 p6 s4 S1 S
/*  New Part
' n4 `* t, ~; `; z& H- N: x$ ^3 I**      This user exit is invoked after the following menu item is activated:
  }- X; c2 n5 L: k6 A**      "File->New" */  l  O8 L! V$ H# j, P& d9 B
extern DllExport void ufcre( char *param, int *returnCode, int rlen )4 d. c; s& h9 i+ v) V
{
7 m! K! i) D9 S& }    /* Initialize the API environment */
) H/ B. O% x, w+ Q$ h3 Z* `4 {    if( UF_CALL(UF_initialize()) )
1 B. k/ \1 m. d6 ?: F    {! W" o/ o: q9 G! s. O2 q. i
        /* Failed to initialize */
/ Y9 g$ {; g6 P* M        return;
. c7 E0 ~' J% t' U7 e* a; L: B    }" q4 l8 N7 K) j. U: a# ]$ {  }
: W* R6 c. M& J' X/ B* N
    /* TODO: Add your application code here */' g) Y& r* o5 J+ N

. k7 @1 D, o& F/ u        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
/ |2 i" {: z! q5 b# S- Y3 }
5 ~* n% J  s3 H* {$ [* [0 T    /* Terminate the API environment */, ]2 n9 `' {8 c5 O) k
    UF_CALL(UF_terminate());
4 _. C( \- ?. p3 {3 J2 W}
" R7 s- l9 u$ r0 z2 O
! C7 p7 e; r8 P( b( \7 v" Y  t/*****************************************************************************0 R* G% a8 {: b! D: b
**  Utilities
' P9 f  ^9 d7 F*****************************************************************************/
8 e5 U: _2 |4 D2 O; O/ b: q
1 n, Q% C3 p1 ~2 O# ?& L5 a0 t& Z& w/* Unload Handler, g, Y8 t8 C: t2 V9 }
**     This function specifies when to unload your application from Unigraphics.3 P! {6 d& L/ h9 q+ w  ^7 f9 A) S
**     If your application registers a callback (from a MenuScript item or a( ^) i+ D- X, [& x
**     User Defined Object for example), this function MUST return
$ {' r1 H, U7 I**     "UF_UNLOAD_UG_TERMINATE". */" ~4 [' K1 i5 j9 k" Z/ n' _
extern int ufusr_ask_unload( void )
4 |  {1 a1 {/ r# {1 N0 w{
! c. s3 j  o4 u  M) B* o    return( UF_UNLOAD_IMMEDIATELY );; {6 i$ Q8 S0 a2 c* B
}- {1 [% `* C) j

. {7 S( I/ d. G. P; @: x
% g1 w# A; J% X( w1 j; W* o5 r) g1 |* k. a# b  L& |

, J4 ^9 M* ^" v! N5 M

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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