查看: 4141|回复: 1

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

 火 [复制链接]

2

主题

9

回帖

118

积分

培训VIP会员

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

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

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

×
本帖最后由 清江 于 2014-11-19 10:45 编辑 5 _4 I5 v: V. p+ f5 t* p
! h$ ^6 j6 y$ Q1 `4 \
! a! L  K" H  f! [+ M/ `
11月16日培训课程的作业,运行效果如下图:
7 D1 t' r- d- p% M test001.jpg , K$ {+ c! x, x
/ ?/ e+ I* |2 _$ T! Z% H
开发代码如下:
! n- d! _$ o9 d) R$ |# t
+ l  G2 P7 i1 _0 J  M/* Include files */
' W9 h9 e) S* \8 v1 h# S5 O6 T#include <stdio.h>' [8 O) k" a1 @3 V* ]
#include <stdarg.h>
4 S; y0 a; Z$ d5 Y* e. g$ H3 O/ s#include <uf.h>. e# |' E; j, @, P
#include <uf_ui.h>
% ]' W. C" s& I1 H% ]: d: j! M
( O, g- s- m% K1 [$ L* Q' xstatic void ECHO(char *format, ...)6 c$ w! ?) P# G& H
{
( {/ h6 s1 G* \6 W( p4 ?    char msg[UF_UI_MAX_STRING_LEN+1];0 u4 r5 k3 \" _9 @( U
    va_list args;
) [2 J$ S7 p% [8 K  d8 M0 U- |/ W    va_start(args, format);5 H1 j' Z! Z3 T
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
- h3 s( g& P* _* R; d    va_end(args);
6 e" @& c1 O* F    UF_UI_open_listing_window();8 t, d' M3 ^+ {* f8 K$ p4 ]$ \
    UF_UI_write_listing_window(msg);1 w& [, i0 }+ Y: ~
    UF_print_syslog(msg, FALSE);
1 Z; E  X1 t7 L) i4 i}
1 B# B* `  ]+ R$ q5 E& N; p
3 K# l% F. }. g$ M* d) @! m#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))/ G1 N$ z# ?$ y7 s- l

  b, V- ?  J  S, B! K9 Fstatic int report_error( char *file, int line, char *call, int irc)
, ^% Q1 R4 W+ j* I- Q{( n4 h7 }/ U% u7 q- p. [
    if (irc)8 r  m2 e7 y2 W- b7 }, X* P
    {
* |2 f8 ~0 r# G: I4 K! T) J0 P        char err[133];
* H8 o9 J5 s1 O# ~
; a2 Y3 g0 i  H' y' s- A        UF_get_fail_message(irc, err);) h8 @( B+ g- U  l( `! H
        ECHO("*** ERROR code %d at line %d in %s:\n",* g# [& ~5 s' f% v7 W
            irc, line, file);5 S6 z  Y: e+ Q) l' h; T: N
        ECHO("+++ %s\n", err);4 B* f* P" x6 }! O# k: H* ]
        ECHO("%s;\n", call);
- M& f8 F% M+ M7 c+ h& A# E7 v    }9 t: z+ e9 f" x% m
) f$ u7 X/ v& T5 b
    return(irc);  e/ s' _& R$ q
}: y; A8 d! u+ }/ c8 }

/ Z* i. w- k8 O1 l; e2 C
( y; x% H: A$ Z% r3 `% K/*****************************************************************************' O  k; t% |  ]- G- O9 x3 R
**  Activation Methods
% j; k- e  d' g*****************************************************************************// p. G+ @& ?4 O% e' P
/*  New Part
# a: T+ \; E, U6 C, [: o* Y* v8 Y1 @**      This user exit is invoked after the following menu item is activated:9 |6 D3 \$ G! I/ [! J1 N
**      "File->New" */
! G. {: N$ X5 V% Y' f+ bextern DllExport void ufcre( char *param, int *returnCode, int rlen ). }; b8 p+ {1 k5 N% F
{9 c9 c/ s9 [% K% g# w3 _* ]* V1 O& Y
    /* Initialize the API environment */
2 |; q% {# x* [! {6 }( ]" S3 {. T    if( UF_CALL(UF_initialize()) ) % F/ I' P* L& a1 T3 c# h
    {
- y) S6 N+ i0 I9 p# ?* f        /* Failed to initialize */) F7 W: |: N' _
        return;
* [/ Q- h0 ^6 p0 i: M  E    }
# k" |6 J) D2 c$ o  [. @$ b9 r8 E6 a5 I8 L4 z3 \
    /* TODO: Add your application code here */6 l. C: }# S1 \1 E& e+ _

: y$ B8 s5 e4 s8 b, w4 z  D8 k% a! c' ~        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
* N; _' E# m  q$ t) c% {' F
: S0 l+ I1 ]$ J8 l1 H    /* Terminate the API environment */2 i" `" E) ^  j) i7 Y* ?
    UF_CALL(UF_terminate());
2 c$ q3 J8 z2 w4 U}( g/ M" L: f9 L; R5 F- Q
& |. r: D3 K9 I* s9 p. C7 _
/*****************************************************************************
0 Q+ P) r. [" I8 q; _, l! C) e**  Utilities0 o; V( O/ F7 p
*****************************************************************************/# Z, T6 M! i4 Z8 ~# N/ b8 S

+ ?9 L7 R; ^3 |+ e! j6 Y0 @/* Unload Handler
, Y9 Q0 |6 P  j0 P**     This function specifies when to unload your application from Unigraphics.' ?7 O. w# t+ A* H
**     If your application registers a callback (from a MenuScript item or a
( Y; \* p1 D% }6 a& x/ O**     User Defined Object for example), this function MUST return# W  l" q  t9 E& W" g  a5 q6 ]; D
**     "UF_UNLOAD_UG_TERMINATE". */
; F$ h! }" S  P" L% Q& vextern int ufusr_ask_unload( void )/ H, D; q" j, `8 m- T
{
$ s0 L3 D; p/ [    return( UF_UNLOAD_IMMEDIATELY );
; R/ W4 A+ a/ o& K3 j$ W}. e, }5 C5 E# I
: t( ^8 h4 L3 X

9 \4 n" D, _" x' U' W& S% n5 x
7 X3 ]2 F! S1 u, M9 C+ W9 ]/ r6 A3 K( S# l

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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