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

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

  [复制链接]

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

2

主题

9

回帖

118

积分

培训VIP会员

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

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 ! `  p2 ~8 t  z1 |

; @& m2 Q& t9 `2 u0 _2 z6 ]& X3 T2 W0 I) H, M
11月16日培训课程的作业,运行效果如下图:3 G  V8 j6 G+ ?' Q( h+ J
test001.jpg % D7 W5 |& c0 K8 g8 a5 v0 V+ U
0 Y$ S/ u$ ]* Q8 ~% z+ M9 A
开发代码如下:( J+ K" ]6 f* Y% j

+ O/ m% e, C- Y& I- K/* Include files */, g& p8 P" u) d% B, E; Z, W, i
#include <stdio.h>
4 [& \4 p+ A5 `. w# t6 Q9 a#include <stdarg.h>* ]/ n0 J' A1 w$ v7 d* H
#include <uf.h>
" @9 E! [8 i0 r9 ?* Z  h#include <uf_ui.h>
& x& B' g$ ?: I) S( d" @7 m
: I9 B, }* J$ K3 N( ~2 Lstatic void ECHO(char *format, ...)
9 @" R2 R: z. i6 f{  b: i5 F; {& F- s8 c
    char msg[UF_UI_MAX_STRING_LEN+1];/ S8 o2 i: w" @1 H6 s- x/ G
    va_list args;% d2 U/ E- n" G7 o6 I
    va_start(args, format);
& m4 Z! P' b+ k$ u8 q; E0 l) ~    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
8 S  H' j5 w  G$ Z    va_end(args);
( s* A! R2 a* \7 C. \$ Y2 }& R! P    UF_UI_open_listing_window();3 a, n0 @) e- k8 l, A
    UF_UI_write_listing_window(msg);* g2 D  f' R4 |( \) H
    UF_print_syslog(msg, FALSE);
* X9 Q* ~4 G1 f! v( [* v2 m9 M* Q}
$ F( [5 [9 n6 F- o# M0 f: F
( ?. j+ t( M" ]#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))$ x% F4 M$ H$ {2 `+ e0 n# k/ o9 v
+ K; ~9 m" a, I" ^
static int report_error( char *file, int line, char *call, int irc)
: s# P+ `7 {6 E" r1 k{
- A3 N; a- q; R+ h5 x    if (irc)
7 H4 U. ?: m" k0 `: ?5 \% e    {
, p! K1 j3 x4 \+ I1 n7 X        char err[133];
3 @! q6 \; z# b. H5 B& l( M, v) d
        UF_get_fail_message(irc, err);
1 P7 [' X6 E! \$ y0 O        ECHO("*** ERROR code %d at line %d in %s:\n",- z( x( R+ o% `& }' I+ i1 l2 r  z$ ]
            irc, line, file);4 ~  ^$ r( X  l4 E- r
        ECHO("+++ %s\n", err);
+ v% ^& S; @/ M+ H' Y7 L) I3 ?        ECHO("%s;\n", call);/ x( q( I% }- B# o# \
    }
) [- Q) h" @( s4 S, ~- z" p+ [' \: A: p. y
    return(irc);
1 _) `% b/ i; \. R" a' e2 A; n}
( G9 b  l& e3 [1 h6 d9 r( b- W
9 n4 u8 ]# k/ Q; e" D: L4 J
/*****************************************************************************
  t6 j- T% N+ t7 C9 y: a2 O**  Activation Methods
) F# A4 G) c3 U5 J*****************************************************************************/
, N3 s! I# ]9 r/*  New Part/ H) z  \( B: y, c) _# ~0 ]1 V
**      This user exit is invoked after the following menu item is activated:
" V$ t8 ]" e/ G# k2 c  b9 g5 r**      "File->New" */
7 b) l1 k5 P, L4 zextern DllExport void ufcre( char *param, int *returnCode, int rlen )
! l+ [4 ~- |5 N4 t9 l  Y- l( O, r2 F{
, a5 g" S# y: O    /* Initialize the API environment */
0 v( N9 y3 g# c9 D( _; d    if( UF_CALL(UF_initialize()) )
/ D; {- p$ N" j1 ]# o' {  w* R$ e    {. c+ V, V$ D& ~) t% Z
        /* Failed to initialize */
7 L: D4 M" H, W0 v  ]        return;9 R; D3 p% l8 W6 u+ s, p) r9 p
    }
& Q0 B8 A3 J8 H3 a8 E. e& C$ w# N/ M' N! f4 B
    /* TODO: Add your application code here */
' E$ f5 \: O- L
& d: j; s% X4 ]        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);2 h. X, h) t; x- X* j
% c0 z* ]# g2 A. C, _
    /* Terminate the API environment */$ k) ~4 U6 o, K( L) t1 w2 U
    UF_CALL(UF_terminate());
" [! Z2 x5 \) X* V# n3 m}
! y  a  o7 |8 u& Z" v9 A" B: o  a2 c; k! N* Q2 ~* ]! ~
/*****************************************************************************0 v" b: h+ u" Z
**  Utilities- g# t" S; l! c; G# m
*****************************************************************************/2 L2 f( T3 n' o

& E3 @0 R! L' \* Z0 U! [3 C/* Unload Handler
; N3 W% g  d7 [' P**     This function specifies when to unload your application from Unigraphics.
4 _! U( G  H# w% g: W( j: z: H**     If your application registers a callback (from a MenuScript item or a& W  N# j4 G* M
**     User Defined Object for example), this function MUST return
/ O" F& p% A. p**     "UF_UNLOAD_UG_TERMINATE". */( D8 ?/ j, @$ h7 N7 [
extern int ufusr_ask_unload( void )
* U# X! e7 ?- S8 O2 j5 s{
+ V" ^$ ]$ _2 y    return( UF_UNLOAD_IMMEDIATELY );4 R. G0 t. h/ \1 m  m4 }1 W1 s# v
}
% I, {0 F$ l! R! S$ X/ K& E" p$ a: z# ^- w4 ]$ T# O- F
. M/ a9 J$ t- J
$ H  ~1 d3 m1 t) O7 K  q: O

! Q- Q6 r) c0 c+ y# n0 R! B/ `- i5 ?4 B

评分

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

查看全部评分

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

使用道具 举报

全部回复1

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了