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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 # h: y  u3 _3 A

! f2 M3 e2 Y; Y* \# ]% x% ]! s' U& b* K. i
11月16日培训课程的作业,运行效果如下图:
$ `7 E9 v* O3 }4 N test001.jpg
! p0 [4 N1 U) U# L8 W
1 M! m& c' |& y; y3 ^开发代码如下:
0 q" R* L* Y, `; _; E0 H4 \, u# q1 K  ~* a& }
/* Include files */
) n" V6 C  T5 o#include <stdio.h>
( A& d+ q3 P0 J* l#include <stdarg.h>
, f8 l* w$ y0 d6 e* u$ V2 K4 Y5 q#include <uf.h>
; K7 B! ~! w* u9 O# j2 C#include <uf_ui.h>
4 d0 ^3 H6 J  p( [
6 K8 q0 ^( i0 estatic void ECHO(char *format, ...)1 \6 V& F+ G7 V3 h
{
: O) t0 z) G$ a' ^2 t6 R0 N    char msg[UF_UI_MAX_STRING_LEN+1];
1 ^' A% W0 f1 p0 z8 x& b" j    va_list args;
# X) l, p- x1 o# I+ e# x# p    va_start(args, format);
& o. }2 @& O. ^8 F" A/ f    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);" D( W. c: r4 n5 n& I& H( a; H% y  @  E
    va_end(args);
. ?) S7 Y& h, N$ O1 r    UF_UI_open_listing_window();
% I3 R( }+ O( S( M) C8 y- Y    UF_UI_write_listing_window(msg);( N. L! s, l4 ]- S7 ^" |
    UF_print_syslog(msg, FALSE);, C3 t  y( U7 [  n; U
}% c" s' I+ W2 Q6 D* @$ F4 c

( d! H. \* n7 D" o9 b+ o, B#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X))). k4 x2 n" @4 \
1 ~) ^* G: ~9 _$ w6 P
static int report_error( char *file, int line, char *call, int irc)6 |/ C2 u: B  O9 ~8 d2 m
{% L5 s7 W. d. I  F
    if (irc)6 v, v% L% g4 X1 A2 O
    {
2 c8 M) o' c1 a4 _7 K2 P3 C( y        char err[133];
/ A( ?6 E; t6 R. {+ X1 O1 k1 c" d# C, ~. n8 B. }
        UF_get_fail_message(irc, err);( S* E3 W* d6 C* x4 J
        ECHO("*** ERROR code %d at line %d in %s:\n",
! w  e2 u. p/ C            irc, line, file);# c' B# _: n. D. L$ u
        ECHO("+++ %s\n", err);7 X& E9 B7 l" Y! |
        ECHO("%s;\n", call);
9 Z: {& ~3 u$ {    }0 k. n& h# L# c$ M

6 L4 ^7 L4 v* O" v- {2 z! ~    return(irc);
# j4 c$ P1 e% W& y}4 u6 d9 `/ [  S' o+ n  ^
7 D, q( T! S9 g9 w1 @6 W+ L) X
" }, ?* z. s) F  x9 P! S
/*****************************************************************************5 m% D! A( ]: y( S/ ], w
**  Activation Methods
5 A. U; ^" s6 u*****************************************************************************/
7 w% q9 k! p/ S3 V. w* x/*  New Part
6 ~* W$ H1 K' r0 H**      This user exit is invoked after the following menu item is activated:
: [4 Z- W! T- E. N2 L) c0 |7 `4 X& e**      "File->New" */
- v) y8 e  T+ U1 }extern DllExport void ufcre( char *param, int *returnCode, int rlen )
9 R, D+ D! B( p, y$ K, ~{" W2 |+ q; D* c& q
    /* Initialize the API environment */
- b' o, I0 e& s- u    if( UF_CALL(UF_initialize()) )
8 k+ v4 l, q2 b. S9 f( x    {
* {  d# w# @- e        /* Failed to initialize */% x" w* R' [5 _  P6 s, @3 X6 |) F. ?( I
        return;& l3 ~# X8 a! u% J  N! m5 E
    }/ N5 V. I3 j, ?* \8 K
3 R% V. }7 H$ J( |8 M
    /* TODO: Add your application code here */
2 v7 t! g: h$ y/ H) O3 D' K7 X  B4 i6 a  P# A  l
        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);( W+ ~7 `3 e+ W* E# Q7 A$ A% L
5 m% R: P$ }! W+ u% z; I( B2 @
    /* Terminate the API environment */- O9 d6 x+ Z1 w3 @5 D
    UF_CALL(UF_terminate());$ {" V( m: F3 K3 R
}
5 y' J7 m; y: D' x) v4 q
) e: \0 N( E- O  K: J/*****************************************************************************
6 s- T8 O) s. N( N5 V) n! W**  Utilities
0 h% m# ]& }  v1 e) c*****************************************************************************/
4 O2 @( C( I+ c& }# {- e% e
; u+ B0 r2 b9 j7 R' F/* Unload Handler
  V/ K' m! z# A3 E**     This function specifies when to unload your application from Unigraphics.9 P( ^7 H5 O7 X# x! a
**     If your application registers a callback (from a MenuScript item or a6 k  X' t# L) f
**     User Defined Object for example), this function MUST return9 y2 {3 |" t% i; w6 @6 H
**     "UF_UNLOAD_UG_TERMINATE". */
1 {2 g. U2 a' j! G4 f, F5 o! fextern int ufusr_ask_unload( void )- V1 _( j. w5 K: c, B- d. Z
{+ ]5 n6 S; A. n: f* X; D
    return( UF_UNLOAD_IMMEDIATELY );# |6 z) Z2 u$ F. H* n  ^7 L
}  u6 `1 ~* t( \' I* i* Y

; k* R; S; u; `1 x) S# M% l  K" T" K. Q% Q  R7 L2 \& u  ^

0 O. x& v( r0 C$ i/ O  q; d. T
! n+ p8 \6 b* V) e; n

评分

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

    我知道了