查看: 4217|回复: 1

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

 火 [复制链接]

2

主题

9

回帖

118

积分

培训VIP会员

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

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

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

×
本帖最后由 清江 于 2014-11-19 10:45 编辑
9 g3 a, \1 C% d9 N4 }+ Y
' y/ z9 `" \) }  [' N2 b
1 ]' x0 [9 H3 \( u11月16日培训课程的作业,运行效果如下图:0 i3 \- s3 R' j% A" Y( q6 C+ d  k
test001.jpg
3 s5 ^1 r! r* }4 @- Q% `: y9 C" `, k2 f3 H: t/ V
开发代码如下:. @" x9 H+ D' d" {5 A

9 I1 t- k3 p* P! M! O  m9 F/* Include files */
3 S% H3 Q6 s0 P( ^#include <stdio.h>
1 w1 n/ \/ t) J; e3 G8 R( U. a#include <stdarg.h>0 L/ Z! [4 I5 S/ {6 f8 z
#include <uf.h>
( Q; Q2 `' p$ T/ W#include <uf_ui.h>
) c: R8 j5 u2 j& C# X! ~0 Y; v5 u$ _. W
static void ECHO(char *format, ...)
. r8 Q* T; h, r8 E; J0 C{
+ J9 f  R! j* R4 j    char msg[UF_UI_MAX_STRING_LEN+1];
; U+ ?* b+ F  Z& p& P" ~    va_list args;
+ _2 X3 C2 C% t2 s: J7 H# U$ ?    va_start(args, format);
) z6 D, E! o. v) {6 N( a0 K    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);5 [/ Q& j1 a; M5 C1 J2 A! u  X5 ?+ ?
    va_end(args);
% h/ g+ |* F) x    UF_UI_open_listing_window();
, J3 s) j: \, A: I6 _/ k, Y    UF_UI_write_listing_window(msg);  r6 g# e! i& ^& w  m2 y
    UF_print_syslog(msg, FALSE);
4 @1 y5 t  e; m9 S}
5 X, T6 l0 Y4 D1 E, c
! \( R% S0 S: k2 i8 B$ w+ ?#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))/ k5 A( ~2 j" c0 K+ C
2 c& _, `' M+ Q; _3 Y$ @
static int report_error( char *file, int line, char *call, int irc)
; x& [" q, d4 p. D& L5 I{
, z! R. \2 e% F' h2 G4 V3 _( c    if (irc)% Q$ v9 G% F4 v& A& h; f
    {; \- g, K+ z1 a3 ]( ^& K. h/ ]
        char err[133];9 d5 u" b5 a% @: Y

5 }5 c' Y; z" H4 R' k5 r7 A        UF_get_fail_message(irc, err);
: r  I; z! ]* ^9 H; O        ECHO("*** ERROR code %d at line %d in %s:\n",0 _- z4 `* r7 O# A0 e
            irc, line, file);- r' y& A6 F3 u$ s3 m
        ECHO("+++ %s\n", err);/ X6 d6 q% p! e; H5 k5 Q+ H
        ECHO("%s;\n", call);- \! W/ k; }4 X) ?( _% ^* ^4 m
    }
0 o; M% T# o$ r( B  l; V& V
1 `4 B4 T6 o! s+ D* M9 C" L    return(irc);
% d' M, h& y# @. t' N}
2 E2 `; r  C! E9 Q& h5 N. W
' q! x! Q) E1 F: Q% x
; _% B  K, i- z/*****************************************************************************
+ H- }! k4 A) ~0 N/ k( u**  Activation Methods9 G; `' ^0 b1 [% F) O$ L7 O
*****************************************************************************/9 m* b( w8 Y& p) y
/*  New Part
8 V; _0 e& Q9 L; Z' x4 d3 m**      This user exit is invoked after the following menu item is activated:
- D. r! K6 c( E$ J% d* B**      "File->New" */3 v; g9 h2 B2 [- ]* W7 l
extern DllExport void ufcre( char *param, int *returnCode, int rlen )" `5 ?, [+ `1 K
{
9 ?2 P* D$ n4 l7 V, m    /* Initialize the API environment */' c2 V* c: B, P- w
    if( UF_CALL(UF_initialize()) )
; m5 p3 A, L+ h& O! r8 g    {
4 j5 t8 f6 H7 [        /* Failed to initialize */
& m: b/ t/ i8 W( _% m( ]        return;
' Z5 S. \0 W' s& @: y: D    }
) @: N1 W( l2 Y% W* H7 u/ i. ~  \- K' S& ?
    /* TODO: Add your application code here */
* H6 }5 l9 K, f5 u: D1 K  K/ B& R3 P1 A0 x/ V+ S! v0 y
        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
# i3 j& m( u" \/ A) i$ w) E- M+ ~( d; c1 A7 X; }  p4 V  S. j
    /* Terminate the API environment */
1 M- J2 j8 l1 k* E% _2 i    UF_CALL(UF_terminate());
* k) w; K" x+ S( y- S}
4 q- a$ Y( `8 ~4 x! F1 G8 z0 i  c. t0 f/ X/ m& q
/*****************************************************************************
# l! X& T; Q/ O9 a" d9 K2 F$ O**  Utilities) H, w- q& q! t% M3 B
*****************************************************************************/, f9 [; B. {; i% U
5 n4 V9 F% j  z  z" S9 t# \, u, G& ?
/* Unload Handler3 o( T. O5 h, D& K& ?
**     This function specifies when to unload your application from Unigraphics.% Y$ s7 h; r* W0 T5 X1 b9 j6 `# L
**     If your application registers a callback (from a MenuScript item or a( f7 l! F4 _' p: i
**     User Defined Object for example), this function MUST return3 \5 w  M4 k( @  A; d- [7 Z7 y
**     "UF_UNLOAD_UG_TERMINATE". */
" ]- v$ c+ M0 |& G/ ]2 E+ j- D5 xextern int ufusr_ask_unload( void )
7 j  X7 k2 C/ t! G{
! e8 N7 K8 D6 {8 a/ Y2 C5 u    return( UF_UNLOAD_IMMEDIATELY );" c  ^$ |( ]$ y+ x
}8 Q# x3 b4 P3 Z. i+ t, |" w
! C; t& s7 y. ?1 a+ T% ?' X' O# X

; K( ^) [1 z  @+ g3 g% x5 _) V( S& Z6 I' r$ l8 W

* b5 m0 c; B" S& t, A; }4 K

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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