PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 2 K* U  d' m" G9 d! V
' s7 i2 [( x/ N% Q2 \6 M
* M- k$ S) b, r) d6 M1 g) m0 a) {
11月16日培训课程的作业,运行效果如下图:$ _' H" O( P" h. _4 l# e
test001.jpg
: R9 j5 A$ L6 o: y* H5 l, M8 Q" M& F4 y" E, j4 F
开发代码如下:, a: q; D+ K  Z  ~+ R& T
, g, i4 R# Y0 B- J
/* Include files */! r3 U9 C' i3 ?8 k
#include <stdio.h>$ C: u& G+ z  K+ C4 y
#include <stdarg.h>
! P5 a7 Z3 ]8 W4 a; Z#include <uf.h>7 K, o6 }: q& L& R2 q7 Y. E9 d- d
#include <uf_ui.h>4 [' Z+ e# C  }4 {; V% U  P

  ?$ A0 z5 ]" n8 |5 `/ nstatic void ECHO(char *format, ...)
6 X0 H3 U8 t9 h{- q) K6 S1 y6 U1 j5 E% S
    char msg[UF_UI_MAX_STRING_LEN+1];  v# T# @  O2 ?
    va_list args;7 P# g2 Z6 c2 p$ ?5 {
    va_start(args, format);
7 ^2 n& }) T. S    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);! u. u8 _& `6 k; z8 z
    va_end(args);
, z" J# k& |8 T0 x! Z    UF_UI_open_listing_window();
6 g! K5 {& P  }0 A' R' F    UF_UI_write_listing_window(msg);
; Z8 |/ E, r" l3 y! |    UF_print_syslog(msg, FALSE);
! v$ f% C8 N  o; x6 m- r}
. B. K5 G( `0 X2 u6 P  s& b" V  W& n, B9 f' Q5 u- p
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
3 _: W6 k* b7 L! w* X% _9 e) D8 \6 Q! S5 W* c" V9 G( j1 j- i
static int report_error( char *file, int line, char *call, int irc)
& p( b+ `& E1 P" \6 h1 w. X{3 c8 M5 b8 S' w3 k1 k! b
    if (irc)6 |2 R. ]5 J2 G* \" a7 h2 E
    {
# Z% z8 j: B5 }        char err[133];1 x( k* Y2 ?, U2 s
& D& O* y0 P; Y7 c, c- K: k
        UF_get_fail_message(irc, err);
$ U' v8 K- f+ v% A3 r        ECHO("*** ERROR code %d at line %d in %s:\n",
! F5 w1 J1 l, @0 O3 r  Y* o7 o2 ?            irc, line, file);* ]4 D9 j7 c+ S# g' d
        ECHO("+++ %s\n", err);
# b9 s, B% U/ M; V- o# M        ECHO("%s;\n", call);
2 D; a& @4 R6 e+ t2 l1 [- @    }( ^3 O5 K1 D1 L# z

1 ]' `  K8 {8 L& X/ w! u* S0 j    return(irc);
4 H2 U# [- a  w6 H( B3 e- @}
0 q' R7 @3 a) L# {7 o7 k; I5 \+ n6 W5 n/ W) Y$ {
# W' `, Y$ S# q* D- n
/*****************************************************************************
, K3 d# _8 ~1 I# R% y" w: g  ^- u8 X/ y**  Activation Methods; }! R7 ~+ Z5 L. ~9 m" K7 {
*****************************************************************************/
- W  o" A  o0 |* Z0 Z) v/*  New Part
/ }' Z$ q1 o, z7 `- N0 M**      This user exit is invoked after the following menu item is activated:
" X$ q8 H2 v: V**      "File->New" */
0 h: C& N2 Z+ q. w& E1 nextern DllExport void ufcre( char *param, int *returnCode, int rlen )
$ F- q  I& w6 B{
8 K$ m" w, g5 z' ?    /* Initialize the API environment */
) y% I+ o) t" f6 X" e: P    if( UF_CALL(UF_initialize()) )
$ `! I) h& O8 P: v, @    {
9 N# T8 r0 g9 Q2 I# D6 q        /* Failed to initialize */
; g: u' }6 C$ t3 I. j" S        return;, \# d, s+ Q  @- {6 R8 _
    }3 b; K6 g5 O$ O4 b  b( S$ V6 @
9 m& I# _) U; e- s
    /* TODO: Add your application code here */* ?+ k; Q! T8 W0 p6 N. {
8 T: |' B+ @2 i$ j
        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);/ D' r6 _9 p7 g& h7 r

) T1 ?1 J: g* N* |& A8 w* T2 E    /* Terminate the API environment */
) m2 q4 ]" Z8 j/ p9 B    UF_CALL(UF_terminate());
( w. \2 N! K3 ~$ z8 e# y2 Z, c}
9 m0 |6 O' R0 i. T  O3 L7 J7 }( E: F
/*****************************************************************************4 U0 f& P4 x/ L' H# e
**  Utilities- y. R" u# u" x8 D( ?9 R
*****************************************************************************/% g, Y9 L( l/ `

1 I0 y0 B% V1 `+ H+ d/* Unload Handler
! r7 q) x5 N2 B8 |6 \8 F% E! K* Y**     This function specifies when to unload your application from Unigraphics.
2 U: |3 d8 ~: n) I' |**     If your application registers a callback (from a MenuScript item or a( J' G+ z- l5 f& D. h
**     User Defined Object for example), this function MUST return4 l( U/ q' V, p7 T
**     "UF_UNLOAD_UG_TERMINATE". */; C  v+ k/ [2 g+ A4 y
extern int ufusr_ask_unload( void )3 b2 q- b" q& }2 t) \# b
{
* O- I4 v0 Y" U) t    return( UF_UNLOAD_IMMEDIATELY );& C+ P" q2 }& a
}
5 B: @$ b1 n4 ~' f
# F+ x) n; S5 X. f. q: t# B; O8 p$ o' b7 f/ Z; `# x7 d$ \

1 a; L# o+ C) t  i9 z2 ?$ H1 q) q2 y7 [' F; W4 w# U

评分

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

    我知道了