查看: 4056|回复: 1

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

  [复制链接]

2

主题

9

回帖

118

积分

培训VIP会员

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

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

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

×
本帖最后由 清江 于 2014-11-19 10:45 编辑 1 F' F3 p5 ?: T2 t9 R0 D% U- M4 G
7 r% ~/ O, Z( K# `5 H, y2 l) p
9 K( F$ U, n( a9 @( ?+ _( _1 g7 R
11月16日培训课程的作业,运行效果如下图:
# E& V+ G) c. t: N$ v6 ^2 _ test001.jpg
2 _9 Y, |0 o8 a9 a5 M; b8 P; E4 p. N* V6 `
开发代码如下:- k: a% q# V0 u% Q2 `

9 @, _+ w1 z7 A. f4 d/* Include files */
. O5 U. x3 N$ r* S. L#include <stdio.h>7 i! N5 D8 M2 T. j) _' F, h
#include <stdarg.h>
& Y5 c3 n) u2 g' F7 r#include <uf.h>7 J- ?& b. f# ^) W7 z
#include <uf_ui.h>
6 E" k; e( @8 A. L9 x/ D0 S. ]+ F3 c, v- v. T8 v/ n1 p4 R: I
static void ECHO(char *format, ...)' F) {! i; U  p4 x( x9 [  m" S
{, s0 E" C3 J( a; j) E2 R
    char msg[UF_UI_MAX_STRING_LEN+1];
8 n6 h5 k2 W# t3 ~9 S$ ?6 M    va_list args;, W* w  L5 M: X9 y7 _* g
    va_start(args, format);0 x7 r: X- E9 E( G, U' e
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);' y+ ]8 i, ?3 }* D: O4 Q/ r2 ^
    va_end(args);5 U( |3 W, v# a
    UF_UI_open_listing_window();
1 r  `2 @( l1 v  @- |1 n( [    UF_UI_write_listing_window(msg);  w6 R$ m' Z: _! n: R5 L  ^
    UF_print_syslog(msg, FALSE);
4 l8 z5 C0 E6 b7 T( D/ L( Z}
/ T8 ], F# @8 P1 y& R: Y
8 H. h- M# n: P2 f  A% }#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
* R: i) [% T, M4 U8 l/ f# Q  J9 K3 r+ T: \+ B1 O- V/ k
static int report_error( char *file, int line, char *call, int irc)
6 e. O  B6 o  o  L' R9 y& z{
/ C6 y2 S" u! D" O* D% p    if (irc)# ^: p5 ~9 Z, [7 q0 P& }. G
    {
0 v, H/ ^9 o5 X2 {9 w4 x5 m- Y1 I3 }        char err[133];
5 C- E  H" v1 q1 ?5 o5 P% k$ b+ H& I1 d
        UF_get_fail_message(irc, err);, z" R: F; j/ |1 H5 E6 t4 d* T9 I
        ECHO("*** ERROR code %d at line %d in %s:\n",
' Z% p# f- ]4 R8 U: d5 t6 y5 C( D            irc, line, file);
$ p8 C1 F& }. g0 k        ECHO("+++ %s\n", err);
8 f1 U; p3 C& b; p' y        ECHO("%s;\n", call);' A5 D/ f- o% ^0 k. J) P6 B! U! t* F
    }2 H. [- K6 l: M8 |5 a, i2 G

) r' [! W7 r) v    return(irc);- k7 e9 ~0 w% m0 |  [+ W
}
1 g! K' b& L; Y* ?
0 j3 P# ]* M3 H  _8 Y, a
" I6 B/ d) t6 d- J/*****************************************************************************
3 A& Q* C0 y5 m. T3 h$ w$ ]**  Activation Methods9 _- O- f2 E7 V$ E+ ?/ }, D; j3 B
*****************************************************************************/+ _& ^3 A2 e& A  V0 C8 W
/*  New Part7 _! r4 E! f, h  P1 y, H
**      This user exit is invoked after the following menu item is activated:
" E. K$ E- t% N- H! c, ?**      "File->New" */
% Q! ^( A8 H! H8 [, d! lextern DllExport void ufcre( char *param, int *returnCode, int rlen )5 t& L3 w5 i2 m' G
{" G+ j* C/ p; Z, C! O
    /* Initialize the API environment */
- r$ e! E- }' G& `7 M    if( UF_CALL(UF_initialize()) )
, S3 r2 J, C+ y$ w2 A/ ~; H    {
' j$ |6 F' Z* K3 n- [5 p        /* Failed to initialize */
: D. S, y" }1 }# ?! o2 n        return;  y5 F) S' g. z# D
    }
6 h2 Z0 ]- o* Y. w, m% C
+ w$ C3 L# O5 T/ V- r    /* TODO: Add your application code here */! p/ {; B, f3 K- I; b
; S* b" w5 m7 X" f2 t0 V
        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
% e+ s3 ^- y4 Z+ W
" \( V$ W- q! ^( O    /* Terminate the API environment */+ Z# ^& S3 P) [; z0 E
    UF_CALL(UF_terminate());9 R9 X6 f  W+ L+ e1 G3 P4 m6 ^8 W
}
) @7 J. R: x" h. z" c/ a- ?+ B/ g% X
/ K1 X! |6 b; X' B/*****************************************************************************7 w/ L& @1 h- A1 z8 M' y$ |3 P
**  Utilities
* ]3 \, D0 Q9 y; R% g*****************************************************************************/
1 ^3 D5 U% E- v  v; ~5 x
: M; c. p1 G0 v8 k) b9 w- m& j* z# {/* Unload Handler8 S1 @" d! D) q8 T
**     This function specifies when to unload your application from Unigraphics.% e( i. w' D7 b! B! [8 o9 T2 q
**     If your application registers a callback (from a MenuScript item or a
# H  a5 N/ c2 Y/ O/ G, A9 y  y: a**     User Defined Object for example), this function MUST return
% e- U, v# y! a% k% F; |) n  l5 w**     "UF_UNLOAD_UG_TERMINATE". */6 ?! D, {* \( f; G' J
extern int ufusr_ask_unload( void )- D' I1 T$ Z4 E& R( @' w2 t
{
0 I( e, o' }0 R% w    return( UF_UNLOAD_IMMEDIATELY );$ `# M( m% h- l& z
}
. j3 O: q' |2 V$ V2 n0 \# I1 C! B8 j6 R- ^: N, {, s4 G
+ n  c$ P7 M1 H( O

0 T, H- h1 c: X: _4 Y: R! R6 [4 _
6 X5 i+ x/ G$ J$ @3 B

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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