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

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 . [! Q# `( d3 P/ `3 V' {9 x
) \' E0 C: l2 v6 L
% D7 D- @5 p# z2 ~  |. y& R
11月16日培训课程的作业,运行效果如下图:
( c+ D! Y7 _9 ` test001.jpg : J5 o" G7 r1 @

" J9 ^6 _& q; Y开发代码如下:  I! u+ M) K9 O8 c9 j
$ g) t2 [) K- F, X- f5 Z
/* Include files */6 ?9 g0 ~" v9 T- K
#include <stdio.h>5 `) B) F6 Y% D! C5 q" K
#include <stdarg.h>
1 o* E3 n2 o6 G; M#include <uf.h>
' }7 C: V: i7 x* [6 d' o#include <uf_ui.h>  t6 x) _5 I& J/ y
" d7 y( p6 n. N) m& v
static void ECHO(char *format, ...)' d$ k6 r& e, O- @* j
{- u7 C- R( L/ _4 b! f( g
    char msg[UF_UI_MAX_STRING_LEN+1];
( P( v2 R+ I$ M% q' E+ y8 V6 C: }    va_list args;! R& P& R8 t( w4 n5 ^
    va_start(args, format);6 i, a6 s& m' s2 V5 c, F- ]
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
; ?7 k5 {/ a" I/ E& h! Y: N! r    va_end(args);
6 Q( z  e! _; K5 i    UF_UI_open_listing_window();
/ `7 h) j& Q6 G2 M& j/ I- q1 s    UF_UI_write_listing_window(msg);
' m$ q- b, n9 b( C    UF_print_syslog(msg, FALSE);4 n! S& i& c" J
}; ?. ^" ?) l& e( o9 G0 U/ E& N! W, o
' Y! Q  f0 t9 \
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))$ \: U$ v: `& D

/ w$ r. g5 K' p  Mstatic int report_error( char *file, int line, char *call, int irc)
. R( S5 [2 z; E3 ^/ X8 N: w8 S. s{  }+ h6 M  ^4 H$ D4 n; x
    if (irc)
% E5 i# T/ j' E1 C+ M    {( M2 a! A* H" v4 I! L- A
        char err[133];
- s  g8 Q8 m* Y# @  i) S. y1 Z6 d; m1 v$ x0 E1 M$ ]
        UF_get_fail_message(irc, err);
4 T& {) Q" M/ t6 `" Z2 @  p) ~7 u        ECHO("*** ERROR code %d at line %d in %s:\n",
5 d6 U- F8 G' g9 ?4 Y            irc, line, file);
( f8 O1 N  E) z3 c2 C; T        ECHO("+++ %s\n", err);
. @( Z# x& i, w        ECHO("%s;\n", call);$ t3 M/ D7 I/ N+ i0 {
    }/ Z" i6 B5 m: n' L5 ?# M
; R' I7 x4 f2 b$ o( X* v
    return(irc);
* F# q* _0 a# g5 L2 G7 i}
/ S$ a3 P9 a* y' [$ l
5 V* u- S- M2 w; O& w) t2 u$ H* s; E8 ^8 s7 j; L& c
/*****************************************************************************
0 E2 o- E" @  a: w( U& U**  Activation Methods" v; B+ P3 J' }! U6 C  E, V# V
*****************************************************************************/$ `- u$ V; l& j8 }/ q
/*  New Part: L. D* v- r: g# Z7 V
**      This user exit is invoked after the following menu item is activated:
: p& O  {4 {- v2 S/ T**      "File->New" */
' J, y* |( L! i0 D0 H! o* Cextern DllExport void ufcre( char *param, int *returnCode, int rlen )! W, \; V+ G4 Y1 Z8 d, }( X+ k& V
{( j& w' V6 v* }0 U
    /* Initialize the API environment */
) \5 Z7 u' W  A2 O% A  }' A    if( UF_CALL(UF_initialize()) ) ! P* W9 H- ]8 s
    {
9 z+ \  U+ {) J$ o  S" g, w. [        /* Failed to initialize */& X" Z6 {; ]5 _$ r; s( F
        return;, S7 g$ ?* D, O! q3 h
    }; E' p0 ?( x+ Y4 ]& ]; H

' r" ^; }2 K3 u: c: l' c" Y6 z    /* TODO: Add your application code here */
9 J% Z! w7 d3 K  S$ F5 J' w* v9 s9 G2 n; g% x) B: s1 l- b3 `$ ^2 h
        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);4 e  h# n6 B) f
1 c! y2 [  k) A1 w5 \! @
    /* Terminate the API environment */
; n4 D% |9 @' ?) z3 ?9 V+ g3 U" v0 m    UF_CALL(UF_terminate());. U3 }9 f( {3 W8 P6 }3 d
}/ n' U4 o, S( j- O+ u( G
8 L# o5 \% W3 f( K. l
/*****************************************************************************4 T3 ^, C6 o" K) n
**  Utilities  v4 Y; C: j2 ]9 E* h" p. d/ @
*****************************************************************************/  Y# W% H1 y% s- V1 H* {- Q# {

' B/ @" s8 C3 R; d' i2 b) [8 r" S2 W. j/* Unload Handler
; G- \9 y( K& o7 @# ~; V0 y**     This function specifies when to unload your application from Unigraphics.3 d4 z% u& E$ x
**     If your application registers a callback (from a MenuScript item or a
. c: r( \" g; x0 M0 A  D**     User Defined Object for example), this function MUST return% T1 A  H1 a2 O6 C2 i; e9 ]
**     "UF_UNLOAD_UG_TERMINATE". */
( H/ h1 R9 L' G5 g2 @extern int ufusr_ask_unload( void )
! |6 [+ _1 d0 D1 l* }{. X) H9 h) \. j8 A! Z# y6 j
    return( UF_UNLOAD_IMMEDIATELY );
4 m5 B. x; `6 S9 e# X+ A) c3 K/ Q0 I}/ B7 O5 M+ S( a2 ^* x- k
2 X1 M# K% H5 R6 t6 c8 N1 K

* i, t7 g6 y1 |8 [7 V: @4 R/ u! @9 \" L4 [# Y0 O+ f' {
0 Q1 R6 ~& z' {6 \0 A& q

评分

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

    我知道了