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

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑
  ^  @- k/ B, i" w/ C5 @3 U0 p
  H1 m& S' Y- [* t! T8 T, Y$ p, F" t4 E
11月16日培训课程的作业,运行效果如下图:
* t/ i8 e! S9 Z) {! k0 f test001.jpg 3 s: q0 I$ \$ E' ~$ H

% |& S& J: b4 {& }. v开发代码如下:  r% P2 I0 M& z: C7 V
# P$ }+ L' }' a* q9 p' y% C9 L" `
/* Include files */3 V+ x/ B2 e: ?
#include <stdio.h>% W1 H$ ]! Q: Q& x
#include <stdarg.h>" ]5 e# x9 ]8 {! l
#include <uf.h>5 c: ~' d2 g3 I% F
#include <uf_ui.h>
8 q9 ^) V& t! h# ]5 `' [: z+ J% l: u- o
* S9 d/ {0 k( ~. Z! K% y8 ^1 n" ^static void ECHO(char *format, ...)/ k- R. K+ t" G% A- W
{
+ w2 Z8 N3 z1 ?# b4 L) r" {* Z4 T    char msg[UF_UI_MAX_STRING_LEN+1];# C; r5 X" B/ i0 d3 q# p. n1 s
    va_list args;0 u( N2 y/ L6 s/ q
    va_start(args, format);
8 Q# d( z2 c  F& u! ]- Y9 e    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);) P. x7 {$ o6 h: r) Z
    va_end(args);! D: ?5 C, W* b3 ~: T7 t
    UF_UI_open_listing_window();7 o3 V  }6 t* Y8 s
    UF_UI_write_listing_window(msg);
- \; P  W( B& s! L    UF_print_syslog(msg, FALSE);
6 K/ u5 E5 r/ @0 e}
' g& Z% G2 C' H# p+ C) ]4 m/ H
5 d) p/ V0 y& l: t#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))7 G& O; E$ h0 b' h! N" f2 h
+ q) P3 F6 U/ a7 |6 ~
static int report_error( char *file, int line, char *call, int irc)
6 n" B. |% x9 @{* o7 _1 w5 d  s2 z8 ]  g+ s% F
    if (irc); X7 L9 W  ]3 r, h0 }% o4 r; W
    {) G8 ?7 J5 H" v2 C3 K
        char err[133];
1 Q& m! y5 p/ }( W* W7 C! W' {1 u, b' y
        UF_get_fail_message(irc, err);
# _8 l1 r/ u7 Q        ECHO("*** ERROR code %d at line %d in %s:\n",: m" t/ n  h2 Z/ |# X) x/ |
            irc, line, file);) B6 s# }$ \- k$ O
        ECHO("+++ %s\n", err);
: |- E# ?$ }" |2 i$ W        ECHO("%s;\n", call);* _4 o4 o8 ?; ^- B* S" E
    }
6 V  o$ `% d8 b/ ~3 I2 F* q) V
, I  x! U# A& U1 j- n    return(irc);/ l, k. n( A. r  U& M
}/ j: C$ Q- N9 s% _; s- n

! V1 V+ Q+ }% I5 v+ X. k5 d. l, R. ]; V. Q: U0 h0 X% P; l% e
/*****************************************************************************
+ j0 ^4 o. ~, }9 v**  Activation Methods+ F  e  T1 B! P3 V; v
*****************************************************************************/# r4 `3 z+ {, V7 T; H. N
/*  New Part/ O" w$ D% C/ K1 r$ ?
**      This user exit is invoked after the following menu item is activated:
5 T) \5 c/ o# \8 F**      "File->New" */: H. B  J( Z2 y# |; C7 I
extern DllExport void ufcre( char *param, int *returnCode, int rlen )
/ D7 I, w! }% F! C1 ^# X' \) x3 w; v{9 K" v! N( o) a7 K( g/ e
    /* Initialize the API environment */
. h% Q1 q, B9 V6 g: A    if( UF_CALL(UF_initialize()) )
; a/ _! W1 X5 A& _4 b$ `    {- M/ P" M  O* W) x9 S5 N1 c/ H* B
        /* Failed to initialize */& q: Q* ~  R' p( d4 y. ^7 {
        return;
. D( D" z, y$ N$ Y* z2 z    }; b$ K2 {2 [+ Z2 b& d* A
2 `. A7 ]0 B0 m' L2 _" R
    /* TODO: Add your application code here */
) P& _3 A3 M0 `. H
3 X- X- p7 g+ ]% i: j        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
9 ?4 V9 E3 U) f' _. n& Y# _
  H  Q& v( P: @7 Z8 ~# o+ H7 ]    /* Terminate the API environment */
7 F7 R; S$ V  K- s% r    UF_CALL(UF_terminate());
7 H, P/ u3 [; S1 J- @3 Z( X1 f}
5 q; X4 O( m) ~/ e+ I' f
- S  j2 _2 Y- |$ u/*****************************************************************************
- W: I0 @" k' M: h( h, k2 E* X; Q**  Utilities
$ x8 E& P! L0 `2 z*****************************************************************************/0 @$ c+ ~* Y( C4 U8 N0 f

  U$ V3 H' g$ h- z% L, `( R/* Unload Handler5 A" B4 Y: k8 |* A0 y- |: J
**     This function specifies when to unload your application from Unigraphics.7 N2 L1 I- R* _! o- u1 n+ j
**     If your application registers a callback (from a MenuScript item or a
: n: O5 P) D% M**     User Defined Object for example), this function MUST return" w0 x" m6 [8 [0 V4 g6 E4 ^% R
**     "UF_UNLOAD_UG_TERMINATE". */
8 D/ X8 B, n$ P* Mextern int ufusr_ask_unload( void )& E# ~2 G" S4 G# R
{
! ]0 f! t0 h1 C: N6 I    return( UF_UNLOAD_IMMEDIATELY );& c- O4 g6 D9 w6 y* d* t* g) u
}" j1 o7 f/ S+ Y* Z/ }9 Z
% F% b- ~* y* ~& I7 j
2 V6 X2 L- S1 d! a8 _

. U8 `8 Y9 X: o% S( l& s7 P5 ^. f0 m9 z2 F' ]
& `6 q8 V; ?: X& ]  y1 w, h

评分

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

    我知道了