PLM之家PLMHome-工业软件践行者

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑
! g+ z% q- z: h% r3 G
* ~, n9 S7 C* |8 D
; u& X2 F6 \' c% B7 @! p/ {11月16日培训课程的作业,运行效果如下图:$ S; \7 r9 V- i, e. y
test001.jpg
0 a2 Q) n- e7 V7 ~' H+ [& W' e' I! ^% X% Z7 m- f. f9 P6 ]) X
开发代码如下:1 f; {" B3 H  i+ k: K4 }

7 o$ `$ \1 r# w5 A- B  r/* Include files */
: M$ }& U5 ]$ K8 S#include <stdio.h>/ V0 w8 }; X; [5 g5 U7 Y
#include <stdarg.h>' d5 h5 V8 d. _% K
#include <uf.h># `7 q4 e, m" Z0 o6 u; M3 x
#include <uf_ui.h>1 }9 o/ b$ W& l( @7 k; |
- b3 }: A9 a7 @7 Y
static void ECHO(char *format, ...)7 E+ P! o/ s& a2 I1 O
{
/ ^& O3 L" _* c4 I# m, i8 p    char msg[UF_UI_MAX_STRING_LEN+1];
/ I2 |* Q1 Z: H! G3 H* ]/ d( R    va_list args;5 a* t4 v5 y; m) M! W  U% v
    va_start(args, format);: v# J5 A( H& s# n
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);& @$ C) B* U1 g6 G  K
    va_end(args);
3 \" K5 x! K1 l6 e1 c    UF_UI_open_listing_window();
+ @3 `' V# u" \+ s9 k! g    UF_UI_write_listing_window(msg);
. \7 I% y, A' P  x7 i    UF_print_syslog(msg, FALSE);: x# D( C3 a. h( ^+ E- @
}; M$ f- l; {( U6 ?) @
: c/ z% ]  ]0 _; I/ L: o5 a3 \
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
% Y9 X7 p: `, R( @6 |8 D$ m6 t# d& h4 g/ O6 F1 @) f- K% r
static int report_error( char *file, int line, char *call, int irc)
: \# Q9 W1 t9 V2 n3 J$ v2 j+ B$ d( P{
# c1 {0 b3 _$ j8 r0 e    if (irc)9 Z/ I7 e. }6 G7 _& D7 Z" F
    {- ]% |) L1 }: d+ q4 Z" B. {. g* l8 M
        char err[133];
% N( \- K9 B+ Z' `% h' Z* u
& Q. ^* a: A6 q5 E; e        UF_get_fail_message(irc, err);
4 J8 S: ~- U# J* r- u; g% I        ECHO("*** ERROR code %d at line %d in %s:\n",* T# V& Y4 e4 ]9 u5 G
            irc, line, file);
7 e. w5 K" ^8 T: y        ECHO("+++ %s\n", err);
" K: v; n6 x1 Q' ]: R" o9 V) k        ECHO("%s;\n", call);
8 `* M0 V% _% S# g  W    }
* W( [1 _- G6 u/ L" Y  |7 p& }: T, }6 \; m& Q( i
    return(irc);
7 X2 f1 |7 F' p( F( v2 z) z' O}2 N& C$ ?  f; k, ^* b" r6 N

6 C! t: T, E7 f) K  B5 q8 n+ I; u2 L0 \4 d5 M% k% U
/*****************************************************************************4 a# y9 u  E; h4 M. F* h9 n% I
**  Activation Methods
" H$ ^1 b! H9 U2 M: f3 w4 x*****************************************************************************/
5 u5 e' ]+ k0 M/*  New Part
. }  k9 n6 s/ }* t" @# f$ @**      This user exit is invoked after the following menu item is activated:' w. G$ k0 x: V  E& Y, v7 F8 p. z
**      "File->New" */$ D% t: s4 K0 j9 B! {6 j
extern DllExport void ufcre( char *param, int *returnCode, int rlen )
% K2 O' w2 a2 x- H2 j{
" L, F8 g: s' o' k5 A& W    /* Initialize the API environment */
. P( D" l, U# h7 s6 y' P. b3 k5 x    if( UF_CALL(UF_initialize()) ) . k3 E1 D. b+ P- B
    {
: F2 [" h! b3 L        /* Failed to initialize */
6 Y" C2 x) G0 Y) s4 z0 f        return;
# A7 _6 \6 _$ a  V( y& J    }
4 }& s# T) b  H" h  `8 y
( ~9 w" P5 p* f- v8 s. s    /* TODO: Add your application code here */
; N& K5 [4 d# X5 c" @0 u' A/ Q# c2 V, L; |
        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);) J1 f3 h. P' T1 g3 ~% d

1 M& o: i  c/ P    /* Terminate the API environment */) p% E) s2 u' A# u
    UF_CALL(UF_terminate());
* x$ R. e* w8 n- x/ v}! ]2 L( G9 y0 D6 i9 h! y+ o

5 q: P' H* y& S* m* ~/*****************************************************************************: h* N/ _; Q+ d% r! T, c
**  Utilities
* P/ b0 A+ S( c, w, i*****************************************************************************/. `. f' V5 ^* z5 T. @
% z$ |' Y5 f% o. s8 b" n0 A
/* Unload Handler) k% M; h" D& I
**     This function specifies when to unload your application from Unigraphics.8 g: q. A5 y8 n$ s/ p8 n* l" \
**     If your application registers a callback (from a MenuScript item or a+ m1 Z& y" L1 d9 }& s( X
**     User Defined Object for example), this function MUST return
) y7 a: h6 A( V3 x; {  N4 u**     "UF_UNLOAD_UG_TERMINATE". */
  s4 H) P0 D( v# T6 B, B6 eextern int ufusr_ask_unload( void )
1 ?9 Y, j2 M/ ^% M& z{& D4 i  N( t! F, {4 m
    return( UF_UNLOAD_IMMEDIATELY );
3 `* y9 O, z$ D9 v}
: m' A- i8 z- `6 y, @
# ~. x5 f' R+ }2 {, k% E: [7 G/ N4 J3 T+ V: D/ G0 }$ `

6 X: z  s5 a/ w8 I9 y3 i6 {
4 A, R5 }, f2 O3 q% S* [) B0 b

评分

参与人数 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二次开发专题模块培训报名开始啦

    我知道了