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

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

  [复制链接]

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

2

主题

9

回帖

118

积分

培训VIP会员

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

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 6 w$ L2 Z0 l! {) ^0 S
, [4 D4 l, A0 A
+ O' K  o( T% T
11月16日培训课程的作业,运行效果如下图:! u' g! P& V- m! ^. C/ }
test001.jpg
" ~0 M0 }3 o2 x% U, ?* c* f0 w
& o3 o0 E6 X1 E5 U7 ]; Y开发代码如下:
8 `6 _0 d# p1 E
9 E7 e9 d2 A/ l( t2 X" t/* Include files */
, K2 j$ r  ?) w" A' S. B, X#include <stdio.h>
/ q1 T& |3 D0 p, Y/ H#include <stdarg.h>5 U* U2 m2 p: O6 `) v( h
#include <uf.h>5 v! Y8 s2 s+ c! e
#include <uf_ui.h>
% C6 V' y, v1 K
8 D% Z! x, v. t8 @3 @static void ECHO(char *format, ...); M( |' I% L+ I( {" n
{2 K2 a# l, l( k$ N
    char msg[UF_UI_MAX_STRING_LEN+1];: T% ^. [6 X  M1 B+ W' i
    va_list args;# `0 s, n2 H5 _
    va_start(args, format);1 W$ h- T+ ?2 Q# C
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
6 p, `  Z5 h* E4 _* R2 I    va_end(args);) q. V1 u2 B/ v8 Q
    UF_UI_open_listing_window();# O7 P# r5 `9 r
    UF_UI_write_listing_window(msg);
/ \* y7 B' `4 K$ g( b    UF_print_syslog(msg, FALSE);* f' f( N: Z6 ~1 M$ @. I
}
$ l* r( x* ]$ g1 o8 N) l$ g( W5 c) i$ u! b
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))2 E. n# ?1 d$ z, s; Q! Z
2 j* u' d* ?) M5 w6 h/ R
static int report_error( char *file, int line, char *call, int irc)
; e/ W  d0 s! |& }! P% K! B{
7 l+ f. c6 e7 g6 s    if (irc)
; R1 c  t. i; z- A2 b/ y2 d0 W    {+ j% s1 H9 U* o0 a) T
        char err[133];
/ S; K0 I4 k" x6 {# n3 v5 s, P1 ]5 X' `4 W' }) r& g
        UF_get_fail_message(irc, err);+ u: x, ?# B6 o7 x7 K% ^# t( C2 y1 ^
        ECHO("*** ERROR code %d at line %d in %s:\n",/ @- m- G9 B; O7 c% J
            irc, line, file);
, t1 e( ^- c! o* L: S        ECHO("+++ %s\n", err);* Z7 ]5 X7 S* i; m; B
        ECHO("%s;\n", call);
6 |2 p6 ~! E9 `! D' C% i& b7 F    }
6 {  ^% `& n* W0 d" _9 P, ?5 \+ X4 t, [" F+ ?* d6 b
    return(irc);
. e1 R, K9 U. H9 K# v* d. v4 w+ P}2 h# m7 q( v: N( C3 d6 j8 n

. y7 D4 X$ V( ?9 `. L4 ?( I) k
# {: U2 ?' r; a, O4 a/*****************************************************************************+ [/ z& n* v/ y: |- h
**  Activation Methods
0 Y+ P- U" q- O/ p8 F4 i*****************************************************************************/
0 p0 u" |$ O& ?% \! B2 e/*  New Part. b9 x9 D7 X/ H- [
**      This user exit is invoked after the following menu item is activated:7 k. M3 L! r& e5 d+ E$ q
**      "File->New" */
- j6 P, c: n# d* h$ Q- D- c" Rextern DllExport void ufcre( char *param, int *returnCode, int rlen )
3 {8 N  m1 r6 G% `{0 P" `6 M: `4 F  J- W+ l- }
    /* Initialize the API environment */0 I: s3 k4 I6 k2 s6 k
    if( UF_CALL(UF_initialize()) )
7 |7 u0 s+ v, m- U8 k0 z    {
5 A/ i' p8 y+ M6 C7 r        /* Failed to initialize */9 d5 t8 A+ X0 L+ F
        return;8 ?3 g  z. @+ @- [2 s* F
    }
. z1 j( f& i/ p1 `2 \
' [, C* Q3 ^: M* A- Q    /* TODO: Add your application code here */
& Q5 J% X9 m; a" `
, `" s; v5 R7 h/ r        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
3 J. O( O$ D$ x) a: x0 W" y0 J% k* D# [9 I
    /* Terminate the API environment */
- C6 L: X0 u* U- U  o0 d0 N    UF_CALL(UF_terminate());4 \. w8 q) Z* @9 p& h- P5 _, |
}
9 _7 d9 l( K! v5 r
0 b' }0 C. T% R  ~5 t/*****************************************************************************- S$ @1 R4 ?. @' t; g+ w* [
**  Utilities
: B- ~1 {; ~4 q1 x/ n0 U*****************************************************************************/- ?/ Z: Z2 i# a1 |) K/ h
; R% H+ e9 m% r. b9 ]; ?+ y. v
/* Unload Handler7 t4 @6 Y3 h) n3 o$ W) J
**     This function specifies when to unload your application from Unigraphics.
" Y6 n5 b5 C" m0 e% M4 W**     If your application registers a callback (from a MenuScript item or a" }( o* t1 c: }4 d2 l! @
**     User Defined Object for example), this function MUST return
) a; q% s/ d7 V**     "UF_UNLOAD_UG_TERMINATE". */
# e( q* L7 F9 T. p- j( X. U5 g! y( bextern int ufusr_ask_unload( void )
: V; s. c$ Q( K: f{  |, Y( Q' r( [9 E
    return( UF_UNLOAD_IMMEDIATELY );& _# Q1 x4 V' n- R% f2 }$ t9 ?
}
4 N" c: P4 j7 _) h
8 t$ U5 ~! c. k! {+ b
# h& \, w. w' b; M
; v8 T. g5 W& \3 r) n/ a# q9 U5 Y. P! `

评分

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

    我知道了