查看: 3987|回复: 1

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

  [复制链接]

2

主题

9

回帖

118

积分

培训VIP会员

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

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

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

×
本帖最后由 清江 于 2014-11-19 10:45 编辑 ! g6 z. y+ Z- U

  x1 Q; q+ q+ ~5 R4 i/ H: I% M
9 q2 ?4 x/ O( G2 r4 s) v11月16日培训课程的作业,运行效果如下图:! e/ Y$ Z! a9 S
test001.jpg
& R9 L) S1 u7 ]) U# C* E' G$ d1 o+ n
0 k- Q8 C" @- ^开发代码如下:4 V1 k3 m1 u3 k) w/ d/ f

) c+ \4 F2 c5 c' [) p; b1 p; \5 F/* Include files */
8 P3 _, p! {6 I& u#include <stdio.h>& |  w1 N9 X7 }1 {. b
#include <stdarg.h>
0 V0 ]' A' d; A: E! t4 O#include <uf.h>
; H  F6 g1 f" D3 t) C# A#include <uf_ui.h>& F0 u  L$ S. E6 l0 Z

, O5 E0 N0 K  G( pstatic void ECHO(char *format, ...)8 h3 @( s" P3 Q: w) E
{
% d- j+ K( d( O3 ]* C8 c    char msg[UF_UI_MAX_STRING_LEN+1];- e0 v6 ^0 G$ g. k; y
    va_list args;4 S, a2 L$ c3 ~; k6 i
    va_start(args, format);
: t. P! \' F% u2 H* E    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);5 {* p  Z: E" j2 x4 m% N8 L) s+ s
    va_end(args);
' P! u" x" U' z( i: @8 B$ x    UF_UI_open_listing_window();9 o' V( z4 h$ Y; J/ J+ a
    UF_UI_write_listing_window(msg);& _6 v$ h1 `7 I0 j2 u: ?
    UF_print_syslog(msg, FALSE);( T+ D/ A* J8 a4 L9 E! T
}
6 H, a3 q3 _5 ~" K0 T9 _* H1 q' j
1 Q+ K  @- R& O  d+ U#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))/ c; r# {, ]) K8 R

( J& k2 _" g7 R+ u( j* {" Zstatic int report_error( char *file, int line, char *call, int irc)
3 a. v0 G" j  ^) `3 }" {6 ^7 u  \/ f" N{
% o8 T5 A2 W" @0 x1 O    if (irc)4 s1 s( m3 V) f' U: `
    {7 {8 x  ~! u: o
        char err[133];9 Z+ @/ `' Z& C% E/ t1 g$ O$ g' i
* S( w* U3 l/ I6 x( C
        UF_get_fail_message(irc, err);
' d: Q. y7 k3 f( Y# x& ?- e) ~' G: c$ {        ECHO("*** ERROR code %d at line %d in %s:\n",- Q/ x# z: V+ [) _
            irc, line, file);
2 N5 S# `( ?7 o        ECHO("+++ %s\n", err);8 n& y2 N7 J! e6 w* ~1 i
        ECHO("%s;\n", call);, z% R9 G/ \" V6 g5 g6 c* n% |
    }
! p$ X* ^+ W& `% A* N1 ^' W8 M
) T1 @# O# k5 e6 s+ @% H5 V    return(irc);
# H. p9 ^0 ~) R( e' S* P  ^}
8 d7 b( [+ X8 Q5 I* X* Y: R1 t7 p6 z1 b  P$ s& w6 f7 o
+ B6 p( t- n5 d2 H1 F/ K
/*****************************************************************************
# o$ S7 B2 o# U$ k$ J. G**  Activation Methods/ H6 \7 s& C* s, y2 J4 h
*****************************************************************************/$ }% ?. x; m$ y9 H- z
/*  New Part' }7 Y9 L/ @7 P) p" e
**      This user exit is invoked after the following menu item is activated:% l3 v0 q" E: G
**      "File->New" */
  e) S0 g' T8 s0 |  N: `6 \" }9 Pextern DllExport void ufcre( char *param, int *returnCode, int rlen )
! m/ s8 P* @. R7 q; \7 |, }$ Y9 d7 u{
! t- @% U( R# {! J4 h( j    /* Initialize the API environment */' O4 y: ^" j  ?; y5 c
    if( UF_CALL(UF_initialize()) )
! G) p: g* s- Y) B3 V+ q    {
" |, n% Q* s; Q  {8 L+ \- ~2 ]        /* Failed to initialize */: g( f. q( V* J+ T9 M
        return;
, v2 t& S" B  c+ E/ [/ c    }9 k9 k! [& ?1 w2 q8 {* ~
* `* p% R9 v9 r! s, s& F/ e
    /* TODO: Add your application code here */
# x. l& T( ?! C) z
! U1 S: L3 G3 I1 \, x        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
  H* O. E' ?6 h# O
5 F# T. \/ `: v& p, f! Z    /* Terminate the API environment */% G" S+ [/ Y3 F  H9 J
    UF_CALL(UF_terminate());$ s; s0 k; }! P" d
}
3 T' D1 k; K1 M; L
1 X. o) G8 ]& ?+ Q/*****************************************************************************
! T) e* J! A" k**  Utilities: O- C6 o+ V) }8 X. P! G5 X
*****************************************************************************/" k6 {5 l$ U! R9 e+ Y+ O$ i" d
5 `& |4 C8 e+ p. d, v6 w" ^- @
/* Unload Handler. C7 P$ A7 h4 c
**     This function specifies when to unload your application from Unigraphics.
& W: A/ Z' o9 q2 ]: h**     If your application registers a callback (from a MenuScript item or a. g! a/ {$ i6 [) E+ O1 ~; j
**     User Defined Object for example), this function MUST return
1 l- M  Q2 w8 x% X* M2 r2 L**     "UF_UNLOAD_UG_TERMINATE". */
- M6 [. [. v  `extern int ufusr_ask_unload( void )6 `2 a5 H( F5 ^7 o0 ?$ q# v$ ^
{% d8 }, r* E0 B5 k  b6 _8 O
    return( UF_UNLOAD_IMMEDIATELY );) v6 S0 D! d* N& `& g8 H
}
8 `" T1 x3 |2 x# F8 ]# x5 M' |
8 q" g! A# y8 B- ^  X/ u
* T* o( U8 c8 ^$ M& T7 I  Q

+ E" g3 X% d0 h8 h: H# c( }" W

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部