查看: 4064|回复: 1

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

  [复制链接]

2

主题

9

回帖

118

积分

培训VIP会员

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

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

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

×
本帖最后由 清江 于 2014-11-19 10:45 编辑
* U2 U2 O" A" _/ P* E
# y0 Q; `6 E# ^& w) F# s5 z5 h1 n2 u2 {" j& H) W; H# i
11月16日培训课程的作业,运行效果如下图:4 \) c; W" r5 A3 @9 t
test001.jpg 5 `: }. L9 k- N) \# t: P- w$ S7 C

) U# r/ x2 o+ W开发代码如下:
, @  E5 a# I* z& \1 [) a; V  F/ x0 N( A, m
/* Include files */
1 S) f, [. F- {2 q( L: a- i#include <stdio.h>
  o* f. E0 @' t#include <stdarg.h>: T% z! D) c( r1 F, a5 {! B9 `
#include <uf.h>. r8 A) N0 y* X
#include <uf_ui.h>  ]" P8 ?/ {" T% ]5 L. E1 p! \

' ^6 {6 L( S2 W. kstatic void ECHO(char *format, ...)
! |9 h: N% V1 F* T+ e: t{
! l; Q" O6 p; e, z    char msg[UF_UI_MAX_STRING_LEN+1];
3 y. I, e* v- \    va_list args;
# R6 z) k& o0 ^; R: D; h# I    va_start(args, format);1 |# k' G: _4 b$ b- R- }
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
* ~4 P  G& t' s8 {# M9 D, F/ C* {    va_end(args);
! E& k6 V9 U7 x1 I( u+ r; |    UF_UI_open_listing_window();
" H' Y; f( g2 i/ ]$ Z, {' M; l    UF_UI_write_listing_window(msg);
' d; @8 H7 a  ?5 ^" q; y    UF_print_syslog(msg, FALSE);
' f+ T. ~% p8 m$ @}, Q# U3 o% ], B6 O3 f  v( z
+ V5 \5 L" P3 e
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))- v% T& W3 I4 W, {* y
: k. _8 U5 K6 j/ ^$ ?! O+ @
static int report_error( char *file, int line, char *call, int irc)
* O$ l+ \4 w0 b; ]1 X6 F9 M{
6 O, w8 V% b  t2 O6 w# }    if (irc)
" h/ n% U7 f( d# B6 q) O$ `    {
; ^" r; S1 n" a% L( |% I5 q        char err[133];
0 K7 u+ h% h6 \, ]
4 Z- i" l3 F2 \$ x  L# N        UF_get_fail_message(irc, err);4 F- c4 K! F# K  s; d5 m' ?, g
        ECHO("*** ERROR code %d at line %d in %s:\n",
3 E7 w6 D3 E6 U5 X( X            irc, line, file);
& v) m5 Y) M5 g$ p9 f        ECHO("+++ %s\n", err);5 Y' ?8 ]3 g% ?' n. t3 R4 @
        ECHO("%s;\n", call);! E7 |" k- f7 e0 J# @- m: k" Z
    }, M+ s3 v9 B& @+ _( d0 B
3 y' A0 p$ r1 b0 j% r
    return(irc);
5 E$ \8 ^( l7 s}
! y$ G" H1 N2 ^& ~1 |1 \) z+ e) g. q' v, ~3 T+ s6 ~
7 s0 E3 j& u# ?0 e, C- }
/*****************************************************************************
' _8 F; N" x( U6 ^' l# a**  Activation Methods0 c! t& Q: _7 w; I
*****************************************************************************/
# K5 Z' H% |! K: y/*  New Part8 G$ M6 A9 K- b
**      This user exit is invoked after the following menu item is activated:
9 ]/ x2 f+ V/ v3 J( |**      "File->New" */
( `, P0 x/ |' x9 O. _$ mextern DllExport void ufcre( char *param, int *returnCode, int rlen )
6 }2 A. z- y* w{
' V6 E- {0 F$ _3 x    /* Initialize the API environment */
* `# d- c" V: X; f! Y    if( UF_CALL(UF_initialize()) )   b) a( A0 q# w
    {9 Q. }" j/ L7 k% r7 j1 X9 i
        /* Failed to initialize */5 B9 c7 D0 x- X, w0 }, ^9 Y# L9 `
        return;! p8 i) A1 o, r* `& L
    }
* `/ s; x. J% H! a$ Q, P( M# k1 q) R6 d! [
    /* TODO: Add your application code here */
6 n: S, m, x+ m% _9 [9 J  g5 B3 A
4 N: j8 O7 w1 ^1 {* s        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);- V/ |- J8 O* R  t! I2 `
7 J7 L( y# s* O7 ^4 a! Q
    /* Terminate the API environment */
" g1 k2 `# V7 ?$ D2 K    UF_CALL(UF_terminate());+ N7 J  ^  z, O7 c* x
}
8 f0 x3 G' q& @% ~) o  e( m" A8 t+ K
/*****************************************************************************) t% T0 y% H7 q9 E9 P
**  Utilities6 |; {; r* ^* ~6 V
*****************************************************************************/$ t4 z1 W- W# a. p8 O

! Y8 e' j: _: F8 N- r/* Unload Handler
( ~- v! A7 d' e**     This function specifies when to unload your application from Unigraphics.6 ]. W; L4 C. e6 j2 I) s1 w# I
**     If your application registers a callback (from a MenuScript item or a
9 s/ R5 `" ~' Y) U! v6 u: @**     User Defined Object for example), this function MUST return
% Z/ C4 p2 e& Q**     "UF_UNLOAD_UG_TERMINATE". */
( a# P/ R8 F, L, ^% Hextern int ufusr_ask_unload( void ), t: w/ T; [. B5 H
{( b% z4 a8 ^* N
    return( UF_UNLOAD_IMMEDIATELY );6 G1 o8 u) Y0 d! o
}
: M3 L6 F! I4 D( @- |7 m3 \( l: x+ c" j" C) @  B/ g5 H
2 z' u% r6 @/ j9 _& e7 y
7 P& j+ M' [( {, T" L
* H* d( B2 v& ^

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部