查看: 4005|回复: 1

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

  [复制链接]

2

主题

9

回帖

118

积分

培训VIP会员

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

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

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

×
本帖最后由 清江 于 2014-11-19 10:45 编辑 ) T. T6 N' q$ b: c  k
( v3 F: Q8 K' x

3 S: o, ~3 c1 g( T- Y; G11月16日培训课程的作业,运行效果如下图:
" e/ c( f1 L, M" K! p' Z, p test001.jpg / q0 T5 p; r0 f
9 g, U+ {: m/ z. N& V- D3 R+ k
开发代码如下:1 U& |5 G2 e+ A) d' @2 |
6 [# L/ N/ L: B) `* }. c' j. P! u  K7 d
/* Include files */
* e9 a/ G7 S1 W" Q: |#include <stdio.h>
# U& k8 _2 _5 B#include <stdarg.h>
: a& I8 w3 Z- G#include <uf.h>
2 x7 i& v( `6 Y* t6 V+ Q8 f5 g#include <uf_ui.h>
+ \% ?& j( n# a5 v- h/ H$ ~9 i9 `$ @. J+ W- x
static void ECHO(char *format, ...)
) B1 T; z$ ?; \. [/ q6 S{
0 T/ {7 M( ^. r8 _5 a( f6 N0 ~, C. _! u    char msg[UF_UI_MAX_STRING_LEN+1];
$ a- F' j% e3 W    va_list args;. W8 ~* [/ [* I) |3 S
    va_start(args, format);6 \9 j( u8 ~; N3 f
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);- w8 @2 I  k+ a4 h1 c# ~
    va_end(args);
4 {* a; ]% U# }  T5 z" ]  f    UF_UI_open_listing_window();
( s" C- C/ |3 d0 ]# q    UF_UI_write_listing_window(msg);
& ?4 r$ h& N0 }# H( t! k. s- o    UF_print_syslog(msg, FALSE);
5 }/ g& [9 y: Q& A; k$ B' h  q}* ~' E0 X( C+ h; d! W/ g8 z
6 O$ j  ?5 z7 O; y+ G
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))2 g+ K$ P* M0 `+ }: ~% m
3 s! H/ F, D) V" ?5 O
static int report_error( char *file, int line, char *call, int irc)& o  U; N' E+ k5 l5 K! W2 _
{- J( V* [. {7 D% z
    if (irc)
! k. F; A$ J) Y7 X    {
0 d5 D' S& X# n        char err[133];1 a, i% k* C* ~4 a* J
2 p+ |1 W( @* u  O! l, H1 |
        UF_get_fail_message(irc, err);+ B2 z" x% M* \. i$ O  p# P% A
        ECHO("*** ERROR code %d at line %d in %s:\n",5 B; y) J0 j  r5 {
            irc, line, file);
! @& p3 E$ [" N- S5 i4 D# i        ECHO("+++ %s\n", err);
2 z% C3 c& E7 V7 h* i( k  \# `! ?7 _. F        ECHO("%s;\n", call);! C# b6 v$ s1 t! g, e# V  I
    }
7 W% F# u/ f) O- K0 e! \# u) a1 g( l2 w+ V$ o
    return(irc);
  R8 f# Z/ y  e}
+ I" p* K4 ?, u2 N% q! r; d4 \
. D- Z( e/ z; Z' V( p
3 b6 \% w$ p$ ~! d/*****************************************************************************0 w5 v7 ?4 s8 ?# H" p
**  Activation Methods
# n0 }8 v8 w& b*****************************************************************************/
' m5 X- c7 |. y3 O8 X  h/*  New Part6 w( ~6 T1 o: u6 B, g. k: k
**      This user exit is invoked after the following menu item is activated:
8 z% ~. k) n$ C/ b; ]  u3 t**      "File->New" */
% q8 ~+ u4 b) |% X0 a7 hextern DllExport void ufcre( char *param, int *returnCode, int rlen )
4 g) V9 S# u7 Z0 t{
; R: |9 W/ F) r" a' z. J    /* Initialize the API environment */
6 E0 U2 [* \  q- c% u5 e/ d    if( UF_CALL(UF_initialize()) )
/ i+ ?1 r& [: C  X' R( E    {
0 ]& V8 j" a/ w6 M8 z7 |2 L3 [        /* Failed to initialize */
6 c: k9 T3 S" ~        return;& {' |3 _* z* l! y. G
    }
1 U& ^* j0 O; O% d" p* I$ R" I. Z
2 Y9 k8 `( u7 }1 P  o+ E: c4 _  ?8 n    /* TODO: Add your application code here */0 I) \( [# y) m- a. A4 D

2 `6 W3 b" L' `1 w) Q5 k: ^# l        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
7 A9 H& q" w3 o) [) [8 s5 U: p
8 E( [2 T9 d4 \6 g! G2 o    /* Terminate the API environment */
- T# @1 X1 t; s: t    UF_CALL(UF_terminate());
; y( t2 b0 V: L! v}6 V. t8 ]* o% [

) ^0 g6 ], }5 M. _+ }! s/*****************************************************************************
- `, W) J1 U/ l" a) j! N1 t**  Utilities
7 w- ~5 f( R. |2 {7 t: U: T*****************************************************************************/& L0 c- \3 W. g) Q" ?9 Y# _

. T: K8 ^- [' [- Y/* Unload Handler
6 o7 U8 N6 m' X/ q0 D% G5 L**     This function specifies when to unload your application from Unigraphics.
( ]# i2 C* F: b' z7 z% X**     If your application registers a callback (from a MenuScript item or a7 R7 W# n# I' n: @0 B0 U
**     User Defined Object for example), this function MUST return
5 Q& P* ]! t- d; v, x**     "UF_UNLOAD_UG_TERMINATE". */
/ A  z1 C' q3 `  K5 W  ^1 Aextern int ufusr_ask_unload( void ). l! f# J5 _! W, L; B- O4 c
{
9 n' K, R( Z- m' q    return( UF_UNLOAD_IMMEDIATELY );! Y' Q1 n7 z6 N) Y* s
}
+ g( w. N0 l8 b. q% n7 o- k6 c6 x3 F* u; D; n0 f2 V9 \

  W& A/ A3 z+ {
$ B# ^/ ?; U% Z8 B8 z
& j$ ]  g* Y2 Z+ t

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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