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

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

  [复制链接]

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

2

主题

9

回帖

118

积分

培训VIP会员

积分
118
发表于 2014-11-17 16:45:55 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 & [' K2 Z1 L0 y" C4 I0 E

* Q7 _3 z2 l0 S5 q
) ?* M, z) M& f+ [3 h2 e6 t11月16日培训课程的作业,运行效果如下图:) A5 l2 B' _+ T# _# c6 Y4 x; J& M
test001.jpg
3 @' ^. p$ E& o2 @5 i. d# y6 d2 B& Z3 K' C9 F% l
开发代码如下:& A* O% }! |$ W& h+ a

7 t, b9 c6 j$ q/ _8 M/* Include files */1 k4 |7 e2 P% z8 M- E; a
#include <stdio.h>
! _  I" B% p, g1 a+ l* Q#include <stdarg.h>
7 F* Q; E# m5 r#include <uf.h>( q$ H+ ^9 C1 L; ~, m3 a! l; L
#include <uf_ui.h>. |9 p2 Z# m0 C" S

" P5 O4 \1 Z+ i, \& _static void ECHO(char *format, ...)
9 `2 q2 R) S& \! R2 G( x8 ?{
; y- R3 l/ j3 b5 K% i* n" ]/ D    char msg[UF_UI_MAX_STRING_LEN+1];
& n/ z; n2 |4 Z1 }2 ]    va_list args;
, U  j  P9 p3 |2 v7 k    va_start(args, format);2 R) V$ u) G1 ^  }$ K
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
# X3 n$ [* T( O0 |9 Q2 L1 i    va_end(args);
  {& l1 v, y  J3 Z# X( U    UF_UI_open_listing_window();- z# g* M5 t+ j; ?2 C
    UF_UI_write_listing_window(msg);' D, s: I1 ~  W7 a
    UF_print_syslog(msg, FALSE);
; {; V  t/ i4 \' t}
; p- U( Z" V  }( z1 d8 [4 A9 d+ m+ d& @
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))! t  H4 ^( B* f2 ^4 R2 y/ O) h, s

$ g/ T# X3 p3 ]0 fstatic int report_error( char *file, int line, char *call, int irc)( q$ ]" y5 B6 J+ t0 F
{! ?" l9 q# y& N3 }5 T! Q& w
    if (irc)
) ?: S0 G+ H! q9 F8 A    {. t3 C* N7 o: `
        char err[133];
' Z" I" t5 A1 m& W# e, ^. y
3 o; e: [7 f$ U. I: T* n. T: |        UF_get_fail_message(irc, err);0 L, E4 D4 K1 [! Z; }
        ECHO("*** ERROR code %d at line %d in %s:\n",0 Z' X6 y% H7 m0 c
            irc, line, file);& N9 ]/ F" G. E. g
        ECHO("+++ %s\n", err);
$ m: T1 C% Q- H) R' s& ^$ y        ECHO("%s;\n", call);
9 k! \' ~8 o4 Q8 z( U/ l# p& W    }
1 W  g2 |( v2 B0 X* @; d
" O: N9 ~* X+ o$ w    return(irc);
' p8 @( ~0 a5 K}1 m2 c4 R6 p1 _6 Y
+ h" H* L! f4 `  [& ~: O, r8 g

: _. X& r  B2 u: `: l: Z1 a8 R/*****************************************************************************. }+ u) N, p  H
**  Activation Methods
) d1 |) J0 O" i*****************************************************************************/. H* G' S- s/ [% A
/*  New Part5 D8 n+ }& ?+ {
**      This user exit is invoked after the following menu item is activated:
+ }6 m" V7 n- M3 Q, ]; \**      "File->New" */) ?" o+ y1 U2 q+ x  x2 X% V3 Y4 n
extern DllExport void ufcre( char *param, int *returnCode, int rlen )" |/ q( {6 i+ ^2 a6 k' l. ]5 w
{+ I& Y/ a+ z) h) {! n" A
    /* Initialize the API environment */' ?+ \, m1 F7 l- n, o, k' N$ K% I
    if( UF_CALL(UF_initialize()) )
# R: }: C' q0 _* x" r- O) l" |3 k# N    {
* b# Z5 q! k* S8 X4 @        /* Failed to initialize */5 x' M2 ?+ A# \& }; L
        return;
2 w" _! F0 c- [; W6 C: d0 h    }& R  }& [6 S' F1 f! x$ _, w

* V0 N! c! p) E% |+ e    /* TODO: Add your application code here */
/ K* @9 P, ^% ~( O
4 w5 e4 v9 e. Y        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);+ v/ v7 M% I- \" K; f: ^
! r; B0 d! I/ O  B, m
    /* Terminate the API environment */* F$ t. P5 J  V# s/ w% F
    UF_CALL(UF_terminate());% q0 b" k1 J5 g( Y( A
}
+ o$ `& c( |7 ?! l9 Z3 C$ K$ ^3 H/ J4 \* i" A' k
/*****************************************************************************
/ |4 P# w, Q1 z! i" V3 {**  Utilities' S3 E' j) u) f, _, U" f2 t
*****************************************************************************/3 i! B! K9 {% o6 P* _# _
" c, E! ?3 c$ C1 |  ?# E( W) x& e
/* Unload Handler
" Y. a* |( h4 E/ k) G. f**     This function specifies when to unload your application from Unigraphics.
7 ]+ a) H& O' }1 @  h0 X**     If your application registers a callback (from a MenuScript item or a
+ a5 k" j* M4 t, S/ v6 T, z5 t# w**     User Defined Object for example), this function MUST return
' g- _9 m7 D+ n9 u! l**     "UF_UNLOAD_UG_TERMINATE". */
, n0 f- H( I8 l4 d; ?/ @9 uextern int ufusr_ask_unload( void )3 e4 T" u3 I) w( b4 J+ E. U
{2 n0 q/ ]' {  a& n
    return( UF_UNLOAD_IMMEDIATELY );3 k3 J8 v6 V  L
}
5 @  y4 u4 u9 G2 M* @- v6 T; G/ k* n; P! @/ R
  ~/ c3 U% a4 z6 G, G" n1 M/ @
$ \4 H% b0 D' ~
- p: t$ U5 S9 r

评分

参与人数 1PLM币 +5 收起 理由
admin + 5 很给力!

查看全部评分

上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

全部回复1

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了