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

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 % ^& {" V' _5 O9 S1 {4 b7 C
  u6 }/ n6 ?( c7 C
4 N5 m" e1 |: P+ T" M6 w
11月16日培训课程的作业,运行效果如下图:4 u( H2 e7 U" k# |. ~0 G) [
test001.jpg
: F3 K5 g! j. m% x: m8 p% }0 n4 x& A
' k3 s$ r! x, Y, |7 s; R开发代码如下:
% c% o8 `/ {2 X. i! A9 U% o' a/ m8 \7 Z" c
/* Include files */
, x/ q; f4 k4 g2 O  I2 D#include <stdio.h>
$ Y: L5 N- l+ e6 {$ n+ N#include <stdarg.h>. v7 z5 p0 b' i9 R! J0 |
#include <uf.h>
. b) _& W/ Y( W$ A0 x2 A$ D#include <uf_ui.h># x0 e; r/ L# }& J5 j

# L2 D8 W6 f, K. v/ Bstatic void ECHO(char *format, ...); o& l6 x4 O$ N
{
* Y# v5 y8 \: i, G1 ~3 |0 B    char msg[UF_UI_MAX_STRING_LEN+1];
5 c' i9 u# ]# @. r    va_list args;/ s9 X- j9 W, B3 }
    va_start(args, format);# {0 r) o8 v, w2 d* O
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
* w1 {9 a' `6 F4 z) u    va_end(args);' L# E# P/ J0 J% x
    UF_UI_open_listing_window();5 o- F/ N6 F0 |" {$ ]8 \  O* v
    UF_UI_write_listing_window(msg);
5 J5 F( Z! y5 R/ |* D6 |    UF_print_syslog(msg, FALSE);/ o& v) u+ s# A2 m$ n  N  R# d1 z* Q! q: d
}
+ L2 k$ R7 A. a; {# O2 _
4 G% y! I8 w2 _! p/ F" ~/ U#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
% s# E' {5 ?# r, l- S# z* B) m. t. @+ `
static int report_error( char *file, int line, char *call, int irc)
, z( `7 q% W% W9 w) a{
! m' A4 \6 V+ Y0 t+ |    if (irc)8 e8 i) h4 h: c
    {) p- {1 s3 ~4 G+ q8 h* h
        char err[133];
0 s3 e4 i- @1 o. s# o' Y) ^( |7 }0 y0 a5 S
        UF_get_fail_message(irc, err);, h6 j) ?' T2 _; A& c7 ~' g
        ECHO("*** ERROR code %d at line %d in %s:\n",
  F7 l7 i$ g+ G) @1 L& _' _5 u            irc, line, file);6 o/ z$ A& c. k- T* Q& h
        ECHO("+++ %s\n", err);
5 v9 ]; `* o& z7 t! A+ D        ECHO("%s;\n", call);
0 G) ?0 v+ o8 Z( s5 [    }/ B& n6 P" P  M4 o8 i

! L, ^5 o  h/ D' N. ]/ _5 v    return(irc);- U- r0 x+ m, b8 p7 o
}
: D; @3 y6 T6 O( p3 E
0 O* Z' o- C4 e3 J, H  d
- q$ U2 T/ t; }; j* o5 `/*****************************************************************************
/ D  w- A; |+ \**  Activation Methods7 k) c% }3 c" |6 C2 [
*****************************************************************************/+ c0 h* r3 |7 E; n
/*  New Part
$ o. f" D2 M4 |: Y% K8 v8 f**      This user exit is invoked after the following menu item is activated:, Q8 c; x6 h5 ~6 C
**      "File->New" */
. H3 W; j1 l" p; [0 H, U0 eextern DllExport void ufcre( char *param, int *returnCode, int rlen )
# A8 G: J- Q( I" E- @{
& H0 s; X3 Z: l  N7 x% X2 q    /* Initialize the API environment */5 [. R4 I! _! {1 @3 \- N$ j" i
    if( UF_CALL(UF_initialize()) )
, N  ?  Q) V7 h; t9 L    {1 G1 T$ ?7 v+ @# a0 o, y' Z
        /* Failed to initialize */
; S8 D8 z3 C9 A/ m( Y& D  X  Q. a" c4 f+ [        return;1 Z/ @+ @2 f$ w. t
    }9 d: O2 R3 t7 m6 _$ n# E& P
7 w, x4 @) Q* }/ S: r1 c
    /* TODO: Add your application code here */: s1 D3 V5 g: l1 q. q

4 T1 p6 V1 w3 B7 @: Y9 B        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);7 m5 V% I" C, F8 \. m( v8 q8 b' V

2 V' G4 s" j+ d4 _# ?/ T' i: ]    /* Terminate the API environment */
& H! [$ y+ s/ h5 D, @% F    UF_CALL(UF_terminate());6 ?% f9 l+ q- x, O. H
}2 R4 @# V% K: U

- R8 ]' w5 ~# F! W2 O0 ?/*****************************************************************************
8 a* V6 Z* m' r- z* e, A2 O**  Utilities( T! n; r. v1 h' j4 J. q
*****************************************************************************// p" V1 e7 i2 J+ f0 R# m& Q+ ~; P4 `
+ O: ^8 m! H8 W
/* Unload Handler
% h2 k9 @& v& P3 t8 d8 L**     This function specifies when to unload your application from Unigraphics.2 J& r# s+ i; V- E8 f7 R8 X; n8 \
**     If your application registers a callback (from a MenuScript item or a, P# h/ w8 B8 E4 M" N% ]' P
**     User Defined Object for example), this function MUST return
) h, u$ M/ p. Q2 c. {8 b  p**     "UF_UNLOAD_UG_TERMINATE". */& d" A, M* a8 C9 N& c. H3 b
extern int ufusr_ask_unload( void )* _5 @# T% i, s5 |5 ^
{
4 V% s3 o' c5 }2 V& ~1 H    return( UF_UNLOAD_IMMEDIATELY );0 U0 \- l1 v( s4 ^
}+ D; z/ a  ]# {1 S

( V$ j8 S0 u! C( _1 ^
1 m% `/ d* h6 X! q% h! W/ T+ B# D) o# V! M! X( N' z

( t7 b! s: E' {% G& D

评分

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

    我知道了