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

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑
2 U7 j8 f1 r, f; F' C, o* _& T  ~3 Z% i% [1 r  Y8 }
& s9 m7 N4 }2 |0 ?0 i
11月16日培训课程的作业,运行效果如下图:
# H) A! D* \( O# x+ U# I) A0 n7 w test001.jpg ! e; H) a3 p: O! p2 O: g: g
. `' h4 P0 @# e+ E+ v' j: t" ^+ S  {
开发代码如下:
2 }5 J* ~. L9 {% F
# y/ ]$ ?# t& l# \+ v/* Include files */
- p' v2 F2 ^9 I% C8 b' z#include <stdio.h>3 m  c/ U  n% f+ m" }6 n# Q, L
#include <stdarg.h>
% n, G" W: W! {# l! ~4 L#include <uf.h>7 d' J& I. w( U- x+ y5 S$ p2 M1 s
#include <uf_ui.h>
, g8 y2 G$ e, g7 F  `. q' ^; M: ^( B
7 u# L+ j& @+ K' q1 ~static void ECHO(char *format, ...)
+ Q0 g- g, A4 a' I{
! w3 d/ {8 ?* _0 H& w7 W- Y) @# g    char msg[UF_UI_MAX_STRING_LEN+1];
: T  p5 h- P6 n: \- X5 F    va_list args;. x) |+ |9 O' {" j- m
    va_start(args, format);
7 e5 ~, a: f$ p5 k2 }0 |    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
' N. `, ]  Y3 z    va_end(args);
2 h5 H7 S& ?9 A7 O1 S    UF_UI_open_listing_window();% i# B/ Y" G$ U- x$ W+ q7 N
    UF_UI_write_listing_window(msg);
+ k9 ~& ?$ _. D6 ~5 x2 _- r, ?5 }4 O7 G, X    UF_print_syslog(msg, FALSE);( B* u1 G, g5 X
}) F! A7 ^4 z5 K/ L

" c- M4 t1 C/ I. x#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))3 K! U9 B6 x4 `9 [! t/ o

) v' S+ h  J0 ^% B( t3 b& _# Istatic int report_error( char *file, int line, char *call, int irc)9 p  l+ t/ V9 K. _
{6 R5 y6 k5 m, j, I4 b  |1 W
    if (irc)1 s8 y; M# s# y1 m8 Y$ N
    {
" O0 r0 U. ]# U  x3 }+ A! A        char err[133];
9 j  u0 ~" p8 e+ D
( E0 _4 V  |) Z) H        UF_get_fail_message(irc, err);  ^0 L3 \- H7 m
        ECHO("*** ERROR code %d at line %d in %s:\n",  F- q2 o) M4 u; q8 n& i7 m
            irc, line, file);1 z, k5 u% t2 K6 I$ k
        ECHO("+++ %s\n", err);
& ?% w+ W$ K* [, L; C! Z0 w) i        ECHO("%s;\n", call);# c4 g; i! i! S
    }2 E& L0 r- i4 E' R3 R( d

) n, ^# R) J  d  p) l    return(irc);
1 T/ n% T2 {3 G' b* a}& i) O- k: J, u
( C" D5 ^. ~6 e; O

; y# g5 _. O& l% o, I/*****************************************************************************
: r; c- B( T. j' X**  Activation Methods
! n, b9 U" l+ J- o*****************************************************************************/9 ?. h( ^3 Q6 o1 a
/*  New Part4 a* \* d% @# J6 B( y
**      This user exit is invoked after the following menu item is activated:) o: T6 c9 Y: Z( n) m$ u
**      "File->New" */
: N1 X& z6 t) @. N* l( v5 iextern DllExport void ufcre( char *param, int *returnCode, int rlen )- p/ ^" j8 ?8 @
{
9 Z& x$ E0 q! C) V    /* Initialize the API environment */4 X+ z) I# z% M8 t
    if( UF_CALL(UF_initialize()) )
% @' C/ w4 E; J' x  Y, d# r6 V    {  z( U6 K" A7 H  ~( A
        /* Failed to initialize */7 k$ @! Z% w7 R4 O2 n$ y
        return;
. a1 [% ]+ T- C/ x) V    }
' ?6 z' H, T% T3 g+ h% R0 D9 M& |$ P0 Y: z3 W
    /* TODO: Add your application code here */3 H3 `% \+ u# J* y: Q$ h

# j, ]. N& Z( c. P8 V; E1 d, S        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);. a% v7 s+ c8 [8 ~5 W+ j
4 e- T/ E8 n- X) M& }$ q
    /* Terminate the API environment */
& F7 i0 s. K  A6 _0 f* P0 m    UF_CALL(UF_terminate());
) L9 I- n/ d2 p}( B$ {1 |# z0 z! s
) B8 A, g) T0 E
/*****************************************************************************4 M. h+ b# j& q! E3 o
**  Utilities7 w4 ?$ Y/ ?3 y* \! k' T& Z# |
*****************************************************************************/4 j* n% }) T( _- S6 S& d

" p0 [9 P5 U% |, |/* Unload Handler
4 d6 c- n2 G" \% i5 i8 T**     This function specifies when to unload your application from Unigraphics.
7 l- _# Z8 r. W! n) z# {**     If your application registers a callback (from a MenuScript item or a
- J; K- F! q. B: N**     User Defined Object for example), this function MUST return
9 y3 g5 n% t$ \**     "UF_UNLOAD_UG_TERMINATE". */
3 R- N6 H+ E2 I4 _5 h$ {7 fextern int ufusr_ask_unload( void )& F  @( B/ g, S* I) k
{
8 _5 L7 V2 Q, @    return( UF_UNLOAD_IMMEDIATELY );
% X9 p9 J; P. f( {7 I, k}3 ^7 C9 b& _4 m' u1 L' Q

" C$ B" |& U; I7 P& l9 T' Q7 l7 q$ T  |0 O& z8 i8 k: h
4 e+ ?6 }; t3 W+ T( N5 p4 `% e

5 p5 U' J' U( ]4 ]1 N( }% k

评分

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

    我知道了