查看: 4158|回复: 1

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

 火 [复制链接]

2

主题

9

回帖

118

积分

培训VIP会员

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

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

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

×
本帖最后由 清江 于 2014-11-19 10:45 编辑
/ U9 ~! `7 S1 H+ F4 l$ [  k# Z# w% l/ d" h# u
+ ~& T$ x* x! `: ^
11月16日培训课程的作业,运行效果如下图:
4 j# R8 z. W! X, ^* r test001.jpg
4 \; _2 Q' @: G) n
& K/ x3 v. K' h开发代码如下:- V& e5 Q) R7 ?8 t/ U, u
+ G* u9 d( h* U; D% K0 f
/* Include files */- W8 u1 U+ {, e9 \
#include <stdio.h>
2 u- a! L! M7 j) Q/ }% i) a#include <stdarg.h>3 D; _4 e% e* f9 |& D9 M7 E6 R
#include <uf.h>
7 @& D/ b2 V; N- H( L#include <uf_ui.h>- t7 E( G. |2 c% Z, e% w
/ b0 I! @! M  g" b
static void ECHO(char *format, ...)% ^0 l. ]3 z9 @0 _1 w
{$ z% A8 a4 S8 g7 G' z
    char msg[UF_UI_MAX_STRING_LEN+1];
" j8 n9 U) i1 W4 v, Q7 J& O    va_list args;
$ Y$ P' y* M5 _- l! I    va_start(args, format);3 p0 ~. n9 I; O, E/ h8 x0 w
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
" o7 i) _- M' o9 A+ t  \0 l$ v3 [    va_end(args);
, e- [) b! ?# [2 S2 h    UF_UI_open_listing_window();
$ x" e3 u# Q8 D- S$ w1 e    UF_UI_write_listing_window(msg);
4 E  H; t+ O  ^6 Q6 X    UF_print_syslog(msg, FALSE);
' L: U% D) A7 B1 [" X* ?6 m/ z}3 m5 b) |! Z- U. |

9 d5 s/ X; d4 h  p$ Z#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))" ?& w' Q' V8 k; K# a$ s* z

: P) B5 O/ E6 r$ estatic int report_error( char *file, int line, char *call, int irc)
3 W9 O9 r: ?7 V8 A$ h0 ?{' m9 G# d0 p' q
    if (irc)8 h+ ]: }+ j0 ?5 S/ ?1 f  n
    {
# T, X! \4 v' R, I        char err[133];
; T5 ]6 X' G7 X# O+ A, {& N' f/ {( Q% a5 j
        UF_get_fail_message(irc, err);3 i7 L% M# E. ]& o
        ECHO("*** ERROR code %d at line %d in %s:\n",
$ q" d' m9 X! c! F8 T9 \            irc, line, file);
) e, J3 j! M: u' L6 }. }        ECHO("+++ %s\n", err);5 n# ~' S& a  \- Q6 i& q0 C
        ECHO("%s;\n", call);& ]5 ]9 k& `1 ?# o/ @6 Q
    }
; a% l5 n4 G6 O# k4 L8 a
0 I8 n+ @0 i% i) o    return(irc);' T  r# a; N5 g2 N
}. M4 v5 w0 t) R' ^
# V+ r- R. @1 d( G" \

: {; y% g4 e- }- ~( H/*****************************************************************************" D, F. X8 B* }% ?+ M% v7 s
**  Activation Methods; @8 F$ h9 o4 O# V1 R" U" n
*****************************************************************************/
" P# i% ]& Y1 R( i/*  New Part1 w# w% p$ ~& s
**      This user exit is invoked after the following menu item is activated:
2 \3 J' D* \, B9 ]9 s**      "File->New" */+ B1 m' ^6 G8 s( M% z# ^6 P" h; T
extern DllExport void ufcre( char *param, int *returnCode, int rlen )( ?! G7 }5 L0 ?; I1 ~" b: l* ~
{7 G% u& x( }: M. Z+ s# u6 D# I
    /* Initialize the API environment */
* o8 w* B! [& c) Q) q    if( UF_CALL(UF_initialize()) )
8 V8 x4 s( J/ s5 K1 O    {
0 a9 Q; s* M6 z7 V        /* Failed to initialize */
: k9 L- i/ @5 ?" q  A  }' E        return;
" F% @, u- l2 c' W! E3 _9 O, e    }- {2 R2 }/ r2 L# u+ X" Y
1 _% C# ?% c" d* d, g4 \
    /* TODO: Add your application code here */6 s3 v, M0 U* x, P5 [

0 ~& z$ i( G$ j! ^, g" g        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
& f2 }7 b! l+ E& k1 K6 H8 y$ V' c8 e* D; F7 n/ P5 o* N  I2 a* H
    /* Terminate the API environment */
/ A4 z+ J0 n7 W. S' C    UF_CALL(UF_terminate());
% \, @& q- F7 F  |}
% C8 q1 g5 N( h/ F) m: J
. I: ]) `1 @! u. V9 c# I! u/*****************************************************************************
6 q0 F$ q. c" k. ^  Y. o' z5 z**  Utilities# l' p$ j3 {! o4 A' C' W) p
*****************************************************************************/1 }% c& l7 o2 M! x
# w: k" \" g2 {0 G( J( s: _
/* Unload Handler2 p! S3 d: z, q
**     This function specifies when to unload your application from Unigraphics.
6 P0 a- X( I  Y9 L: J$ F4 o**     If your application registers a callback (from a MenuScript item or a" O  t6 W/ g+ l0 S: m
**     User Defined Object for example), this function MUST return
2 ?% e  ^( j7 k5 {. x**     "UF_UNLOAD_UG_TERMINATE". */8 H0 ]: R6 u8 ^9 J! }8 C/ o  m
extern int ufusr_ask_unload( void )9 u+ t* q, w& I
{
0 z' l7 s+ Z+ q+ t2 [; d* n. n" n    return( UF_UNLOAD_IMMEDIATELY );
* W* _2 s$ f5 n" P! |}- {% z8 Z* G- k% b! l/ v
% [3 {9 c* j, s

6 A1 r) z5 `) E/ t( E( g' V, u& I- D" c5 C; S
  J! L# f) D6 m2 w1 L% B6 p

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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