PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑
( r% v& u4 Q1 E( _- x  {/ ^6 T' |+ f- _2 r: Q/ W* z& E

! p! i5 K4 u8 `! D* Y/ n11月16日培训课程的作业,运行效果如下图:
/ K# v; }6 f. a, {+ v, E0 \ test001.jpg
6 I$ ?4 |' \. U0 w6 T8 z0 `/ t) H5 s+ L8 R* X
开发代码如下:
# R, B" H' x0 s4 P
/ J: P& ~7 h0 J# G% ^8 y/* Include files */7 k8 M; l6 {. M7 V3 h
#include <stdio.h>/ a7 S! U/ b" Q5 S
#include <stdarg.h>
9 Z# Z* x7 w; g& Q8 ^7 u) U#include <uf.h>
4 j3 ~; z" T) t( s" F#include <uf_ui.h>  _! O1 c* k3 v  {3 Y
' T+ ?! c. @0 h, I/ J
static void ECHO(char *format, ...)2 y/ l# b. f! ~" `/ r
{
7 @' M+ I- T! K) T    char msg[UF_UI_MAX_STRING_LEN+1];
4 U6 {+ P+ e" q) m/ a( s( B6 x( ^    va_list args;% Y0 F! F( R2 R+ e3 l+ p% R/ f
    va_start(args, format);
' w6 R; I8 D& o' _0 k    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);; K# m+ W9 C3 y" w! Y
    va_end(args);( g/ j; t; S8 \9 b
    UF_UI_open_listing_window();
" K9 `; j1 T% V) U8 c& \5 J    UF_UI_write_listing_window(msg);
$ p" N+ h0 d, O# L    UF_print_syslog(msg, FALSE);" b* c0 ?& X3 A4 g9 f/ Z; z
}
  G9 e" ]! C* {" @+ \+ D) r  ]* D* G: {  j
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
, \( [9 Q+ s# c: h4 O0 H% t
6 v' H+ {& y/ w- lstatic int report_error( char *file, int line, char *call, int irc)
% P/ G3 B* o* G" L{
; N# |  M% ]3 x$ r    if (irc)( h4 T! m) d9 v7 J9 U
    {
+ i& z/ T- n0 J4 L        char err[133];8 C4 N9 b9 P' \2 v2 u9 g

6 A6 \! U: S% W0 h0 V" ?        UF_get_fail_message(irc, err);
+ c7 q# u- j/ i- R$ r        ECHO("*** ERROR code %d at line %d in %s:\n",
. ?  E. f3 M) e3 H            irc, line, file);
5 F+ E  K+ m# h/ p9 i        ECHO("+++ %s\n", err);" H9 L1 `% R% ]* o5 S; @* n/ H, H' `
        ECHO("%s;\n", call);3 _) B5 z* C, t$ v; r
    }8 ^3 I6 P8 b2 f% O

" A4 n( h  M! F- G% _: W8 x' S- h: @    return(irc);& `& q) w+ j3 n9 e& K$ n  R
}
: ^9 w: _: R' u% P5 q; r
& c3 G+ B/ g: V# @
, a( T* Q1 R" o) K4 W3 ?/*****************************************************************************
, x. U( ]7 g. l$ t4 T  C**  Activation Methods4 D2 Y+ N* s, [6 K
*****************************************************************************/9 B4 B1 H. y1 B- ]9 }( ~
/*  New Part, L& ]* `5 Y: B; X# I1 m  k* m
**      This user exit is invoked after the following menu item is activated:1 y. U2 _3 }! s4 D
**      "File->New" */9 U; `# r+ `5 [3 y
extern DllExport void ufcre( char *param, int *returnCode, int rlen )2 s" @9 `/ r9 b! D; ?. T
{
/ ?2 w' J& l7 V" [    /* Initialize the API environment */
- P! k9 v0 o0 @1 p$ U    if( UF_CALL(UF_initialize()) )
8 ?- q" \- E) f6 H0 b    {
6 q% W& N9 R% {! G: W        /* Failed to initialize */
  ^9 P4 Z. U4 l3 N+ Z, @% c/ t* r        return;
9 r& ]+ b0 `# k8 \( f% I2 }    }' k' |& e9 w% C( U: Q2 j2 x! C, x

; M2 Y0 _2 E7 |2 i, t4 Q* V3 M    /* TODO: Add your application code here */) O3 j0 I# F! j+ ~. C7 H! P/ A7 `
, r1 |3 {$ H* f' N3 L
        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
/ e) G; v' G% L/ }8 E* r4 L
8 Q% j2 p0 y; ?, Q3 t2 J3 |    /* Terminate the API environment */
0 v" [$ o; |1 s3 u% a3 }* K$ |; _    UF_CALL(UF_terminate());8 W. v2 Y9 _4 {. n5 ~" K
}
$ a8 Q% A6 `; c* p0 Z5 S
6 k$ i% l/ R+ a0 E3 I2 e3 z+ u& l& B, o( Y/*****************************************************************************! q: k' E" @" o! ^+ S. k
**  Utilities
+ ], Z$ \/ X% s1 L( @- P3 F  t*****************************************************************************/
' j" x5 a% k2 p  i% d9 N; Q# `: m# G. U, X. j! f
/* Unload Handler
* `" @, J& u" k/ z**     This function specifies when to unload your application from Unigraphics.! P: V8 S1 h2 S- _+ q
**     If your application registers a callback (from a MenuScript item or a
, o- \3 L/ \! B) m5 C**     User Defined Object for example), this function MUST return( d8 m& j" H" X5 D2 X0 s. c
**     "UF_UNLOAD_UG_TERMINATE". */
2 d- \' r$ N. j9 O$ M) Iextern int ufusr_ask_unload( void )
( o, }8 s4 c- C  C+ b{
, [& H2 w/ s, J" L( |7 J  B    return( UF_UNLOAD_IMMEDIATELY );6 V+ s3 u2 _! p- a8 c  K. m( O
}
4 J$ x7 g7 H( `$ n( w" D8 g6 Q! I) i- I
4 L9 d- ]9 H0 o* N# H! M3 x( c' p5 U+ ~0 g) B& l
' F* d: ^0 G4 y7 ?- A3 @1 ^2 ^
2 B1 |+ U1 G# n+ {5 K  l; W

评分

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

    我知道了