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

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

  [复制链接]

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

2

主题

9

回帖

118

积分

培训VIP会员

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

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑
7 W- i0 v1 y  d5 o7 d7 J
. |# j" Z2 O) C$ d" _& B, G6 W  v
7 \! y0 }. d0 |. a" J1 Y4 T11月16日培训课程的作业,运行效果如下图:; K7 K; k. {% `
test001.jpg
6 l$ {4 ?: o9 c3 ]: X/ z& D, K! |% m0 C/ e2 d
开发代码如下:, y6 |1 L( p6 f. G! e: g
  c; g" m8 c' p2 I7 C- E! ]9 ]
/* Include files */
: A: R( d; T3 j' ]#include <stdio.h>$ ?( S8 d' F- x' F0 m
#include <stdarg.h>
) n) N3 D) m1 L; E#include <uf.h>
4 f* M  B6 V# [# j: e#include <uf_ui.h>
$ J: u; f/ t; \. K1 M% @: [- D9 b# B3 @' U$ O) n9 c
static void ECHO(char *format, ...)8 c$ ]2 q. U& X/ v! O% w
{
) f+ Z' d  G1 }    char msg[UF_UI_MAX_STRING_LEN+1];
1 y2 E/ C( m+ T    va_list args;
3 G; L! E4 J. M" `    va_start(args, format);+ o7 J- c" \8 B; `! d, b% T6 _! k
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);* h' l) g% T6 g5 m$ y
    va_end(args);3 o4 Y' U4 B& e7 L+ o& g" H" R, s
    UF_UI_open_listing_window();! {9 ?3 u8 y$ ~+ ^9 ^
    UF_UI_write_listing_window(msg);3 y' r; ]% H/ {3 g( b, ~/ U
    UF_print_syslog(msg, FALSE);; J7 Z6 ^! }6 L% T- ^. L) {# H
}6 o; M. i) J* t  \; p* i& f

, F' y# X( p% O5 \' p  X#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))9 k2 J% F1 G( h. c% ]& B7 Z
0 u5 v* ?+ g, E5 G  c
static int report_error( char *file, int line, char *call, int irc)
7 }! W' V' x) u{
2 T) d" p$ R" H" o5 E. I2 y) `. O    if (irc)
8 Q7 s& U( O! ]1 Y    {* S5 V0 }" V  l1 s+ `
        char err[133];$ X9 ~2 V) K; @3 [# h
$ ]5 t4 z6 X6 n* D4 `- Q
        UF_get_fail_message(irc, err);2 P( y2 n  {: f; e# D9 P+ h& a
        ECHO("*** ERROR code %d at line %d in %s:\n",
. h5 r5 N+ W3 l, W6 t4 T            irc, line, file);  S! H! |9 z7 z# }1 L% v
        ECHO("+++ %s\n", err);3 x8 U) z0 ^' s1 c2 V. F; ]' J2 N
        ECHO("%s;\n", call);, R- n1 A) Z- y4 q
    }0 |, L# G5 C6 x

, D" }  `, C0 s9 J5 j. Y* v* B2 q    return(irc);
4 e8 `, J, p- ]! L3 A8 ^- B& B}
9 e1 {  p0 D4 @8 n! ?* ]) x
1 R6 {+ S; s% Z0 l+ s7 F# b! Q6 [1 f' r2 x
/*****************************************************************************; z( p9 L9 e$ U/ B) ]3 `& j( |
**  Activation Methods
# Q  q8 J7 B4 ^( n*****************************************************************************/" P' D# Y! J2 l% b  k3 |) A
/*  New Part$ m9 t- }( X' S6 o! \  C$ R
**      This user exit is invoked after the following menu item is activated:' c- T3 e% ?5 Z, v2 R
**      "File->New" */
$ y# o4 J  F- m+ l. X2 p% Bextern DllExport void ufcre( char *param, int *returnCode, int rlen )
* t9 u: B0 S8 Y/ y/ ?{
7 N& E4 z, j7 m% g4 U* r    /* Initialize the API environment */
! h0 t4 [0 \4 y% L, E- U  |    if( UF_CALL(UF_initialize()) )
" l7 X/ a- K7 r6 R    {
* L- Z/ u4 \+ g) g6 V+ K9 i        /* Failed to initialize */% \+ l1 q6 V' U# f5 g
        return;$ F5 r, q& |$ K& l
    }
7 l' ~  d7 C3 L! S0 ^0 D4 ?
( J3 _& o: h$ `6 t    /* TODO: Add your application code here */1 B& e& L" k- r' V, H1 F& O: Q' g

) ^' }/ T4 \, h+ ~: v' G        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
+ ~3 ?8 O& X% ~: d+ [/ q. b5 G1 x; n+ v9 O/ Y# H- I
    /* Terminate the API environment */) e2 T) @* N4 C$ `, m% l
    UF_CALL(UF_terminate());6 A% w8 M6 b$ C7 j3 p: W! K
}6 T# k! Y3 P$ O* o
7 C3 E( a. ~# W3 T: I
/*****************************************************************************% ]: Q1 U# J' j3 s- w
**  Utilities
5 x- B! A* N% y+ D*****************************************************************************/
. v2 j- |% n6 p- U* I+ {
/ O2 S6 H& Z3 m: X/* Unload Handler
, S" {- P6 U( T) n0 E$ m**     This function specifies when to unload your application from Unigraphics.
" m. `7 j) [+ Y+ X2 ^" N, y( p) G**     If your application registers a callback (from a MenuScript item or a* q( p3 R5 j# ^& {$ i
**     User Defined Object for example), this function MUST return+ Q# @- @9 m  C6 S
**     "UF_UNLOAD_UG_TERMINATE". *// l, J+ ?6 Z( I. S* z$ }2 m
extern int ufusr_ask_unload( void ), u* _, [7 b6 I& L. b
{
3 V( u- M8 b4 {. N% F0 Y    return( UF_UNLOAD_IMMEDIATELY );# \7 H$ a! _  R
}4 L: A+ |" ^' I

/ E' }6 e8 g" Y' [3 O* w8 ^4 ?# j; f9 w8 D( I

& `( }+ Q# O3 j7 @1 w
* l3 x2 F9 y9 e* O2 w

评分

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

查看全部评分

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

使用道具 举报

全部回复1

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了