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

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

  [复制链接]

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

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑
8 {0 h/ V$ B1 G! }: c  o) z' H: z! G  F
- w; R( ^1 \0 R, M8 ^* b9 K
11月16日培训课程的作业,运行效果如下图:
9 X3 ?6 b4 I% R8 S- O6 w test001.jpg
: v  w9 J0 N, I8 L+ B0 }2 x
! D# _/ b3 J6 V$ S& O开发代码如下:/ i  T1 a) ]8 K) `
6 n% D1 \0 l+ H* [& J" S
/* Include files */% ]0 z, I/ B# m( A( @" }
#include <stdio.h># D8 t0 R  P& ]7 T6 e# m1 ^
#include <stdarg.h>
0 `( k3 |* q3 H2 _( n% z#include <uf.h>
5 Y; n% N; T1 N#include <uf_ui.h>
. o& R: `$ L4 l. g0 i3 x- P8 {
4 S- N1 m2 {% _+ B6 m# `static void ECHO(char *format, ...)
; \7 l/ b4 v# A+ Z$ [{3 g" m- S+ S# K& G* h
    char msg[UF_UI_MAX_STRING_LEN+1];
9 e0 o3 P6 E# Y1 [    va_list args;. \1 O, b8 h" M' a
    va_start(args, format);" ~! X7 j+ W2 [  x% }4 z0 |1 y
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
' z* l% i$ z9 D3 ^    va_end(args);
! e' }6 a% O' h( A" M! E2 @  Q3 Q    UF_UI_open_listing_window();
! O. K8 h! b( @/ x( {1 g3 N    UF_UI_write_listing_window(msg);
7 a# _& i1 c4 x6 O. J    UF_print_syslog(msg, FALSE);' r) s' y7 A* n+ @& ?( [% B
}* R' I9 D8 r/ K
3 _1 C' N* j' `$ a8 d2 d8 n
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))  G1 A' V) Z/ p3 D

4 ~2 P4 U2 N' ~4 |static int report_error( char *file, int line, char *call, int irc): v1 s- K& G! K6 y
{
+ E0 m5 w1 J' S" _% p" K$ t    if (irc)
* G7 @8 }& [0 y# N6 Z' m! y$ G    {+ U; z- n% c* D3 z7 g; m9 ~+ _9 Z
        char err[133];
2 n4 r' W$ y2 H4 R1 Q4 x, O) X2 O: P
        UF_get_fail_message(irc, err);
$ N) ~- H& i4 a" F        ECHO("*** ERROR code %d at line %d in %s:\n",
% z! @! O9 }4 M. n            irc, line, file);
9 e9 e5 m1 h2 J: T        ECHO("+++ %s\n", err);
; M7 M5 F' c! w        ECHO("%s;\n", call);
6 R) j% R; R  F# `# ^$ b+ `    }
* j: f6 C5 W! Q: X
1 m4 X5 O' W3 b! `* ^    return(irc);3 j+ z) [9 R: `4 _
}, j  j) r, I" i; d$ k/ l
  w1 A* O/ Y3 p
1 G$ x/ a! b) o3 L, V1 X
/*****************************************************************************) k. l  I0 ^) N# N- m% @
**  Activation Methods8 Y/ a' a0 ~; y+ {/ f" \
*****************************************************************************/
2 ~. }. l: @  k' W6 o3 N/*  New Part
. l0 N. A; Y% p/ ?" z**      This user exit is invoked after the following menu item is activated:  K( W3 D7 l# P; x8 P/ ]
**      "File->New" */. |8 W7 [; k0 x5 Q
extern DllExport void ufcre( char *param, int *returnCode, int rlen )
8 j' p- h/ g' m. }" J' S{7 H, Y7 U* G# w: I
    /* Initialize the API environment */) V$ q8 B6 a( V6 C* L
    if( UF_CALL(UF_initialize()) )
4 A) o# y& B3 x8 _7 }    {
8 ^# O6 R1 a: G9 ~        /* Failed to initialize *// y. @% Q/ Y6 b9 a
        return;" G0 J) }, X6 ~1 R
    }
! d1 G1 O' v; ]! e% K
4 {% [& f% S0 f0 Q8 t( @    /* TODO: Add your application code here */6 g( H; ]  D% s8 n2 W2 V* W
) c2 g0 L' T$ V+ d- E) a" I0 f0 i( {
        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);1 I- J5 U2 s  `3 D; n* M

8 x$ t+ c+ s% E. V9 V    /* Terminate the API environment */
. b4 t2 S, u' K, q4 \    UF_CALL(UF_terminate());
% n9 B+ V- f$ @  _$ C/ X}
; Z, e! S4 I; N+ [$ _9 @+ Y9 n1 k2 l) U2 \6 A  k
/*****************************************************************************
# a: x0 e4 y2 o: k/ Q**  Utilities
0 ~7 w, H$ V% f5 t*****************************************************************************/4 [9 D7 Y# N! [
; K- a- z8 z6 M; O5 q
/* Unload Handler# e8 {7 Z* d. R
**     This function specifies when to unload your application from Unigraphics.
7 ~: U; ^/ |  S2 y**     If your application registers a callback (from a MenuScript item or a
1 c5 q3 S. P: ^, }8 Z**     User Defined Object for example), this function MUST return* B# ~- l# q0 e8 W9 O% {9 T% B
**     "UF_UNLOAD_UG_TERMINATE". */
# _2 W: @2 ?7 @# d6 D$ Jextern int ufusr_ask_unload( void )6 h3 _, ?, G9 \
{
8 T/ d& b5 l) G9 M    return( UF_UNLOAD_IMMEDIATELY );. f9 q7 C8 v8 N
}7 @/ I- ~- o1 |* P3 s
# E. g$ Z( n' z0 m; M
* h9 g$ E7 u1 E1 `* D: v
5 k4 j0 R% J) D
$ p+ l4 a) }/ i4 F, F

评分

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

    我知道了