查看: 4001|回复: 1

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

  [复制链接]

2

主题

9

回帖

118

积分

培训VIP会员

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

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

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

×
本帖最后由 清江 于 2014-11-19 10:45 编辑
! Y- m2 h8 v7 _$ m
% b; J- o$ `$ N- a) e5 t, ^
3 _+ V1 l, }$ j, I- e11月16日培训课程的作业,运行效果如下图:5 g% ~1 v! t  J! E& s4 I, U
test001.jpg
) S8 B0 c9 t3 O, [  |
4 J8 b1 g, |' e- j: i& P( u# o开发代码如下:
4 j( m7 N0 ~- i/ i: |* n
9 k& H, H; t" s/ Y/* Include files */
8 W& t# u6 W/ b0 g4 u- R& t#include <stdio.h>, v5 j  J7 |) X& M: R
#include <stdarg.h>
3 @; k8 v  e# P' ]#include <uf.h>0 ^$ q, q4 n, O4 P" A1 `! X6 G
#include <uf_ui.h># V+ @- f% n/ u/ C. R
: ?4 ^; U  B7 \& V: h+ ~0 `8 [
static void ECHO(char *format, ...)$ E- ]9 t* n$ f
{7 X- k1 y0 C/ D5 v
    char msg[UF_UI_MAX_STRING_LEN+1];
* y  t3 Z4 B" ]* s3 h( m    va_list args;, O  {) y# `9 n- H9 T0 }& [! s
    va_start(args, format);
7 m( c6 b3 Y0 B" \' n) B# z" m6 L    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
: F; {# I) B. K3 [0 O$ Y) M2 ~    va_end(args);+ ], r* d7 W( g" Q# t9 @& g
    UF_UI_open_listing_window();
" C0 {0 h+ Z7 E& p% L6 x    UF_UI_write_listing_window(msg);
: s8 r' m( N# S; J    UF_print_syslog(msg, FALSE);
6 p6 a5 l/ N8 g" b. k5 _9 T) \}# i  g$ F( x7 a: Q. r, ?

0 W# G; d0 Q; I/ l6 R# k3 S#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
- `9 c+ R6 L1 {( V3 M  D- S
) E5 s& l' t8 [8 G$ Fstatic int report_error( char *file, int line, char *call, int irc)
0 i! b  r" {! _: _1 X8 }$ l{
. a! i* h7 d9 V& z% }* P, ?    if (irc)# @  d' E1 T* y9 h' Q2 \. ^
    {: A! q1 H% r$ r3 r9 D
        char err[133];
& R( n1 F. ?& h* C# `, h% @7 u& B: S5 S1 i3 @( ~$ t
        UF_get_fail_message(irc, err);
0 v- w8 y' k! Q, L        ECHO("*** ERROR code %d at line %d in %s:\n",% n% M* t- t! ]! }) t' g; m
            irc, line, file);
1 Y" ]5 a" e* L5 a        ECHO("+++ %s\n", err);! I1 ]& |- {% K- }2 X! D8 R; [: h
        ECHO("%s;\n", call);
. Y6 a* C$ C/ K1 P# W    }$ y, a, P7 P( ^* |5 p# e4 Y- `0 {* a

% N9 f  v9 U! u( k& ?! m    return(irc);
4 S& W2 x7 {  N  S$ _6 }  Y}! l/ s1 G. K! {% n) R
0 W% q; F# Y. h, \& u
3 V' u- V* J  d9 T1 p
/*****************************************************************************
/ N& G) L1 v, `  E6 _3 i**  Activation Methods% j$ D. U* F2 f  l& J
*****************************************************************************/
' D4 M- r- _; ~/ e/*  New Part
! {5 E: U7 S3 f**      This user exit is invoked after the following menu item is activated:
& X$ ~1 q" c( S) h! }1 }  f- H* |**      "File->New" */; A' @2 O* S+ _# [2 L2 o4 w
extern DllExport void ufcre( char *param, int *returnCode, int rlen )' ?% H+ J. u4 i2 }) |2 a
{
- }! v! }- b  ^4 l6 Z7 C  a1 q    /* Initialize the API environment */
7 p  w7 ~4 M5 F* s; b# W    if( UF_CALL(UF_initialize()) )
$ C) S4 T9 \0 W8 o    {0 p' M! ]5 ^4 H0 U) I9 P  C0 Q
        /* Failed to initialize */
% t* b2 P+ ~  T  N        return;) T4 B- q  J3 m5 f
    }
2 @8 S( `) Y3 y0 T
- {- l% J6 X/ ]0 n    /* TODO: Add your application code here */
4 _# F% o: ?- V$ s+ l* V$ N7 }* C- K: `+ B
        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
1 \6 T, e4 }9 d6 P/ {/ g4 Z0 N& I7 x. T0 |( f! B, @$ ~
    /* Terminate the API environment */
# S- U9 |' r2 E4 m' v) M    UF_CALL(UF_terminate());
8 c: k: ]" V! q0 N6 \% J- l}
4 `0 i7 b' |0 [+ {5 i- A1 w' ~0 P, l" [, F
/*****************************************************************************6 h# E% x* e6 t: ~9 b* _! z
**  Utilities5 ]) W7 B9 I' e! q/ Q- B; \+ F
*****************************************************************************/& X* R( |* K8 x6 X( o4 n9 Z- `
; T$ p' s2 o5 K$ M2 S. s8 g
/* Unload Handler
( `2 P$ v: @8 T( c**     This function specifies when to unload your application from Unigraphics.
' q8 u6 a1 ?& H+ i* h' P**     If your application registers a callback (from a MenuScript item or a4 ~; V% I6 f2 U# A1 w; ?+ ^6 b
**     User Defined Object for example), this function MUST return
2 I: ~# K8 I" C**     "UF_UNLOAD_UG_TERMINATE". */
" [. V: i; T9 Q' yextern int ufusr_ask_unload( void )
& H& R. j- m6 |& A: M{% p$ Z3 V2 W+ A) t/ q4 z
    return( UF_UNLOAD_IMMEDIATELY );
& C3 d0 p+ E0 k/ ]: J7 W}9 W" G; c+ {, @- p; g* l

5 j3 @/ C' m& x3 J: Y9 T6 z7 @& L: d& V0 {
4 v) W- M3 `: w$ ~! f% r; j7 H! [. t9 M

2 k/ G6 o  E6 [. l9 V! W9 z. r

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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