PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

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

  [复制链接]

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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑
! K3 D- p1 N5 ^0 j
9 {2 r: J1 s+ v) f+ I% r9 K& J* ~7 h* J: y* v
11月16日培训课程的作业,运行效果如下图:- |( n" i" o/ p2 Z2 P3 P
test001.jpg + E% ]- c4 t- u- Y+ L0 U4 U7 U
1 n9 w% w& P! Z8 g9 z& H# e* [
开发代码如下:
) S5 [- \; m' Q# y) t$ c) t  k% S: P" V
/* Include files */
( v- e! H9 w2 I5 W0 ]#include <stdio.h>
- R2 |9 X5 t, h3 p" V- [#include <stdarg.h>% Y# H0 l4 @$ r" u  Z+ l
#include <uf.h>
. S8 k$ ^+ g$ g. S7 S: O4 I9 g#include <uf_ui.h>, L7 Q' J2 a* J
* D, m0 J& ^, S3 Q( u3 K- P
static void ECHO(char *format, ...)  ?5 X* A( H$ D& h4 t
{
& w6 s5 B  ~! h5 p1 Z  S    char msg[UF_UI_MAX_STRING_LEN+1];# k; }& r6 b. p1 ^
    va_list args;6 m9 y  E# _; Y
    va_start(args, format);
& J; z5 o. A, m4 A! |& \$ k% E3 L    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
* E: {8 ^0 {: [9 _( e( N6 m% @    va_end(args);
/ w5 S3 t  B3 Q" J+ {    UF_UI_open_listing_window();+ q( C5 \8 w* i6 e
    UF_UI_write_listing_window(msg);
( M8 Z# f$ Y: `9 P* l/ b3 F( J    UF_print_syslog(msg, FALSE);- i( [: s8 s" F5 G2 C
}
& d  B7 j; P+ N; D) U9 H; D" O3 }. A  S6 Y& `+ F% d7 h+ y& S& n
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
  H4 s9 p; l1 S, r- ~# B! P  l: |
- Z8 R0 j: ?+ Hstatic int report_error( char *file, int line, char *call, int irc)- S" c% t  ?/ d! ~$ v; d5 B4 ?6 W" T
{) m$ h7 Z/ V& }; Q* o$ C: U# [
    if (irc)1 R/ n, Q% V1 F  r- h
    {
) y. S/ \, e4 w8 ^# y8 `. g. \2 E        char err[133];
" a+ Z5 R3 |% W9 C& w/ Y9 ~7 F( ]8 C( f" l/ g2 M  N
        UF_get_fail_message(irc, err);
8 @! q/ i* ], `( F+ V" Y7 [        ECHO("*** ERROR code %d at line %d in %s:\n",
( a3 P* [. J$ |  L, ]% [            irc, line, file);
* Q  V8 E" j4 s        ECHO("+++ %s\n", err);2 ~: ~, I% R$ n3 B
        ECHO("%s;\n", call);
  U' v& j0 }/ }, K: m0 J$ K    }3 W5 d$ c. ]) f# z" u  m, {

! G' E, X# E$ O) x! X2 N4 S    return(irc);( ^5 T& `# ^* Y- w
}
3 z1 F0 T7 f  w4 C3 ~& M& D: q% F! f6 y
3 k* j3 ?/ @& a  x; o4 L. K0 u
/*****************************************************************************, d% n6 Z- m* `  ^9 u) q9 }
**  Activation Methods: m& T7 y" J' [+ K, O
*****************************************************************************/
2 y, D% a0 I$ B7 P8 a/*  New Part4 f) L5 c5 W1 _" s: |" ?( g
**      This user exit is invoked after the following menu item is activated:
/ @5 p1 ?2 d6 ~3 M  J5 p**      "File->New" */. \+ o0 T! U* a5 |) z' z! K
extern DllExport void ufcre( char *param, int *returnCode, int rlen )2 y. [. {3 K! Z
{
* Y9 Z3 T$ j4 _. j4 w    /* Initialize the API environment */
# B% y& {. i0 Y- h0 G4 s% d    if( UF_CALL(UF_initialize()) ) # H, \0 v+ Z# |
    {2 B" `* {+ g0 O, a' M
        /* Failed to initialize */& _9 g' O/ e9 y/ H# ~3 L
        return;7 S" q1 U# v2 b+ e/ o
    }: }, I: J: `" p  i% ], p

- }* p; g, N8 v# W    /* TODO: Add your application code here */
2 ~5 A* V+ u( h. U  o
  H. Q# ]5 ^; h& E7 o& A& j$ O9 i1 u/ r        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
, x6 l! P+ S; `4 t/ g1 i2 J7 h' ]  v% U8 m6 C
    /* Terminate the API environment */' K, O# c/ I4 Z7 c8 J% W$ t
    UF_CALL(UF_terminate());% C& v8 }8 L( ~$ b0 Q8 h6 K
}
  M/ H1 N4 O" r* r' r
% d0 A( C" c  x: f* E! J) p) d/*****************************************************************************
2 E  l$ ?' o5 {4 K( K**  Utilities  _6 @: s$ o: k1 J0 O% j* p" U9 y$ {
*****************************************************************************/$ @! }: S8 k: j- y* D! i0 u

5 r% x+ p6 I" h: w/* Unload Handler$ r% I1 v2 O3 O- b* @
**     This function specifies when to unload your application from Unigraphics.0 |; S* D: [, w5 S: [0 G/ y
**     If your application registers a callback (from a MenuScript item or a
! ^( k1 W' _. D**     User Defined Object for example), this function MUST return9 Q5 x5 ~5 B+ ^" @; @
**     "UF_UNLOAD_UG_TERMINATE". */
9 I' x6 [$ c% V' V5 \extern int ufusr_ask_unload( void )
2 x: L4 ?3 K) P) T! a{
7 a' m/ |9 S( S8 i# o. G4 [! Q    return( UF_UNLOAD_IMMEDIATELY );4 a/ g! s9 k' ?' p; I2 K+ R
}
  ~# T3 ]/ v8 b; _' g9 b' _& \, D% ^' W9 j5 J/ g

2 v+ A9 i/ s, ]9 F; D1 h3 f" f: M6 l
. X. I4 G- f/ s6 D9 q" t/ n% j

评分

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

    我知道了