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

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 6 m: r8 k5 M, w' S+ Q- O

# Q; a0 E* D6 r
4 Z: R. r3 H2 Y11月16日培训课程的作业,运行效果如下图:
. e  o9 Q, C0 O, i5 d# k test001.jpg
$ G0 w3 }' L$ z! f5 |9 M4 ~6 Z$ q7 _, b8 M* H' @  U* \3 E9 q  I2 g
开发代码如下:! H) X& D3 I# u6 q+ A

4 K( H; k8 ~& x3 `/* Include files */
0 ^: g) _* |+ e3 |# S' D#include <stdio.h>
& w, N3 J2 s/ v" G2 M' r, ?  Q#include <stdarg.h>
8 u' j; y; q/ H4 J, u#include <uf.h>
4 t, M/ f+ b7 g7 `  D' x( X#include <uf_ui.h>$ t+ x# \! T+ E8 c4 i5 E3 j+ R$ t3 M

3 C$ n7 Z' E6 h" p6 m# c4 a: Wstatic void ECHO(char *format, ...)$ e+ P# [" ?9 x
{
7 F& {2 l, `# E    char msg[UF_UI_MAX_STRING_LEN+1];
" v; K+ N3 h! L. D& h, w0 h5 i    va_list args;
  [5 Z1 D( r+ J+ }    va_start(args, format);
* }6 A+ P6 Y$ Z    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
" I  y6 \% j8 G/ E8 `( W    va_end(args);
* v1 N3 a6 c; \! s7 _4 X6 N    UF_UI_open_listing_window();2 K+ W8 {! f+ U0 C2 w7 M. n; w
    UF_UI_write_listing_window(msg);
4 V' d: X% o2 C    UF_print_syslog(msg, FALSE);
0 m9 S5 k1 J" X8 r, h}
0 G" L9 p. t* z6 G7 I- A. V( D$ R% z  w* {! ]/ {3 m1 y/ n: Q0 L
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
/ L, F  S" ^. _1 Q
: O' v$ ?: g- R! a4 _4 y+ O# Ostatic int report_error( char *file, int line, char *call, int irc)
) y" k2 F" s7 s! b5 b% t7 e9 l+ u9 y{
+ |; d7 e' b: V, |  k    if (irc)3 q0 V' ~- g$ [  O5 |( u& E
    {
/ Y' o8 }3 ?3 c; _; h        char err[133];
: _: {, m% u& _  w$ U* T2 a! N" ]. t; v" K0 U" W# m" k3 {
        UF_get_fail_message(irc, err);
9 v* w5 b1 B- d" v# d0 k: ?        ECHO("*** ERROR code %d at line %d in %s:\n",
8 W. X, `7 x0 u8 A# t9 u            irc, line, file);- r- l  B! ^' j: t* r
        ECHO("+++ %s\n", err);
/ c+ h1 f) |* W' l' m, @! |7 g        ECHO("%s;\n", call);
3 m$ v! q# N( Y  [6 N    }' |1 X, t% q% x; \# s* @
# a4 ]" V$ r" W' G$ r4 ]' F
    return(irc);- a- f7 u  V' u( [/ f  T% o2 L8 ]8 O
}8 u7 T4 @8 ~; j% R! T# N: _

% w5 l+ C9 t# h: _$ h+ j5 t  |
; P! _4 Y5 j5 `% U3 O1 i/*****************************************************************************/ _) g! W: k; }
**  Activation Methods+ g8 z8 r) T! R$ \
*****************************************************************************/) i2 H3 s1 o# U/ f9 V
/*  New Part
6 @% `( B! U& ]- q  a**      This user exit is invoked after the following menu item is activated:
# U! o0 Y( k- c$ x**      "File->New" */' k$ z- t; V2 U) ~  a" R1 i9 R/ n& Y
extern DllExport void ufcre( char *param, int *returnCode, int rlen ); N+ l9 o* p5 ?4 A2 N
{
  B$ v- Q, a8 s+ }* u' b    /* Initialize the API environment */
) o; ?6 G, Y5 @, s: \    if( UF_CALL(UF_initialize()) ) 3 R/ k+ p# V* n% \0 H
    {
! n* K: h: I# |' v! g2 @        /* Failed to initialize */
3 p* ~' j) C5 z        return;+ ?* c; z1 @0 V. w  Q) P* K4 N
    }. g( W; A4 L0 z8 D3 E
) M' k  P* }% @) T
    /* TODO: Add your application code here */
) e- Z2 X6 E7 a7 A
- d& ?3 H. s( ~        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
; L, _* ?8 F7 h2 ~  k, U
' x, o% A- p2 ~, |7 {    /* Terminate the API environment */
3 O( f% ?( ]  I% M    UF_CALL(UF_terminate());
( S: k0 j! L# r" m}
' E6 `1 M5 o# r1 h$ @; L" J
9 y( F1 e1 H) Y. Z( Q/*****************************************************************************) v5 Z4 q  N- Q6 p% \4 j- m4 D
**  Utilities9 @3 M5 z+ i& ?$ \. J
*****************************************************************************/
8 ?& Z+ \2 S& M' X5 G! [* h% q0 V! R6 v% d0 q, n
/* Unload Handler" O* }4 e2 i# |0 I# Q3 A6 [, ?8 b
**     This function specifies when to unload your application from Unigraphics.6 Q$ z# S& B+ k7 |/ Z* ]
**     If your application registers a callback (from a MenuScript item or a! [) `' {- {) M
**     User Defined Object for example), this function MUST return( |' l! [# Q0 B+ N/ A* j
**     "UF_UNLOAD_UG_TERMINATE". */
' g1 ~! q& W0 {' j$ ~4 u6 \' Hextern int ufusr_ask_unload( void ); z" ^3 ~( _  _+ P
{  v0 F8 N- k0 I0 ~) }2 C
    return( UF_UNLOAD_IMMEDIATELY );
0 O3 ]* g( H0 x9 a9 j" [1 @}
+ s$ V5 b( U. e- ~2 s6 K! f
$ D. v+ F' E$ k& X) J9 i. V3 c4 O! H! t& c; P6 [3 c. e* W3 j5 `

8 _- x& {- G: k( I( j# I' b$ s* L$ U/ \  t( O) U3 H' F

评分

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

    我知道了