PLM之家PLMHome-工业软件践行者

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

  [复制链接]

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

2

主题

9

回帖

118

积分

培训VIP会员

积分
118
发表于 2014-11-17 16:45:55 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 5 T+ I0 ^# u: `* C# @

* D  K- D% ?4 c- p) ~( p7 D' S
! G! l: q" Y' P) f$ v11月16日培训课程的作业,运行效果如下图:
# d9 r, \' \& Y9 @5 a. y1 C/ Q$ k test001.jpg + K' I* o5 `: y( v
& m* e( T4 ~7 b9 d
开发代码如下:! w' Y9 q8 p& g

0 @9 j1 e' H4 ?  f: d. o$ Y/* Include files */1 D6 @: Q0 C9 Q; q5 \- v
#include <stdio.h>
) |2 ]0 A7 Y' I2 n' k#include <stdarg.h>
7 l9 f1 y* [7 b" h, z/ G#include <uf.h>
/ N6 k# j! x0 L  S3 x#include <uf_ui.h>' Q: p6 A" Y7 u$ f# X% P" ]! @/ a* G

% D6 p. n. }, A$ d; S  x% Z% Lstatic void ECHO(char *format, ...)% O5 L( l' \8 V6 R- n) ?
{
  @9 K+ E# ^& c' W* N0 H8 ?    char msg[UF_UI_MAX_STRING_LEN+1];% i* ]5 K8 X3 Y/ S- n/ W* y
    va_list args;3 L+ F6 V) o5 @% F3 f: j" h
    va_start(args, format);- z# o. z; T5 }5 L8 E) H
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
: }% X4 ?: W% @7 O    va_end(args);- O% h3 l: C4 C
    UF_UI_open_listing_window();. W7 y; h0 q/ O! R7 z) l
    UF_UI_write_listing_window(msg);( x4 ]( n5 n9 u/ r
    UF_print_syslog(msg, FALSE);
: z9 u% Z" Z  v}, i* @) u+ ?0 P, u. \4 c* \4 u

  ^* S" Q* j" J- v/ n#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
# a6 ?) P( t2 q! m* W$ I* l: P$ {' `( p; e
static int report_error( char *file, int line, char *call, int irc)
! V6 Y  Z3 x) U' B( D; v{7 L8 N& n7 d& R- d7 |9 k! R  H
    if (irc)
. U% _/ y5 E: n5 Z: C4 Z7 z+ g    {) O! \& k2 ~, D- A3 a$ a- @
        char err[133];
. \6 N, ^& G! X% x- T3 B0 ]' I
  B' @) c3 o0 ]4 p' |7 a( l9 j        UF_get_fail_message(irc, err);& B5 w7 j/ I8 B$ r
        ECHO("*** ERROR code %d at line %d in %s:\n",* Q7 `" H8 X% S# {
            irc, line, file);
7 i/ F7 Y1 j& H" A0 k1 A" l: b        ECHO("+++ %s\n", err);) ?3 O3 l! f$ Q3 D) p$ Y9 M/ _
        ECHO("%s;\n", call);1 r: N3 u' I+ j8 k. ~+ C
    }& ^1 S* _1 v7 O3 s9 N: `) ~6 F
- E. O5 |/ E" U) ?) D6 [+ ~  ]
    return(irc);. U$ [9 X6 q, g8 Z5 n
}: T6 i/ S- Q: Q7 A
3 @+ W2 X8 Z7 B# x! i* {3 n) u( c9 t

, H9 Y) D, L) g) t% f0 p; w. s2 _2 O/*****************************************************************************8 ~: T& V8 O  m. `$ V9 m3 r* i
**  Activation Methods
6 Q2 l7 e1 t$ Z: Z6 U! s3 ]*****************************************************************************/
- U- [) ^2 c0 e' ?1 X3 B/*  New Part; Y: |/ C. f4 J, K) n
**      This user exit is invoked after the following menu item is activated:: I/ X1 l0 I- A) ]# R; A
**      "File->New" */) _( v; }, {, M6 |. E6 W
extern DllExport void ufcre( char *param, int *returnCode, int rlen )
1 p* u8 [. a3 c3 D/ w{
) K. c; @. E( ^/ B    /* Initialize the API environment */( v1 O. m6 c3 S* _: @
    if( UF_CALL(UF_initialize()) ) ' W3 z6 ?/ C3 w1 N3 v) g+ E
    {$ Y7 n. B8 [; _3 V2 G
        /* Failed to initialize */
, ?3 d9 {5 `2 r& Z. i; }, V$ l9 M( Y        return;
) s; }& `0 a; P8 w# W' Y    }" z! G; G! v; E$ v# p0 R- a! k

5 ^4 C. V. ~+ \2 K3 S8 R7 H    /* TODO: Add your application code here */, d* Z0 Q5 y1 {# q. N# q9 m/ a2 T
) |) g! g1 o+ ^0 w
        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);4 D; h' G. v5 j, z5 s3 C  ~
- r3 _! Y$ J8 ]4 ], w4 p. j4 _
    /* Terminate the API environment */
6 U0 m7 s& S1 Q" G0 W1 M; O    UF_CALL(UF_terminate());
* X# {0 |, m, f4 k0 |; }}# @4 S/ `' n- Q! e4 D& D3 u

+ n8 ~% ^& q8 C# Y  W4 {/*****************************************************************************% ?) a# [# Y8 I) m
**  Utilities
4 `6 V8 s1 W1 \( K! n5 a*****************************************************************************/
: U3 E* H0 I4 C2 S% |& f, {- f% ]! S  p% f' T) z! g% X
/* Unload Handler
6 r$ y: U# ^0 j  h. R/ h( L& }  i**     This function specifies when to unload your application from Unigraphics.
. K- _, [' T0 O2 D**     If your application registers a callback (from a MenuScript item or a2 @% t' P* H, r$ [" \
**     User Defined Object for example), this function MUST return$ ?/ V( z9 A2 ^5 S4 r
**     "UF_UNLOAD_UG_TERMINATE". */# [. y/ c% j& A: y
extern int ufusr_ask_unload( void )
1 T1 g. a4 D2 `2 l{
4 J7 C) B0 S- v- N0 i4 S    return( UF_UNLOAD_IMMEDIATELY );7 x! Q- P( z8 h4 V
}, K: [6 s0 O: P' v' u, b0 `* _
2 t3 T+ M3 r9 d* ?1 e* ]
* N+ v. H: |, V6 [& f

$ m. T9 D( c$ A' }) p% {' @, {* _9 _0 P5 E! S  X

评分

参与人数 1PLM币 +5 收起 理由
admin + 5 很给力!

查看全部评分

上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

全部回复1

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了