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 3550 1

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑 3 ]" ~: T5 Z( m: p" N& L

1 V8 _4 B# \3 B/ G9 `+ G$ k4 E
4 k% m% N+ e; b8 E. m' z11月16日培训课程的作业,运行效果如下图:
5 z! q  B0 K8 `, F% ?3 n3 G! ]6 B test001.jpg 3 Q( o* d% s) _
4 a- _; a& t" \8 e4 C& P* f+ k* n
开发代码如下:
4 o6 P; v! O$ e: g& [  g
6 W% b, c& ]4 j, V! i/* Include files */
- l: d* j4 {0 u7 i/ {4 C#include <stdio.h>6 _2 j  @& }+ A; y# L5 S+ D
#include <stdarg.h>3 N% Q) e! Z& ~9 @
#include <uf.h>: f2 L8 `3 s8 A2 Y, B: G
#include <uf_ui.h>
8 e+ q4 n5 O, B! r3 u9 A  [# L" ?/ }% m. ]
static void ECHO(char *format, ...)6 {9 g2 E2 }6 {4 w. M) [( x, g# N! f( X* b
{
0 |# ]  ?5 n8 c! {2 D8 C    char msg[UF_UI_MAX_STRING_LEN+1];; l1 j$ p; l$ K0 |9 B( ^
    va_list args;
* J" ~7 Y1 r9 a; D3 p+ V6 K    va_start(args, format);* H8 M5 t% |  k) T7 i. Z; w
    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);7 J' ^; c  u5 q, Y0 k* B# s5 @
    va_end(args);( y& p2 [* Z: u$ w5 t$ X
    UF_UI_open_listing_window();
$ ]/ c: Q) C2 v: C5 j    UF_UI_write_listing_window(msg);) Y' B0 i0 {& j6 c
    UF_print_syslog(msg, FALSE);$ |6 o- {6 h( P% {  l: C
}
5 {9 w- S) O$ M! f
& Z$ T* |) y' V- [$ Y#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))- l. t4 N  T9 d1 c- n
& {% s/ r- |5 y# E3 y% ~% d
static int report_error( char *file, int line, char *call, int irc)" y& e6 y7 @1 P: m3 N* w
{  h% }  b, m2 F7 Q  `9 A# u
    if (irc)6 R+ g8 R4 F' }( u
    {" G0 \; u2 X& Q' c7 B
        char err[133];/ X0 w% T" O$ _; v7 S3 H, J

1 w+ \, e; d2 m8 F( z; u) x: l! B4 ~        UF_get_fail_message(irc, err);) D4 C* g2 r" _
        ECHO("*** ERROR code %d at line %d in %s:\n",
7 C/ C- L9 Z' \9 h& z9 x6 D7 v            irc, line, file);
/ t- t0 J. r; k. T: H; D. F+ A$ a6 D        ECHO("+++ %s\n", err);5 h/ }/ t" g* o! B$ t
        ECHO("%s;\n", call);
! v* h# m& ]  f0 }( b    }
5 v8 B9 O' O" k2 }; B* u
% y5 d  \  p# A    return(irc);* n( ^0 S8 q4 v( K
}
4 |6 p9 P& M$ S) s, `3 H
) v5 I' A, x" t: P0 a% m
9 Q7 }! z; q( t% N/*****************************************************************************
% {2 p- q4 \9 ^! |$ }% l! D**  Activation Methods
" F7 \( v; _  N% L- ~*****************************************************************************/
1 `) ?, s" k+ f; b- P9 m( I/*  New Part
  F' R2 F0 T% g( v) g2 `7 W**      This user exit is invoked after the following menu item is activated:: F' d; n: b/ m! I3 M5 O" r8 U
**      "File->New" */
. E4 Q- ^5 }# o9 {* }+ F2 j" lextern DllExport void ufcre( char *param, int *returnCode, int rlen )
! h" L+ N, d/ ?; o5 I# X{
- E9 w1 B; P7 ?" f    /* Initialize the API environment */
4 @0 A. e1 A; R( [    if( UF_CALL(UF_initialize()) )
. j  M3 B+ n# r  @2 S    {
. z) p+ z; |  @        /* Failed to initialize */
% ]7 B9 K- ~( {        return;
: [- p8 A; [; g/ \3 O- D1 A    }# g5 F* R3 s- s9 R1 c

1 o& T+ t; x6 `4 S! \5 D    /* TODO: Add your application code here */! d9 ~( {' Y! o1 y

/ v+ a- A  v' L        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);
' s- G1 E5 H/ d! D  p7 F9 d/ P& w' X
- u5 D% m' e, y" j& ?    /* Terminate the API environment */" @3 O% E: o' U" K
    UF_CALL(UF_terminate());
) V) T: ?: O1 |% I  U" Z}7 Y3 }, z% P3 T! Z6 X& `8 s  D$ t' C
" p  `" M% u9 I( e. b
/*****************************************************************************
6 [7 z! L" s: O0 n8 ^  _) D* p**  Utilities
0 W% X; k2 b6 ~1 S6 Z*****************************************************************************/
  I% `0 p) T4 v% P* a4 I5 R1 ?. Q. L! V& y8 [1 N: s! x
/* Unload Handler+ @# x! N8 T2 H# b
**     This function specifies when to unload your application from Unigraphics.
. ~3 s- S! j- q2 p9 o. \. m/ e**     If your application registers a callback (from a MenuScript item or a
( C4 I8 R6 @8 \! A% s- T# t1 J2 J3 }**     User Defined Object for example), this function MUST return
& A5 @( ?5 t3 R$ ^**     "UF_UNLOAD_UG_TERMINATE". */
' a8 ^  W1 _* `7 Z9 Zextern int ufusr_ask_unload( void )9 G4 Q: y( H4 Z1 u: `
{* ^  b. _- }- K
    return( UF_UNLOAD_IMMEDIATELY );
4 i9 \0 {' v4 L}
1 F0 x8 i, y& o9 B9 @; v0 v, x' p1 Z( }6 z3 y

3 H  m5 _5 |0 Y' ]0 }2 F3 E- B0 I& U8 A" l

( z8 R$ c8 `4 f2 h9 R: M$ I6 t

评分

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

    我知道了