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

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑
4 d6 k9 W" d* S3 T  E5 x+ m6 V, l
* a4 P* w1 p) b( z0 E9 J  ~: ?! j' C, ^) z
11月16日培训课程的作业,运行效果如下图:
; `9 @) C- h) J. z  H test001.jpg # E3 Z# R# p# y

6 @  W2 a6 u/ B5 h. C- r. P2 b7 l开发代码如下:
& L5 ~5 [( X9 ?: f3 [
9 v; z& D% Z# L4 Q/* Include files */
- @" C5 d- ?9 }$ y5 J% l% M#include <stdio.h>2 M6 K: p' q  G/ F' x. j
#include <stdarg.h>" W) S& F4 h' \4 E8 g' l9 V
#include <uf.h>  m; `9 q, w  W( G0 v
#include <uf_ui.h>
; M( R. N' D& h4 w  x! u+ s7 Q  ]$ R- v  s3 k; f, |6 E
static void ECHO(char *format, ...)1 B1 ~& [% W# Q  M! a5 D
{; U1 \- @- B: S+ ?! R3 |8 f
    char msg[UF_UI_MAX_STRING_LEN+1];* ~. ]- L* ]/ G+ ^( F
    va_list args;5 I' N9 l3 \* Y! s
    va_start(args, format);
/ R4 f( |( n& K    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);2 E2 _1 p( \- U; Z3 i+ d  |
    va_end(args);
6 |3 ^: z$ B# J* `4 b    UF_UI_open_listing_window();- w8 O! L4 M2 S9 o
    UF_UI_write_listing_window(msg);* l/ b  S- M, R: }% U- _
    UF_print_syslog(msg, FALSE);/ x4 \* k6 R$ K; A
}8 h8 o: r( d# K. f1 ]' O# U( ?' v
" I6 C9 V2 G5 j& s4 ]  `& ]
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
# O. f" l; n: h! h- v4 |8 v; o
# O$ t2 V6 m% o" G& ostatic int report_error( char *file, int line, char *call, int irc)" q2 |0 \( P3 X" a$ ?8 Y. \
{
2 O/ \& Q1 Q( z6 c5 {0 @6 }9 g+ d    if (irc)& X$ @5 {0 G5 ]8 u" i, E
    {& h% o" N! ^( Q
        char err[133];
# b, l+ t7 |5 F4 M
1 T- f0 t. n; E! v        UF_get_fail_message(irc, err);( k0 n$ L: e! V
        ECHO("*** ERROR code %d at line %d in %s:\n",3 e  S" q+ m# q4 P) y+ S, U
            irc, line, file);
5 r  W# c2 V$ j$ `        ECHO("+++ %s\n", err);
4 ]- ?: e$ ?. M. J- n* b8 E' d        ECHO("%s;\n", call);
! S; ~5 a( {* {! L* Y    }
. W; _: {) k% Y5 {7 q& N
& T6 Z5 T  }2 k/ g! n    return(irc);5 l! O2 w  U7 ~3 G* _  ^  c
}
# B8 Q% s. [4 Z. E; a7 d0 q- K* H9 c- k
; m4 S; A/ G8 T, O$ C; D3 E
/*****************************************************************************$ n( O( W5 I' Q* s
**  Activation Methods
  e# m; _7 E" |5 [& K8 r*****************************************************************************/7 S2 C, x: `+ R; L/ h* z
/*  New Part
- H  e/ u  |) L7 Z/ B5 b5 [" D**      This user exit is invoked after the following menu item is activated:" D8 u5 y" r: l1 M: }$ G
**      "File->New" */5 O' I2 ^0 h# q
extern DllExport void ufcre( char *param, int *returnCode, int rlen ); _4 z( ~/ X. w1 e7 ?. \. I- Y) q
{
0 a4 V7 j( j' R; l# z8 O# ?  C    /* Initialize the API environment */
0 Q6 k7 c0 A1 V1 O) _+ Z$ v    if( UF_CALL(UF_initialize()) ) ( y6 I  ?- Q8 E' f7 }
    {- m8 Z* ~# Z; k' G; X
        /* Failed to initialize */  f0 R7 M) q% o4 v. J9 u
        return;3 Z8 ?0 K! e) I: H
    }& d: O1 |5 C/ x' A

' [% P+ l5 S7 p% J7 V; g    /* TODO: Add your application code here */% @9 i; s" X* x/ A% e

" U5 w7 z2 }6 d        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);5 N$ G7 f1 @/ ]* t
; K7 l$ V" B8 ?/ P' M
    /* Terminate the API environment */* V" g9 w" h; f  L: {7 H
    UF_CALL(UF_terminate());8 q! @/ j( D& I, N/ P9 d- u6 z
}
0 t3 s% L# }+ q) h( l/ ^- U+ j
1 m7 _8 Q$ E7 m- H$ w/*****************************************************************************& }7 X7 y1 r6 C% p  f
**  Utilities" b4 C* X0 r* C0 m' j* `
*****************************************************************************/' j9 V% \" C7 Y1 H  ?
! i0 o. F5 T( a/ G- d. x1 f
/* Unload Handler
3 p+ r8 |' D, d7 a**     This function specifies when to unload your application from Unigraphics.7 {: L7 K6 _, e6 ~! e& x
**     If your application registers a callback (from a MenuScript item or a" E  Z  _- s9 R$ p6 w+ n7 Q
**     User Defined Object for example), this function MUST return
9 w* a7 k3 j! t**     "UF_UNLOAD_UG_TERMINATE". */2 A, ~1 I' b  D! Z* }0 ]
extern int ufusr_ask_unload( void )& o4 [4 O+ P9 e% r1 ]3 w- l) L4 }4 u
{; d& K8 k$ l, H- U  ^, W" V2 r
    return( UF_UNLOAD_IMMEDIATELY );* C4 R, n7 S8 z
}
* ^4 l) C0 W# M1 X
4 o0 ]% O3 g7 ]3 B* o7 I6 D% |+ N8 h  N* A8 [" P: U8 x

9 [, ~9 b7 z, t# q7 ]+ Q/ U9 ^: w/ u$ O

评分

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

    我知道了