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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 1 m# R# l: x/ g) X4 y
: l- f. S8 E: y. `

1 v# O+ [- X% Q, V11月16日培训课程的作业,运行效果如下图:
; C$ n$ i0 r0 e% a7 w" d! E test001.jpg . q2 M/ O# R: Z; m- l* U( C
  W' S2 U& {" D. X/ }/ s# |
开发代码如下:
5 b& n4 T" M0 h: ^; p7 ?/ _( A1 _( ]* P0 A# B! y9 |% x, b6 o) @
/* Include files */
* }5 v; C% @7 E# W3 B#include <stdio.h>
6 |! A# |2 r8 C8 m#include <stdarg.h>' i3 j5 Y8 @0 X- v. q- h
#include <uf.h>" {+ Z3 |. w1 ]* Z' D2 t
#include <uf_ui.h>
- `9 Q# g; T# |2 P4 z0 P
# [  A% ?) K8 |% D# h  y! Xstatic void ECHO(char *format, ...)
' b  ~+ U% ~6 k! l. B{0 G1 I' A; Z! s# ^" o8 Q
    char msg[UF_UI_MAX_STRING_LEN+1];# W6 d+ X( t" }. k( _* a
    va_list args;1 \" ?; p, f; Z# g. A
    va_start(args, format);* V2 Y4 L; f; O
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);5 C* C$ D7 I& m/ J. t7 L% @# `2 p3 [
    va_end(args);
5 h# D8 x9 s$ Y: Y& V    UF_UI_open_listing_window();
& z( F! ?: l& b8 J    UF_UI_write_listing_window(msg);
' e9 j: v, |/ F, r3 N    UF_print_syslog(msg, FALSE);
0 Q2 K' Y: N$ ?- O% C}
( @% ^2 U- }6 h6 Y' f; m; f, J7 D1 x+ _$ ?6 L
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
' w6 K& V# o; H, j8 d: f3 G  d; G! l( E
static int report_error( char *file, int line, char *call, int irc)
' l1 U/ y- H0 t1 l8 y" D9 p( \{8 m9 d8 r1 f; m2 g) q
    if (irc)! r/ D1 h0 ^5 C
    {9 i& ?% ~) V, G
        char err[133];3 q0 M4 T& H/ t$ Z* d4 V
8 s& ?: b9 x" l* Z' r, Z0 p
        UF_get_fail_message(irc, err);/ f5 I" k  e* @- R2 X9 e
        ECHO("*** ERROR code %d at line %d in %s:\n",9 W, u& n; e$ R1 B% @- e
            irc, line, file);
$ R, i  f* |! {5 |* B        ECHO("+++ %s\n", err);
6 a. w* j. V1 X        ECHO("%s;\n", call);7 K; m# |+ X- I
    }
9 [( A2 l' z  e1 \
% A9 _" k7 c- r    return(irc);
; o2 n" C6 N% y}
" A5 e/ H* k" P2 @( [5 S# ~/ S, g; t

2 `% z) g) R' r/ v/ L+ n; q/*****************************************************************************( e  Q' v1 A$ y- k6 K2 h, x
**  Activation Methods2 P: O$ g0 \" s) F" m
*****************************************************************************/
+ m! g. p1 X/ ?7 I% x/*  New Part
4 U  t  r+ J2 V# ?! N! S**      This user exit is invoked after the following menu item is activated:' O& v6 H1 y9 R; P+ ?" i/ _
**      "File->New" *// Y% A* B/ ?2 g! {
extern DllExport void ufcre( char *param, int *returnCode, int rlen )
" S2 q9 v0 s. K( R6 x7 a{1 |+ W* y) R: O9 [3 h
    /* Initialize the API environment */
, Y. N8 c! A& t; ?    if( UF_CALL(UF_initialize()) )
, `- N/ Z6 c: a( Y! l    {% w* j/ W) l; T+ ]# D( \
        /* Failed to initialize */
, w. E) q8 G! N  S3 P: O9 S5 f        return;
8 V7 I; j) b6 \0 }/ l, J& P    }
- ^$ _, T3 Q5 J1 z: b/ K& c8 S; T$ r
    /* TODO: Add your application code here */
/ V& Z, S6 o; l* L
' m$ D( d; F' ^8 ^$ D* D. \        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
/ C# z& A7 c1 M3 @5 B: n; p$ V+ K* T
' B' I1 P  m* |" R; c# P& u6 r    /* Terminate the API environment */
' x" h' p1 R9 y- I: a8 e! g    UF_CALL(UF_terminate());
3 u8 F5 ?7 f9 q}
4 {" x; r6 j7 |2 A$ Q* R3 }3 n: _0 \' h% C* |
/*****************************************************************************
; M( W  L6 q2 h7 u- s7 F0 s**  Utilities8 _* l- h. k: R3 d0 P) G' g- W
*****************************************************************************/
+ F  `: O8 Z/ Q6 M7 U' ]- A* S) ?6 J9 a2 t8 S. Z* ?
/* Unload Handler7 K3 }; Z( b# H9 r; c
**     This function specifies when to unload your application from Unigraphics., W, t! i+ z) p+ ~9 q4 K
**     If your application registers a callback (from a MenuScript item or a
3 y3 @( x# O, `4 H  v. m  X% O**     User Defined Object for example), this function MUST return
% x: i8 O4 G* {+ G& V$ G- Z5 z**     "UF_UNLOAD_UG_TERMINATE". */4 P8 N! g) f% W) Q" a# Q$ \+ V
extern int ufusr_ask_unload( void )$ `( q0 ^* X+ u$ i; c( a7 m5 F
{3 o$ W! {, \  G7 E9 f9 V
    return( UF_UNLOAD_IMMEDIATELY );  G$ ]$ q0 ?, g. T- q, r
}
% B9 Z2 o; Z; ]' v  G2 g3 Y1 G6 y3 p& e$ Y2 k6 }
4 b* {. |: }: l/ i* L4 f  g

5 O; U4 M) e3 t8 g: I3 |- n/ C- Z: ]- w& s4 L- Z' C

评分

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

    我知道了