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

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 - E5 G3 ]1 |8 V5 t: W: l6 o

- |  K" b0 s7 F: _: U) o5 k: j/ K& ]1 R! r2 z9 N
11月16日培训课程的作业,运行效果如下图:, @% H, E. U+ h( O& c9 C+ ^
test001.jpg
! o7 ~4 c5 ]+ ]2 W; ]; {. O+ G/ `1 n, f9 Q: t
开发代码如下:; P$ j7 {4 B2 s2 M  \

' t) n! R1 Q; B/ x0 I! Y* l/* Include files */  @0 |" P5 S- v" X
#include <stdio.h>
# |! ?, f5 c! j7 S#include <stdarg.h>
& n: ]8 @! U: t5 O#include <uf.h>
  a$ x+ Y7 ~: T/ _6 ]#include <uf_ui.h>3 M6 u! X0 m' s+ u$ m

" }! ^; v) x# g! _static void ECHO(char *format, ...)% j. [) T. D2 o
{
' T. L# p$ N( C8 @  M# p7 M6 m    char msg[UF_UI_MAX_STRING_LEN+1];
4 C0 u" L. `* W3 l  a% I! b    va_list args;0 x$ I7 i0 i- ^1 _4 \% r) T& w+ B+ i
    va_start(args, format);; a4 J$ F/ V/ F0 v
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
: u  K/ ~+ @2 F0 c9 z% }    va_end(args);' Q! v) \7 X$ \
    UF_UI_open_listing_window();2 W1 n8 w0 ]& V. g2 ^& Q# e
    UF_UI_write_listing_window(msg);% |" B1 X% v0 j: ~8 F1 [! }& n
    UF_print_syslog(msg, FALSE);
- }5 F$ U! \; A2 B' O* M( m" S( k}
. t3 f) ^) x" D  e) ?' d: Y
' }7 [: S% u& y; \# p#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))+ w1 `: |: V$ Z) }
' S8 Y; S1 X$ h4 O8 J. s
static int report_error( char *file, int line, char *call, int irc)
+ q5 P& @. N8 ~9 a0 @  n{
5 U2 \1 q: |+ f* |9 [; k    if (irc): S8 U* T+ D2 z. [8 t$ o+ Z
    {% e& T5 b8 w5 O1 B7 x' e: e# S$ }$ ~
        char err[133];
& h: B5 J8 L5 s8 ?/ x/ T7 c( E  z9 |; b: w! O
        UF_get_fail_message(irc, err);
& i* t6 R. N; a  W  R9 M5 j        ECHO("*** ERROR code %d at line %d in %s:\n",
) o8 ]8 ?& q2 @; `7 d# m" p            irc, line, file);
+ N. d* K% H  J' S7 a& h        ECHO("+++ %s\n", err);3 H  J; U: g/ D$ R
        ECHO("%s;\n", call);
7 C9 z* ?* x' Z) ]  ~    }
  N8 S3 v9 `) j* I, V6 A2 l7 s6 m4 Y1 I6 ^; z9 I; X' }
    return(irc);
$ S. y' _- L& W}% [. i7 T" r+ ?& ?8 T9 |+ [: m
, u- A5 p, D" Q- i5 `  w8 }2 \
& G8 D" L4 j; c/ H4 c% R5 v8 d
/*****************************************************************************
& {6 d" S/ @0 S8 n& x+ I, D: K8 n**  Activation Methods
3 X( G" k" n8 a" X" J1 Y*****************************************************************************/3 ~- X# e4 }& m" \
/*  New Part$ a: @" u7 X* R  u8 |* t
**      This user exit is invoked after the following menu item is activated:
, I2 W' ~+ _& L! T* W( W5 |**      "File->New" */7 e6 r3 s; `3 X. }
extern DllExport void ufcre( char *param, int *returnCode, int rlen )
* Q- e+ M8 n3 \8 L2 B{
# f- F! [. A2 O1 G' J    /* Initialize the API environment */- f) Y3 c) `' Z0 w+ I+ V& _0 W
    if( UF_CALL(UF_initialize()) )
9 d& d" g) h& D9 c    {2 b/ u/ x! E# k$ U" c6 l, ?; [6 `. K4 r
        /* Failed to initialize */
( V$ s  F0 Q2 x/ r        return;5 \0 `( F+ O( g; g. Q5 L2 y
    }& G, ^+ c1 ?! s# H% l0 [& z

8 l+ s+ t. k5 B) t. p+ Y    /* TODO: Add your application code here */! P7 y) w: ^1 T
0 y0 E, {# ]8 q
        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);1 `! O- K: @# F7 P+ Q9 t. d

- {9 s6 P7 A" f6 n" X    /* Terminate the API environment */. Q" n- m/ t- o9 e5 m! S+ |3 k
    UF_CALL(UF_terminate());
4 g1 i+ H/ P' X$ w}
! K- f9 y4 Q% A+ ~! Y' k- T5 L9 S( [
/*****************************************************************************
; B, A5 M0 D7 I0 Z**  Utilities8 c# u+ q. q5 C
*****************************************************************************/
$ ]0 ]( H# b# o
' |2 e" Q9 z' p& Y5 v/* Unload Handler' b: x% a  U# I* ^" w- b0 a1 [1 e
**     This function specifies when to unload your application from Unigraphics.9 e$ `7 o! Q( l- v8 n
**     If your application registers a callback (from a MenuScript item or a
* H2 f& j' f& s**     User Defined Object for example), this function MUST return# H. {* }6 ~! l. I4 l, n" |
**     "UF_UNLOAD_UG_TERMINATE". */5 B. Y# J" m3 v7 p
extern int ufusr_ask_unload( void )- w! E+ h: ?2 s* W4 w+ y% [. |
{
, T3 e: p- s! Q) R) G: w    return( UF_UNLOAD_IMMEDIATELY );
/ [9 L0 P8 ?0 t5 c. C1 c$ U; w% k}, h0 o& A" v. r9 a2 B7 I: K! g" d% H
: y+ E4 E' w) N2 s$ g

, `/ I" X3 E2 [6 G6 r6 v3 f; {4 \9 y2 g3 C! @1 u

* o! ?- Z0 ?, G2 f9 a, Y

评分

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

    我知道了