PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 ; |$ _! u: l8 F/ g  F# ^2 p# I5 J& y+ h

' i% |0 [. x, h* F
' R4 m* ]8 n0 {4 |! \% Q. j  W# y6 K11月16日培训课程的作业,运行效果如下图:
  D$ C+ P5 d; Z7 B/ x2 U& |3 u" v# D test001.jpg
- s2 f! f  v0 p8 e: o" l. @" u6 L8 p1 ]$ C
开发代码如下:2 A- O" p* P: ^' C# h

9 Z; e$ Q% @  s. q2 h3 u3 E/* Include files */
6 v$ ]& R6 N1 ?! e8 x: N#include <stdio.h>3 l8 K! k1 Z* Y% E: ^* s$ Z  ^0 ^1 Q
#include <stdarg.h>0 |2 N" G1 {' C
#include <uf.h>$ e3 f4 Q% W8 M- W. p5 ?
#include <uf_ui.h>9 ?) T$ O1 p) y4 j
9 L0 \& W! W+ R3 L
static void ECHO(char *format, ...)
0 K. m* x7 Q  v7 v7 c- x, t{
5 v9 p* H" [* M! L, h. u5 k    char msg[UF_UI_MAX_STRING_LEN+1];
3 B6 Y1 C) H% C4 b$ O, h' m) B+ ^    va_list args;
5 p9 t! g" J* O. T9 k4 a    va_start(args, format);9 A4 C9 D9 V+ ?. K$ i+ @
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
8 R4 g) a5 T* {/ _  l    va_end(args);
1 t* @. z" I1 d2 Z. ^    UF_UI_open_listing_window();
* N% j0 U+ f9 v7 u7 Q! m4 y    UF_UI_write_listing_window(msg);/ q: u: h) u: H' |# \0 A+ R
    UF_print_syslog(msg, FALSE);5 _+ a# l% [- d* n" C
}
, b0 u8 d' O6 w" u; x+ A
$ m5 R: e( G! F% |#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
1 m# u2 v; P- @
  U5 I: O$ \: a. N3 [2 i6 istatic int report_error( char *file, int line, char *call, int irc)8 k  l, C  x. T9 c; ?+ @
{
7 p( Z& F" }; W! O9 s! \! j    if (irc)2 L7 Z$ N7 J& u/ T; s
    {
$ L9 L3 q# q+ R        char err[133];
: y) T2 Q) Y/ o$ Y$ N! H  _- `" S: r4 E- [2 P& P' M1 f( X
        UF_get_fail_message(irc, err);
; s% Y( B) v7 }/ W% P        ECHO("*** ERROR code %d at line %d in %s:\n",, _( y$ C* q4 n0 ~; V
            irc, line, file);( s2 b3 t5 D( Y% U
        ECHO("+++ %s\n", err);
' @! L" z  t- O; N. I( ^  \1 K        ECHO("%s;\n", call);$ i6 b5 k( O6 h. }# ?
    }
. k% R8 z/ Q! H. Z0 X7 s2 l7 X- ~. [
, [6 b3 P+ T" m9 U    return(irc);
- m, V+ j/ i' F* F# J}1 w6 j9 b' C( b

2 H: V. }) D! j! i! @* I- t: J4 ?5 h- `! H
/*****************************************************************************
: f2 C( P- f0 H& k5 o: U1 g**  Activation Methods) v7 y5 y; H( l5 Y# i4 c" P# f
*****************************************************************************/+ V! |7 ]7 ]% ^/ V9 R% ]2 {# n
/*  New Part/ o9 F7 T( G; q3 _9 D$ P) ^. F
**      This user exit is invoked after the following menu item is activated:
# W9 H9 Y+ D+ r5 O1 j**      "File->New" */- }/ I- r" ]. }$ s. P1 \
extern DllExport void ufcre( char *param, int *returnCode, int rlen )
8 Y( h6 z) t7 @1 k/ K1 M{
  U& q, B( C0 X    /* Initialize the API environment */* n  r% O: l; `; M# L: E
    if( UF_CALL(UF_initialize()) ) 4 s; A" [3 x/ @1 x3 L$ [9 k
    {
* c( {& S7 O' S0 `& ~/ N        /* Failed to initialize */
3 O. w. o+ b# ~/ _+ \        return;0 `2 @5 d2 r2 H6 h' d
    }5 d6 M/ ~: s2 L2 u7 _

1 [/ b4 T0 l: D1 n* ^) H5 ^6 B    /* TODO: Add your application code here */( g( B4 H- a% ?% ~. u
: X& `: A; j* s, _2 R
        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);& v8 N7 U2 l$ m" V* u

) O+ ]8 H! ~" b) `0 X0 \0 _7 w: o' t    /* Terminate the API environment */5 F. G! p( e% [& i* S
    UF_CALL(UF_terminate());
/ y$ y$ L. |/ Z  ^# B. t9 N}9 N3 h# ^# e4 S, b

9 O9 }" a0 \5 L" i$ F/*****************************************************************************
; I& n4 j+ a0 v**  Utilities$ ^7 s2 ~$ ?2 Z( O5 e+ ^* ]
*****************************************************************************/
& `$ l/ T# W  L# z! P8 r/ o& C' e
3 K4 \3 C2 J+ {/ X$ g* B6 U* G/* Unload Handler
! p- V2 ?* ?3 a**     This function specifies when to unload your application from Unigraphics.
1 b0 j! {( F2 ?+ W0 p4 R**     If your application registers a callback (from a MenuScript item or a& r# w1 ~, r* O4 T2 l% h
**     User Defined Object for example), this function MUST return
' I: B) e7 C$ y6 r5 }+ f) c**     "UF_UNLOAD_UG_TERMINATE". */
3 p3 B" g$ E$ F8 Rextern int ufusr_ask_unload( void ): c6 |6 M3 C. K! {# D
{
3 w1 F' O8 s8 T6 U) ^% A    return( UF_UNLOAD_IMMEDIATELY );
! R" e6 s; u- ]}& y7 S( t& h6 b  ^8 f( f4 X

- Y/ `% g1 m" ?& L: [' c! S/ S: j  A+ \9 b
, W! ]* D6 }' ]. U$ P' _
3 m  U9 B2 U0 r

评分

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

    我知道了