PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 0 H9 P+ B" h3 n5 a2 {( ^- w

- x* e8 t% K# \( Q; |1 d7 N$ l0 o- I& P- m( a8 K
11月16日培训课程的作业,运行效果如下图:, h6 _2 \6 x0 h, h6 e+ K
test001.jpg $ M- o6 u# \' N" O+ s. _7 d! m

2 Q/ Q, x# {. Z& x开发代码如下:6 G8 P3 f3 `" S, X* C

: T( q9 j; p) Q( |  a/* Include files */) |! d# ?5 e9 U
#include <stdio.h>
0 N* [( s0 s" z* t$ v#include <stdarg.h>
4 z2 m2 `7 k- T5 z3 S6 H( X$ R  h#include <uf.h>
" Z: m, V' u/ H3 |2 I/ P#include <uf_ui.h>' R: U' }/ R8 W

: U" i7 A9 _2 L" q7 M6 jstatic void ECHO(char *format, ...); R; u5 `& R8 M2 i' x' [3 [& i
{4 b( q- c7 U+ d. n! o; _6 T; v
    char msg[UF_UI_MAX_STRING_LEN+1];
5 u8 m& c0 n; }% \2 Z& M; h    va_list args;
9 X0 g9 _7 {$ ^$ I3 b' q3 S) s    va_start(args, format);
! S) r0 X) F' w& A    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);2 d2 q8 F1 W( d) g' S9 J* ~
    va_end(args);; H2 [  u" R3 b' w& S9 E* z2 U
    UF_UI_open_listing_window();2 B! n- x' D' G% g8 B+ u
    UF_UI_write_listing_window(msg);+ `+ b- Z) ^2 {8 e6 d# U; R
    UF_print_syslog(msg, FALSE);
* c* Y- O% y  z! G3 I8 {* g}
4 ^3 h" C6 r. B3 W( j& A
, @% t0 v5 `) T8 L. `, W#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
1 E, s) g9 d( L+ B% m' o) C' S9 ~7 P0 b+ P: Q/ J6 k' S$ g
static int report_error( char *file, int line, char *call, int irc)
6 i' d- [3 ]& o- K0 C- k* W{
$ l* Q, D, x( ?/ v& ^    if (irc)3 |' j+ w1 g% z
    {
9 N, }" {% s! x4 ?( @4 R        char err[133];* L" A+ D$ r% v# @4 ?+ f/ M0 D
* V- t/ `# o# o  t, G! M3 t
        UF_get_fail_message(irc, err);
) o+ ]/ o4 A8 H/ O$ t3 {& p4 E        ECHO("*** ERROR code %d at line %d in %s:\n",7 e4 H2 f6 f, m
            irc, line, file);
- x" S. x- H* w2 Q7 T6 M        ECHO("+++ %s\n", err);
' h8 ?- G- k* V% l% l/ P1 u0 t        ECHO("%s;\n", call);
$ q" |3 {+ q( F% N- a# l    }9 {4 N/ y& F4 r8 @( n1 m

" _- E% h6 K  f- E    return(irc);: c+ \: Q9 }$ n4 A/ R% A1 K$ X& l% l
}
' S' I2 [# q+ L; K! a7 \1 y
( N9 z7 G2 Y2 C7 {- k5 m6 K0 U' j, J
7 F7 v( B$ U! K. ]0 @/*****************************************************************************
. o# M* K" x8 o6 b% v1 f**  Activation Methods
/ |$ z' l% n6 W2 s6 a( ]*****************************************************************************/
- {5 D+ A% N1 a. T/*  New Part/ X4 O' k  o" Z2 t. u
**      This user exit is invoked after the following menu item is activated:( P  @1 p% h7 L5 S7 m8 Y
**      "File->New" */
6 Q' A: V+ |# G- |9 A8 u; uextern DllExport void ufcre( char *param, int *returnCode, int rlen )
' u7 x( v/ v7 d! U% K{
  n; @0 ^; K( J" X) X    /* Initialize the API environment */
' {1 N# q) V' U7 T/ E0 O3 [    if( UF_CALL(UF_initialize()) )
0 \/ R4 F4 n1 G* p+ |$ M5 ~$ M    {2 z- y9 d( R$ L2 [1 F) D2 a
        /* Failed to initialize */# k2 l2 N4 [6 h: J" R8 y: P: q+ z. ^
        return;  D9 A, f* Z8 `, t: A; }
    }7 n0 g% f# u- y- p  I/ j- P
- n( d1 x) ^7 C" I8 I2 [% \8 ?
    /* TODO: Add your application code here */' E- n9 s9 S) V! J

5 K8 |. I; q* C3 A  m* z' b0 H        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
1 q% s  O! @8 ~3 i* [$ _8 m1 i
( O4 q+ c- e' j& C, m    /* Terminate the API environment */
/ i1 l+ K: G1 O9 Z# B2 C    UF_CALL(UF_terminate());+ j  T  N& |4 w; L* R" u
}5 V# J4 F# U3 S, N; t- I* v

  E- A$ b( l5 n3 N) k$ {& q* Y/*****************************************************************************) i! D# I) k3 y! J, X! w4 q
**  Utilities' i6 x2 h' X& i2 y! F' J. w
*****************************************************************************/
  G  E. C! ^& K- k
( B" x  B) Z7 L9 t  A( V. }3 L: _/* Unload Handler
  ~6 q, \; k+ v/ i# B0 ?! o**     This function specifies when to unload your application from Unigraphics.
/ r9 Z1 b7 C7 [& ?" g**     If your application registers a callback (from a MenuScript item or a
$ r% Y1 j' f3 s1 B$ M+ \: }**     User Defined Object for example), this function MUST return, d4 k0 T5 U' \
**     "UF_UNLOAD_UG_TERMINATE". */# X0 ^( b) `" M# n+ }  S( N8 h
extern int ufusr_ask_unload( void )' o4 a; U0 X5 M* Z# M; J
{
0 J) s$ A/ ~0 g8 O& [+ k3 {! U- T    return( UF_UNLOAD_IMMEDIATELY );- v/ X, I# `! t& F3 t
}& G$ b7 g: W6 M, u$ ]
& j/ O% w8 |' h* M* f7 c8 T0 |
6 y( V- `4 U2 R3 F
$ D! M. y- z' }( @6 f( H5 O  @1 G3 A

6 ~0 L$ m2 G6 B5 k+ [: p% X- w

评分

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

    我知道了