PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑
3 V/ _* ~  l" }1 S9 O# Q0 K- x7 P  H% r+ ~  ^
; m! x9 m: w: n) l! g% _
11月16日培训课程的作业,运行效果如下图:
0 a+ U. q' o$ C test001.jpg $ H/ S: V2 H/ ^: Q8 L2 r

4 ~7 z, F9 j+ L1 `4 c开发代码如下:$ E* o  v4 d  \/ s# l
) Z9 K0 q) ]% v. A- V3 ], Y) s
/* Include files */  K  v8 R$ {; i$ p3 `! o4 ^, n
#include <stdio.h>/ y( P: i# {' F: t% ~1 s
#include <stdarg.h>' ~8 y3 D4 g$ [
#include <uf.h>, z$ c$ T' D8 o2 }3 t; n4 `- o  {
#include <uf_ui.h>. Y; f: Z2 Q* F# b3 w
3 M" Z" d" v# S
static void ECHO(char *format, ...)  D+ _1 ~7 R+ ~5 d0 T, g
{) X, T! _% E, c- o/ y0 R* K
    char msg[UF_UI_MAX_STRING_LEN+1];& ?: @  _  r1 i  M& [9 e. c0 d
    va_list args;
7 Q- R, i2 Y; r2 C$ ^$ ]& a7 x    va_start(args, format);
0 s% p; |$ W7 ^' Q8 B/ w& A' C+ s    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);$ r1 P1 y! t; ^6 u2 [
    va_end(args);! Y: f6 q1 c' H: v$ f
    UF_UI_open_listing_window();
% ^8 y% A2 X3 C  u    UF_UI_write_listing_window(msg);/ n2 S# f8 R( k& y* V! f
    UF_print_syslog(msg, FALSE);
7 F% q9 Z9 E, w- m4 C# J}' n! B: J" `' _  k" i( A

( v5 _$ `! J6 ^0 x  [#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
1 R  e, Z3 j6 S( `* d( w7 O: V$ ]; \9 G- L
static int report_error( char *file, int line, char *call, int irc)
2 @" Z: w& Y' o7 m4 v{
* I/ w, u/ O& ]/ t% B# p    if (irc)* Y8 k  @$ A: X! _" ?$ A3 D
    {
1 q4 B$ N: c2 z! c. y6 E8 y( l( L        char err[133];7 ?3 F% Y! g* g8 \! [8 a
/ U+ Z- C9 i+ u" o1 {  t6 x
        UF_get_fail_message(irc, err);: |, P! o' q' q: u% M, W
        ECHO("*** ERROR code %d at line %d in %s:\n",1 ?. R$ L, B% Z- E
            irc, line, file);
! C0 [7 Z" h9 _/ s+ \        ECHO("+++ %s\n", err);
- _2 r. P! U. V- n        ECHO("%s;\n", call);
9 c3 K& v; T" n) j    }1 T) n6 p% }6 F
. T0 W5 O( a* D# K- T
    return(irc);3 b4 e' i) }+ S8 Z1 u# m
}3 {% h/ a- p8 |

  U+ {/ B8 I8 Y% Z1 F  s0 ?) G* Z4 |' m$ Y) ]) x: b) @
/*****************************************************************************
8 R% q# U; i8 g2 n# _**  Activation Methods
+ q' `/ z) G% k! `0 n6 M8 a*****************************************************************************/6 \* U( |" F# f# e: Y3 c
/*  New Part0 a$ m: _1 B1 J" O" P& K
**      This user exit is invoked after the following menu item is activated:
3 G9 d' N  P% M0 \6 A**      "File->New" */' ^7 ^9 g5 m  P" x% x( j' x
extern DllExport void ufcre( char *param, int *returnCode, int rlen )
" P  d  C/ |3 h1 C2 U2 C8 R{! e' T8 g( _: b& Z! I# ~% w6 p
    /* Initialize the API environment */, E: v7 l1 G" Z# A' b. y9 Q7 h
    if( UF_CALL(UF_initialize()) ) 2 s) y5 a6 E) n$ m% V. _
    {# r6 g! \0 _! `
        /* Failed to initialize */
+ W3 P' i7 g  Y/ W; x        return;4 Z9 h; R3 |- O. c
    }8 s; P& @7 y1 n+ u

& c2 }$ G! ?" a    /* TODO: Add your application code here */  n2 T; b. b4 R( _

4 T' T. Q! ?4 C/ _: }1 @$ ~        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);& }+ e( P& a9 A& [( U' s- r' p

3 ]  g" r8 g: ]9 [& F    /* Terminate the API environment */- l8 Z* ^! p- K
    UF_CALL(UF_terminate());; M. \* _, t) X
}
4 H: t! Y/ Z+ i0 E
, w/ V7 b9 K$ Z( `" I7 |/*****************************************************************************
7 f2 ~3 w5 C6 E* ?, \  K**  Utilities
0 T: k; h& Y* }* X: ]*****************************************************************************/0 Z8 M& q* ~* r/ u+ X; Z+ l
: H5 K& C8 X4 Z+ x/ R1 P
/* Unload Handler5 d2 g8 r. e# c* f6 h
**     This function specifies when to unload your application from Unigraphics.- a+ T1 r: ]. S, k
**     If your application registers a callback (from a MenuScript item or a
0 U' u& i% c7 F% H2 H0 \: V**     User Defined Object for example), this function MUST return
' y4 B; o* ^) D) x; C2 `**     "UF_UNLOAD_UG_TERMINATE". */* J  x- r  c1 ~1 T8 e6 ]6 [
extern int ufusr_ask_unload( void ): d& q$ V& t( c/ u: T5 M
{% J0 u$ h( A2 E/ b4 X
    return( UF_UNLOAD_IMMEDIATELY );
7 e& v* ^* E- m$ R$ V" F" W}
4 I1 u! `% `+ x& D
) ], q6 ^5 w2 I7 w/ H  I
% b7 i4 o  w! d8 X( @& t* J
& [8 H' E) p% p- t- T
, l% @6 {) H7 S  G1 M  z

评分

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

    我知道了