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 3455 1

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑
2 f1 ~- q' R: x2 ]1 q+ [1 l5 o! o$ s; i
( n6 |: w5 B# t5 w8 v/ R
11月16日培训课程的作业,运行效果如下图:
6 @2 g( M5 I# e test001.jpg
/ b; D, |4 U+ q9 d
2 H( k6 [5 Z3 \1 x- u: a4 G开发代码如下:) O9 k3 ]. T0 {5 K2 P

6 W5 R- e; z8 ^/ Z; ?! f/* Include files */
, X# S9 [- c+ j# }+ B" d' ?#include <stdio.h>- |6 l) c2 N+ R* _5 J: M2 P0 [
#include <stdarg.h>' i0 p" B0 e" _$ `" H
#include <uf.h>
  q, r9 B) F/ F! w#include <uf_ui.h>
% u& x& L5 W* G* g' i8 Q& ]/ g( H) Z8 w& r$ G' k
static void ECHO(char *format, ...)
. N/ F) E  E5 }* O9 q{6 I; j6 ]. H; H( m. }0 p* R0 E
    char msg[UF_UI_MAX_STRING_LEN+1];
' [" s5 ?" s$ f. ?, g/ T1 p    va_list args;7 Q9 A2 z! t: U% Y
    va_start(args, format);& u6 ?/ g8 r* K5 [' e7 z0 F! @
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
8 K% k' J) Q; W+ a    va_end(args);# \5 z# P) m' c: V  V, ~$ G) G, K
    UF_UI_open_listing_window();
) ]  f/ a, @' H* o' F5 V3 e$ m. N3 x    UF_UI_write_listing_window(msg);! e) N7 g+ Z+ P0 O" [# O3 M
    UF_print_syslog(msg, FALSE);8 p0 p' Y8 P. \* R* a- X" P' i
}
& y5 O$ V4 f5 p$ }9 j1 Z$ Y. d' A4 S2 X8 h. H9 u
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
- A! S3 I; Z0 t2 ?+ j! J( V+ f3 `3 q) l# Y9 h) s1 L* L- m+ P( j: G
static int report_error( char *file, int line, char *call, int irc)% j, K3 h0 e: X* }+ s0 A* T4 Q* E7 U
{
* z% L* y# y5 Y    if (irc)
3 p6 C0 D& o  O0 d* |; T1 d  I5 \    {/ w3 j: W$ d5 ^. x
        char err[133];
+ ^- e3 T' l+ Y9 D: a2 a
3 c/ U" z5 F- S* }! k        UF_get_fail_message(irc, err);" K% ?" S, k% I' `! i
        ECHO("*** ERROR code %d at line %d in %s:\n",
' V- V2 ]- O6 a8 s2 A0 _5 {            irc, line, file);. U, o8 T7 J& n- T8 C/ m% s! c! ~. [
        ECHO("+++ %s\n", err);
; h" `9 B4 q" S        ECHO("%s;\n", call);
9 s  _  K- ^% b: T# z    }
  x" H+ g* s" M
1 }( j9 M1 b" D7 s    return(irc);6 h# @5 J1 P6 K$ d5 P! y# ^
}; j. K7 `$ K5 w/ q+ }  z$ [, g8 Q9 H
. z. H3 @! F: v9 x, C! \0 Q
( t: h( H- C) o( ?; F' I% j. R
/*****************************************************************************$ B$ b+ Y$ o+ e3 l) @
**  Activation Methods& {' Y5 K; M" A; H. o& D1 Y/ \! S
*****************************************************************************/2 v& i# e: b( y5 A
/*  New Part+ A3 [3 }$ r1 n) a
**      This user exit is invoked after the following menu item is activated:  q5 M# R( M8 Q. G5 t
**      "File->New" */1 A( V$ u8 {5 J- q2 _% `% }
extern DllExport void ufcre( char *param, int *returnCode, int rlen )& v) ]8 G' Q0 d  c  _" X# a8 Y
{' e4 Y+ d' q0 N% Z1 p5 n( W
    /* Initialize the API environment */. A6 V2 V2 z' z/ z, P! \
    if( UF_CALL(UF_initialize()) )
4 g' b- n$ q" P0 U5 G    {
4 z6 K6 R* ?5 _7 _( s" O        /* Failed to initialize */
3 z+ B& I: P1 B/ z; z        return;
  s+ N7 e! V1 x" ?    }) ]. `& S. q( h* B! X

7 a, |7 N/ q1 a6 n  X    /* TODO: Add your application code here */
0 v: w% S6 V* n6 b& G2 _* S& W4 u2 u/ T# O* q+ w) d( D6 H
        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
. R8 w- H' d# t' B: _) [. ]+ L" T9 S6 R, W. I$ k
    /* Terminate the API environment */
& u; u6 T: q- X$ X4 l. A( N    UF_CALL(UF_terminate());
( \; q8 i: h9 d' D}0 J' S! I; u; g

* O3 a4 m; O8 {2 ^/ a( @8 F7 g: N/ j/*****************************************************************************; [; A3 \3 Y' z, D6 y8 Q6 w9 P& y, {
**  Utilities6 ]0 C4 R/ c' b$ M9 D* p" T9 d# w0 Z
*****************************************************************************/; d- O# m* p4 @* S# L4 N

9 [4 Q+ P( `& W/* Unload Handler
% I7 J5 t( H0 c2 Z  g  b**     This function specifies when to unload your application from Unigraphics.) H0 V9 W; P9 u  `; O3 ^
**     If your application registers a callback (from a MenuScript item or a
( q* G& H" d- b1 e**     User Defined Object for example), this function MUST return
% ^/ l  ]- x$ W# b1 J- {* Z( c7 h**     "UF_UNLOAD_UG_TERMINATE". */
. @% c" h$ ~8 S+ Eextern int ufusr_ask_unload( void )
, H- r! ?% D- O% }{
  _" h% A, n: l7 x    return( UF_UNLOAD_IMMEDIATELY );# K1 Z2 n, O" d7 w% L+ J% M+ s
}
. h9 v+ [" f: u' t: V' F1 F+ H% b+ W$ Z/ ~4 W. W
; L6 q8 o% G3 M/ {' m$ Z1 o
5 z8 s& l3 O; Y7 d

5 `5 w( m: a! q. R' @' X" p/ G

评分

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

    我知道了