PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑
( [' I$ [3 X* C5 Q7 b
& c" U% s' Z( `2 I- E8 l( |
* m% W$ l; ?' \: \7 i11月16日培训课程的作业,运行效果如下图:
" G. l' ~- u) ?; u/ f test001.jpg
& }! _8 |3 T$ t+ ~5 |) q9 C$ n% I% N: |7 A9 F0 P3 O
开发代码如下:
; |5 l' R. h: l- X) |( f, }2 {' R, ^% C
/* Include files */% r& ?6 L3 N' k1 O
#include <stdio.h>
+ ?/ ~" _& A2 v#include <stdarg.h>& F4 M+ \, z! S" i& A0 i9 J
#include <uf.h>
! y9 p: d% `8 l#include <uf_ui.h>
6 h" k9 n0 [" j- k# i) _2 v2 T! s$ R2 T$ T0 B9 J
static void ECHO(char *format, ...)! l0 E+ h$ X% \+ F6 D+ Y2 a
{
7 P5 ^- {9 C$ |& Z  R  J    char msg[UF_UI_MAX_STRING_LEN+1];
$ P: X8 t0 r0 S5 D& v  `$ o' N! \    va_list args;
/ T9 {& z% E% J) e    va_start(args, format);" [; N2 `' F: A
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);4 D5 o4 J; Z/ z0 i3 X6 R4 t) h
    va_end(args);
: w% v" M" M3 ?  V5 I    UF_UI_open_listing_window();- _6 L1 j$ V) g
    UF_UI_write_listing_window(msg);, t" S; p% }9 D1 S# w
    UF_print_syslog(msg, FALSE);
/ c5 c! y+ |" N7 }& K}/ |: v7 i2 H# x9 V4 e" i7 }& l

# m# m& h0 A% k#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))5 t; z5 M$ V" j/ E

- \$ _" E. Z, q1 u. w% f7 hstatic int report_error( char *file, int line, char *call, int irc)% e+ o9 \  n7 C! X! }+ B: g
{# E; a5 e3 G: R3 v: U# V& l3 J
    if (irc)
! L0 T7 G8 @: Z! B    {# r, b5 V  B. ]# c, M
        char err[133];' _  b0 b3 ^1 m+ t0 O$ T/ k
( d  F' S9 S- L% }
        UF_get_fail_message(irc, err);5 Q& ~' R3 r1 w7 r  g' u  [' a
        ECHO("*** ERROR code %d at line %d in %s:\n",
, W; E2 Y4 x8 o% x/ B" `            irc, line, file);7 D7 m8 e4 b$ Z- i4 s
        ECHO("+++ %s\n", err);
) W8 y4 g. r' G2 T; O        ECHO("%s;\n", call);8 z/ ?" x1 w& Z
    }3 S" W/ N- s" P1 D+ z- t& D9 ]
: B9 S5 F7 z; G5 o9 c( ?+ q
    return(irc);
+ l3 ~! \2 T- p% G$ [* y1 O& q  p}
& l1 o+ d/ _3 P* q1 J6 w3 H7 A/ }" F  S; s8 P' ]$ h
/ `" m% Y5 d! y) ~
/*****************************************************************************0 L, \& n+ d9 E  j/ F$ T0 ?
**  Activation Methods
$ `1 `3 r9 m5 U) N3 ]*****************************************************************************/' b! _7 ~0 L% n$ f3 l
/*  New Part% |' {- c* c0 s3 D
**      This user exit is invoked after the following menu item is activated:1 b7 n: X5 a/ Z" @
**      "File->New" */& i) O+ [0 n: X/ C. X
extern DllExport void ufcre( char *param, int *returnCode, int rlen )  g/ c! H0 M! ^% p2 U. ~2 B1 c
{
+ Q" x7 t9 {. P* f8 u. J    /* Initialize the API environment */
5 f4 {: s7 w9 A- z  M+ F% K% ~    if( UF_CALL(UF_initialize()) ) ' ?* z# h3 E0 k4 b/ I
    {
( k% H, M7 r% L) `0 W        /* Failed to initialize */
" [) F. N, \; l# _0 W! U: V# ?8 ?        return;/ L) p4 A/ `/ n2 P, G) @
    }; ~# s/ ~9 |. t6 x' J

, |+ U- h% t2 S    /* TODO: Add your application code here */: p& i. v4 `2 f' c3 j
- p+ t8 R" @2 I" e5 u) t$ Q
        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
& a/ D2 z7 G: W4 e6 x: q. Z# q% [/ F- C) ]  [/ ^
    /* Terminate the API environment */
3 _0 D* z7 s: y0 M# \, |( e    UF_CALL(UF_terminate());& p6 N& ^& B! X& Y. W
}
* N3 G1 }8 k7 e# W% b' A) `
* l3 V8 Q/ `* c0 j5 H* }: }- ^/*****************************************************************************" g" M% q  L$ \8 C7 t9 a. J0 U- _
**  Utilities2 _; ?7 f% J6 C% ^5 N6 n/ D8 w
*****************************************************************************/" L; G( x* _& i" U& ]

; m/ L# e1 `$ `9 K, I/* Unload Handler
: C9 D4 k. m" p- R7 p, n2 Q/ u  P8 b**     This function specifies when to unload your application from Unigraphics.# T6 Z4 k4 U, P& d; ?
**     If your application registers a callback (from a MenuScript item or a
2 o6 W! O1 `  R**     User Defined Object for example), this function MUST return
7 T/ m5 [8 r1 {: D7 G0 r**     "UF_UNLOAD_UG_TERMINATE". */; z7 ]" G# t- ^3 i% `' J7 ]: p+ N; z
extern int ufusr_ask_unload( void ): |8 ^% r- n9 {  v4 M, S, j
{
* n5 N, z6 m! j    return( UF_UNLOAD_IMMEDIATELY );, ~+ t' A% W+ {: G9 g0 e
}* h' j  J0 B3 G' z* e

+ M1 o; k% @" J1 S/ V1 A
7 g$ n% ~' p& o* T
4 ~5 |  c5 Q9 ^  H+ v2 Q: B: T) y. V. U$ H& i/ P, T9 f) o

评分

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

    我知道了