查看: 3967|回复: 1

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

  [复制链接]

2

主题

9

回帖

118

积分

培训VIP会员

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

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

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

×
本帖最后由 清江 于 2014-11-19 10:45 编辑
& l- x# i/ a9 a& }1 H% }/ z1 D
5 r( U1 N0 ?# C' I: T! l/ j: C* {; Y. ?8 S- d- [8 M
11月16日培训课程的作业,运行效果如下图:
8 O$ v( M( U+ `4 @9 L; t2 u. Y test001.jpg
% ?1 X. e! e, B" Q8 D2 O& z6 }2 Q8 u1 M
开发代码如下:
3 h+ a  }4 P3 [: `7 \2 Q0 z# L" g4 T' U# y
/* Include files */
% F  ^* W# S* S7 T, N#include <stdio.h># J1 v* H! Y; G/ J
#include <stdarg.h>
( t4 g1 f' Y0 f- \  ~# c$ r#include <uf.h>& C, J9 X5 k9 i
#include <uf_ui.h>
7 M# u0 W: j' B& p( X" b8 ^) E- B- R. D6 \9 @0 G4 \* v
static void ECHO(char *format, ...)1 y9 h# B* b& _5 \0 B& R! G- B% U
{5 T7 W! z2 f% ]5 ~/ I. ]! L
    char msg[UF_UI_MAX_STRING_LEN+1];
) ?, j5 q- [9 g$ P9 j0 v# d    va_list args;
! G; F+ @" B* M/ p5 y% J6 E3 z2 U    va_start(args, format);
0 ^" n1 _5 Z2 a% A: j7 N    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
! T2 n% u- h1 A' I! e* _% S  \    va_end(args);6 V. G) L* n% A; `. S9 Y9 P
    UF_UI_open_listing_window();
5 P# D7 Z- V  S) m    UF_UI_write_listing_window(msg);
1 c: W  u+ y/ ]9 a3 a3 V, p6 F    UF_print_syslog(msg, FALSE);
1 o8 ?& U& O  x4 T6 ]7 D: L0 l}2 X/ l; f- \7 o

5 y; p# _& s3 [5 P#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
, x. N! N/ ~  m, S7 d
, ]& M7 l6 v( N1 r' Kstatic int report_error( char *file, int line, char *call, int irc)* o8 o. F6 w. C2 [. d/ r
{0 N) \  S' a/ d. v6 z, k; {
    if (irc)
( k; l, _3 x5 J) C    {6 N6 d) O8 m' D+ X$ Q8 ]( V
        char err[133];9 m" D3 l. ~0 M. Q
; {3 j2 U; I7 k5 n
        UF_get_fail_message(irc, err);
" J9 C: \  r! u( o8 j        ECHO("*** ERROR code %d at line %d in %s:\n",3 S& X; O; ^% K
            irc, line, file);: G$ M4 \5 @% b( O' ^* K4 ?
        ECHO("+++ %s\n", err);  b+ _3 q4 z- d& s& [7 \0 O5 m
        ECHO("%s;\n", call);
& o: C5 R; {! c    }9 ~2 f+ J1 b# [* I* M# `6 M
. W: X. D, d, i4 J% F, m2 X& \
    return(irc);& K* X( n* A: t# @1 d# D
}
5 N; i  c4 K& w$ h, b; d: u& E" g6 _" o" k% Y5 D7 B

) ^; R8 k! s; _/*****************************************************************************0 c4 ^, C- D+ w+ n
**  Activation Methods0 Y  @* d& h* M: d' z: z% ?
*****************************************************************************/4 t% t' y. K5 o8 @
/*  New Part
2 D! s, p5 Y8 F3 Z5 h0 e**      This user exit is invoked after the following menu item is activated:
& c; E5 Q, A) D# g**      "File->New" */
+ A- x) t/ r0 R7 e& Z! h& _extern DllExport void ufcre( char *param, int *returnCode, int rlen )& D& i* H" @! _) o; L
{$ l/ T: G: N4 Y: z
    /* Initialize the API environment */3 [' |) c! v& R& i: V
    if( UF_CALL(UF_initialize()) )
' C/ P7 V6 m9 {4 ?: \# J1 s, t    {! g. |; I9 r( f+ Q  Q
        /* Failed to initialize */
. A2 `7 h( a" p& Z$ Z( a        return;
% R1 q6 @; \3 f5 J    }
0 n: a, B7 {! p: d" v  y
$ M6 D! C8 P, }% ]    /* TODO: Add your application code here */
# g% d5 b, l3 _3 w3 I3 u
# S) t$ G2 e" v3 J& J" p7 G        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);' F/ y. T/ M* {/ u

1 x! E% W" Z( t& \. q    /* Terminate the API environment */# t1 ^" y9 t! O' F9 t
    UF_CALL(UF_terminate());
* ~) F  D& \0 F}
0 w! H6 M# Q3 q1 |  L$ Y# o1 y! R; [, |5 j! V0 r. c- ^
/*****************************************************************************0 l( G2 R9 h! `; X. i
**  Utilities
' `" u8 U$ L5 @; X7 _*****************************************************************************/
6 d. p8 x: m- e
$ k' W9 F+ b; }& F  C/* Unload Handler2 D# T8 e8 `' C6 l
**     This function specifies when to unload your application from Unigraphics.1 x  w+ ~2 i# [$ v! W6 H
**     If your application registers a callback (from a MenuScript item or a
; q9 t- k* D$ O**     User Defined Object for example), this function MUST return
8 _- J* s) @5 f, s6 D& o$ ~**     "UF_UNLOAD_UG_TERMINATE". */1 ~7 @! a# d- O0 G0 M/ L' p! C
extern int ufusr_ask_unload( void )8 m1 H1 b6 b3 m. |& C9 Y
{
3 x4 Q+ t; ~) W    return( UF_UNLOAD_IMMEDIATELY );
6 [- I- ^+ u' R/ i}5 o$ P. h6 m- a& h8 V5 t1 J: a
8 t5 Z' I' V9 d3 b; m

- T* S9 r/ C" D  O
4 j9 F  ~- r5 i$ J1 y# @" I) E" G

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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