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

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

  [复制链接]

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

2

主题

9

回帖

118

积分

培训VIP会员

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

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 ' y% b/ m" ?, \
, |) W2 {; i' o8 k" d2 [) B# P

7 T0 w( f0 B! W' j5 u11月16日培训课程的作业,运行效果如下图:; g; |. H! N1 b. d
test001.jpg . q1 ?9 B& {! t6 S8 p, s  c
! _, [" n1 j) R$ ^3 u
开发代码如下:
9 P* Y9 E4 ^4 W/ S2 t
" j# b2 g1 g2 M! Y/* Include files */
2 t7 w1 A& O- a! w* I. u#include <stdio.h>
# T, ^! X, E/ y( Z% P! b#include <stdarg.h>/ k2 k5 M$ {& f9 S$ o
#include <uf.h>
( I6 L. ]$ A' n) \& L6 k, J  |/ G#include <uf_ui.h>6 p7 w0 u: u2 _( y6 Q) C. y
9 J) x( k1 B  Z3 B8 s* o
static void ECHO(char *format, ...)
, p- G# `$ k" \. b5 {: e7 X{
; _1 |7 Y2 @) V+ x    char msg[UF_UI_MAX_STRING_LEN+1];: R: u; p  _, W$ `# i
    va_list args;4 m+ W# e1 r, K3 D. T9 Q
    va_start(args, format);0 V5 @0 d: W% ~* J+ ~8 E- ~
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
4 i1 F  i' K/ W9 t    va_end(args);1 C5 y# o; c9 }) q* @# B" F3 p  J
    UF_UI_open_listing_window();
* R* b+ ~3 F/ T1 r8 ]6 o5 {: y9 z% d    UF_UI_write_listing_window(msg);
7 s8 S2 d8 `  |, ?1 y5 U* c2 U    UF_print_syslog(msg, FALSE);! }) \0 ]- X. u# F
}5 {" N% t8 M. ?# r. D% ]2 q( _

; M- V2 S- V1 O: [6 Z# I# s#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
3 C+ f2 Q0 v, C7 n0 N0 {6 L* G8 H
" q1 [1 B9 b: S3 j' O# Y. {3 Kstatic int report_error( char *file, int line, char *call, int irc). {0 }! B& M5 n) h
{. }  h* N: `# H5 J
    if (irc)
+ `; b& c" v" d3 J3 ]    {# s/ v: \2 p7 p. Q
        char err[133];+ A' N! p7 p4 t
) L" \! ]5 L+ n  Q0 c
        UF_get_fail_message(irc, err);9 ~' _( o" T4 I5 e' k/ l- C
        ECHO("*** ERROR code %d at line %d in %s:\n",
; H8 q. ]" L' }- }1 n            irc, line, file);
: _( m2 A$ z- _2 d+ L3 [        ECHO("+++ %s\n", err);2 [7 K. i, R$ H4 W; U
        ECHO("%s;\n", call);% p- N" V- L  R& L, U, F
    }( ]& c7 y9 o6 P5 b* T% _0 l

) c4 p6 s* f1 g( [! a( F    return(irc);. \4 g# b5 D' k' I$ h
}5 e( ]9 Y% s' Q" {$ T& _

5 F* C/ a0 }5 @% _+ G1 {
5 T) v* k% @1 q5 l; ?; D/*****************************************************************************
) x. u4 ]# b0 ]! \5 i**  Activation Methods) R/ Q  g& v) R4 Z- R* R
*****************************************************************************/
8 ?. ]$ C" _5 J# ?9 b6 P/*  New Part
, f# X# M5 T0 C2 u( ~2 c1 z9 Y**      This user exit is invoked after the following menu item is activated:% |  O1 P7 {! A" v4 B; l3 M. S1 o
**      "File->New" */
- Z# d8 @" H6 ^- Vextern DllExport void ufcre( char *param, int *returnCode, int rlen )" a  E; u. k  o  Y& D8 e
{" m9 Q  L- R: J: i0 x
    /* Initialize the API environment */
3 }6 W- b" `& Y! u( P    if( UF_CALL(UF_initialize()) ) ! v/ Y7 p; k. N! L1 Y4 v' G
    {, A* m0 y7 j4 e' u: n6 k
        /* Failed to initialize */3 |% O5 [" n! Q! d. X( |
        return;
0 |4 L9 U' b$ b; X    }4 }: ^8 o+ \' a1 b
; J: q* Z/ M# f, x/ f( }
    /* TODO: Add your application code here */) a6 K0 g' L1 k1 B# V5 G+ N! k

" P9 G! M5 I) r        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
7 f1 m- w9 c, u- s- e
& o2 H1 N" ^3 W* V    /* Terminate the API environment */) S1 y( t4 C* ~7 l* E
    UF_CALL(UF_terminate());
, [( i2 G5 p0 x7 S}
( S5 q4 |& Z: ~& C: d8 f0 D6 J* {% \$ N. m5 s3 K' m
/*****************************************************************************
1 D! P- D; H) C5 P! ^2 y$ Y**  Utilities
$ I2 C8 ^- B5 v3 e6 o*****************************************************************************/7 ^" R# i* W# B0 u# t, ^
$ N  k* y7 \, u$ k
/* Unload Handler1 Y8 @- x9 z5 f1 E) Z. `9 S
**     This function specifies when to unload your application from Unigraphics.
% p: J8 r# {" Y0 }7 o+ u" q**     If your application registers a callback (from a MenuScript item or a
* Y, H. q5 j4 I& _**     User Defined Object for example), this function MUST return4 o' y2 ~' ]2 R; ^( A. v
**     "UF_UNLOAD_UG_TERMINATE". */3 j( k) t5 P5 |( c4 N
extern int ufusr_ask_unload( void )) A* ?- j& z9 [. N+ g" Q  K1 Q: R
{
& K: p& B2 J- N( c1 ?6 _8 L    return( UF_UNLOAD_IMMEDIATELY );
6 F" l# r! }% g: a}
& J& ]. Z7 W+ X/ R: [% |
# ]- z4 G8 S$ a! i9 t4 R2 o( m1 d; Z6 K, q. x* N
1 g  p% Z8 z* {3 [  P" l
* c& N9 o- h0 o8 @) P; s" V$ T* L/ p

评分

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

    我知道了