PLM之家PLMHome-国产软件践行者

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 " [6 i9 n5 [# _; D
  y. U+ c* V: w  H$ x' k2 a
/ T, E6 j+ E% l' G, z) o* Y2 r) H- p
11月16日培训课程的作业,运行效果如下图:: j4 Y( {5 ~3 q7 r4 c
test001.jpg
# g7 D9 f0 F  m3 d4 h: t
; \  y; ~0 o& D) ]开发代码如下:
# g" L- S! m2 |5 S
% K* w% g' s( d5 U/* Include files */' V. V$ S6 p) x; m) |3 \; l
#include <stdio.h>2 C8 ~( m$ T  z' T
#include <stdarg.h>' W/ B9 \6 w7 v! U% b8 b8 @$ e  H4 g
#include <uf.h>
, r' n2 V) j/ L1 F% n' Y$ H3 U#include <uf_ui.h>3 N$ _; p, Q$ J( ?2 J
3 Y' c3 c, Y8 d: P* i' M8 m* N
static void ECHO(char *format, ...)* g3 c' V! H1 U! n6 C4 X
{0 ~; Y: `' m7 t* D2 P6 f# L
    char msg[UF_UI_MAX_STRING_LEN+1];% x0 v+ H  q2 a8 u; \2 c
    va_list args;
7 r* _  _, G/ r, [3 p2 H! C    va_start(args, format);  Q% n( \9 E: f2 j
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);# v2 r7 p) d+ @% ?! g, Z
    va_end(args);  q2 C9 s& ~5 X
    UF_UI_open_listing_window();1 N1 _* v% T& ?
    UF_UI_write_listing_window(msg);
6 B/ }9 p! _/ K6 k    UF_print_syslog(msg, FALSE);
8 V) \1 ?( s0 R- Q) }4 p}4 F$ l& O, Q% D  i! @
9 C6 M( n# \- n8 Y0 U
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))! i! ]% X  C4 t' Z

* R1 w* C+ a/ a. C. E8 [static int report_error( char *file, int line, char *call, int irc). w* B  E: e6 J6 g
{, k9 y! |/ E0 J( b; ]
    if (irc)
7 }# q$ c* |. }5 [    {
$ i, J6 H6 I+ {4 l! P        char err[133];
4 G4 F6 d5 F9 F9 X3 O; @7 h
" D2 `2 t5 T8 M5 p        UF_get_fail_message(irc, err);
! }& J6 c% L9 d6 l        ECHO("*** ERROR code %d at line %d in %s:\n",5 o+ f. S7 F% D
            irc, line, file);
  Q7 A, ]# p- w3 h1 _; B+ n        ECHO("+++ %s\n", err);
5 I9 i* A- x3 Q; C        ECHO("%s;\n", call);
& Y% O: I8 i7 v/ K0 J# ^    }' {6 Z$ W/ a1 l7 \, A; F

, b2 e$ X& a; j  \" M' Q, f    return(irc);
% p2 F9 I2 p0 V) o# y4 f. s( ?3 S9 ^}& Q+ q7 k" n- H# s: p
6 k9 w0 y- B% a: `9 N& i

* v7 m3 g/ Z* b; Z" _  L! m3 l5 Y  U/*****************************************************************************
# C# u1 D7 o, W**  Activation Methods$ f* f2 H3 A; z& z7 M# o0 c
*****************************************************************************/; T# h# ]' q3 f$ f2 r' a; |3 a. F
/*  New Part) E& D  W2 h% E# M, r
**      This user exit is invoked after the following menu item is activated:
9 L" D* \; O7 h3 |% s**      "File->New" */1 e& j; }7 E0 e; t0 l8 P" h
extern DllExport void ufcre( char *param, int *returnCode, int rlen )2 v* }$ c- D9 _; R1 i
{: |- F6 V' E4 Y( ^
    /* Initialize the API environment */8 Q, _4 E! R. |2 Q
    if( UF_CALL(UF_initialize()) ) # ^; W; K3 i) L! r6 F' k* ?+ H
    {- ~" F' h0 x5 @# p# E- L- O; S: v' \2 v
        /* Failed to initialize */
+ j1 T5 U! a: Q. {) _        return;
4 j1 G$ N3 ]( G3 z    }
/ D: `# J5 W+ [" M; s; x
- W+ q7 b! G% ?! {* o8 l( z* D# R: _    /* TODO: Add your application code here */- l% s3 n) a/ x$ {" k8 D

2 c# s7 X  U+ T4 }        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
  r" c# w' W5 ~2 A- K9 D
! y/ [$ K6 x8 n0 X    /* Terminate the API environment */7 e% Q5 J/ ~2 b# h, i. V: W
    UF_CALL(UF_terminate());
0 Q% S, F( H' e( E$ N: B}
# d. C2 m) ?3 j- T) F: E( Y  B4 |3 C2 B( M
/*****************************************************************************& a- I/ m9 W$ _' h$ p( `$ o6 q8 H) f
**  Utilities
. _. g/ ~. B: v6 f3 {) ]6 {*****************************************************************************/
% v1 j$ z9 w  l- e, C. ]1 o8 Q; O: g$ v( ]  u  ]
/* Unload Handler! z6 P6 ^3 d5 ~9 v
**     This function specifies when to unload your application from Unigraphics.
# v4 l" U0 F( ~9 j) E3 q) S**     If your application registers a callback (from a MenuScript item or a
- M1 z, z' Y% E( Z" E1 @**     User Defined Object for example), this function MUST return
4 G* A" P) p0 {+ J$ _**     "UF_UNLOAD_UG_TERMINATE". */
4 \+ D. T6 _- _; S/ t8 A) l/ Q: Sextern int ufusr_ask_unload( void )% ~( q, F* {- P
{
6 [1 e6 _8 w2 x* U    return( UF_UNLOAD_IMMEDIATELY );
, G! O# w; U0 b% F6 ~}% D7 S: E! T; d' I3 K" E

6 K+ y& G, @; b) M, w& M1 {) J4 v4 |, {: M( K8 V

& `: T! I+ |* ]% p  U% X: X3 w0 b6 g/ `$ V

评分

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

    我知道了