PLM之家PLMHome-国产软件践行者

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

  [复制链接]

2021-8-23 16:29:12 3757 1

清江 发表于 2014-11-17 16:45:55 |阅读模式

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑
" w4 L, T* q4 f: E
9 |; N: N0 K5 `; v/ M  i6 h
5 Z  w) q) W6 M3 \) o11月16日培训课程的作业,运行效果如下图:1 n5 b, N; p5 T
test001.jpg
8 g" \: c: l) u: X$ M$ Q# H* }4 F* J6 g  m7 M
开发代码如下:; V/ m- v0 M! j+ Z& H  T
4 i( E( e' Z: S' x5 O+ z
/* Include files */& `0 j# o) y! F  K" ~6 T
#include <stdio.h>
1 i( Z- D  N" }7 ^#include <stdarg.h>* U9 s& o$ L- {3 [& G
#include <uf.h>
. v4 T% n/ h% b& L+ r% g. ^% n#include <uf_ui.h>2 D( N& k1 Z. a! B) E0 i

* N4 R2 c% c) D0 Sstatic void ECHO(char *format, ...)
$ ~9 w/ ]# m8 M. Q- R{
& p/ V6 M* O7 K1 o& U& l) \    char msg[UF_UI_MAX_STRING_LEN+1];
: ^8 O+ r9 Z, Y5 j8 J# u    va_list args;
8 t* y8 p- {# Y7 L5 h  h    va_start(args, format);
' L! c) \& W5 `: A. J    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);2 k! G- s: U/ u' ]3 p: E, |
    va_end(args);$ h9 M1 E; Q0 F6 K9 M
    UF_UI_open_listing_window();
$ _* B7 K5 Y8 k! M" `8 Z) N8 i    UF_UI_write_listing_window(msg);
) j& J0 x8 T+ `5 X0 q  ~    UF_print_syslog(msg, FALSE);4 h; J& Q* }0 t% y" D( n
}
3 C" j: N+ y& a% J9 o" w( B1 h7 N
) P, l  c! \, b#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))  N+ D8 Z& K9 I
- k3 c: j7 Q: q" q
static int report_error( char *file, int line, char *call, int irc)  D7 z7 r" l$ i
{: t5 e: F/ f6 ?* m
    if (irc)
4 _, c$ N5 O! D# y+ _3 n    {
' m8 l* O, n9 g        char err[133];
- f6 }& w5 q: ~6 w3 M. q
) G) j6 M# ~5 w: a" }        UF_get_fail_message(irc, err);( \' B! G2 e& [6 E- {7 ]
        ECHO("*** ERROR code %d at line %d in %s:\n",( G& _4 k4 j1 o+ H9 s
            irc, line, file);3 M% H8 ~4 S' y$ o
        ECHO("+++ %s\n", err);" A! F; U6 ^2 m2 z& m' ?) m4 ?9 l
        ECHO("%s;\n", call);& \8 m/ i: O5 n: X+ i2 v! f) e
    }, @3 V) t3 g+ i" w
7 e- k& u' J6 Y& ^2 q$ ?% c
    return(irc);
6 z- u8 r% I* @. S6 ~  G}
# J  H% e' H% t# ^. y
9 ]9 A$ C% A4 r6 R2 p; ?& V% J$ G, ~3 d/ ^* _
/*****************************************************************************
! D. P1 W1 @/ m/ p**  Activation Methods: ?4 F# z" V8 P% u
*****************************************************************************/
/ @0 {- ?. {0 M: o) L, K+ W9 N/*  New Part& Q# A) g" i) K. I3 D" R
**      This user exit is invoked after the following menu item is activated:
, g7 M/ Y" f. m**      "File->New" */; i' A1 X6 e) C
extern DllExport void ufcre( char *param, int *returnCode, int rlen )7 N0 u) P  Q/ S  `- v) G  i; q( l, m
{
0 E$ `  t7 v/ _5 H    /* Initialize the API environment */7 X" F6 D! q" ~3 F% K
    if( UF_CALL(UF_initialize()) )
/ ]! s5 `; s* h  ~. [    {% D- _& Y" E1 P' K
        /* Failed to initialize */" K  r/ ^# m" z; q" g1 w8 A
        return;/ m1 y. c$ Q3 Y2 p; L( q) D
    }. W; ?6 v. d' j& n; ~- E
3 _9 A+ k& m( e2 g5 \' [6 r& e6 r, }
    /* TODO: Add your application code here */( d0 E, n( o0 c. s

8 p2 R6 W# ~9 D' a0 |: @0 I1 j        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
8 Q0 B3 H' @8 X: e" T
1 A/ Y! @4 h" j/ \0 h6 @$ l. w: B    /* Terminate the API environment */
* g5 x, l9 i0 c! |2 M+ n$ _    UF_CALL(UF_terminate());1 `7 }- s! Y, w# O. S6 }; P! A
}
" }( J4 g3 K! M& N! w4 o7 t( h( q: _( _
/*****************************************************************************2 M: e6 L* {5 X6 V* w. Z
**  Utilities) C$ T) o) i4 r- \2 C& D& n
*****************************************************************************/
  Y& ?0 A) G) @& j5 S5 P, @, R$ Y% B
/* Unload Handler
9 _( j# ~# o. G9 c**     This function specifies when to unload your application from Unigraphics.$ A& F8 X+ R" p9 C' X
**     If your application registers a callback (from a MenuScript item or a8 `4 J# N! h8 m6 O: a
**     User Defined Object for example), this function MUST return% \, e# J) L9 ?! S1 N  j$ _2 m" B
**     "UF_UNLOAD_UG_TERMINATE". */
# K% H& Q2 t' t7 M% }; ]2 n$ U. f. f* Vextern int ufusr_ask_unload( void )
+ d# g( r5 c' z8 S7 |1 x3 x{/ C/ K2 K5 Q8 C# ]- _8 f$ s: M* `
    return( UF_UNLOAD_IMMEDIATELY );: G  u& m( [* ^
}; W2 i5 p. \6 f3 l7 c+ i/ a
) |0 E  r* Z* o' _! u% T9 o

/ }* o; _. z& K, ^  H# I$ J
* `& M3 e  H2 r( O* T8 ]% w6 c0 @0 f% P) q$ t8 ?; m( E+ e  X

评分

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

查看全部评分

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

使用道具 举报

全部回复1

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了