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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑   R% O4 y  b! p

8 W; b3 {/ }5 d! q+ d0 D1 g$ z5 C$ ~3 z
11月16日培训课程的作业,运行效果如下图:# q2 X- p: \7 C0 \8 z
test001.jpg
0 d! `9 N* b; w% @, ~
2 [! q8 Y8 }0 M6 A5 }! A, {开发代码如下:
) i+ }" n  @) B* u7 G+ d. ]
3 d; w# ~+ O( J$ V/* Include files */  K! ], T; M( U' p* I
#include <stdio.h>
; |! F' R/ Y( r' k#include <stdarg.h>% ?- v: o5 S+ [' z6 K% [5 B
#include <uf.h>
3 k9 G" N* I0 F: G& R4 T#include <uf_ui.h>. |" q: b$ l! |2 _" {; R* Z

8 p5 p2 Z, T4 P" \( e) Rstatic void ECHO(char *format, ...)  x# [0 L. r* S* ^& h! f
{  F& m% s0 u6 _: D
    char msg[UF_UI_MAX_STRING_LEN+1];
/ _& U" f1 s" b  v4 H% T  k    va_list args;
; O- v& |- P: Y9 _) s9 R. n    va_start(args, format);
6 G* M$ K" ]  E6 n% ]( ^4 i    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);6 h6 ?# ]2 x0 T
    va_end(args);
- ?, j7 [8 E) [4 N6 _" o1 O/ A% q    UF_UI_open_listing_window();
+ u0 z. m! i9 h8 h    UF_UI_write_listing_window(msg);7 j, k& K/ G& Z/ m
    UF_print_syslog(msg, FALSE);- a; z' W' s/ V1 g- {) U
}- r  V/ N+ U, m- }" w* t2 O2 {

5 @7 g1 c$ G: m$ ?1 y4 K, O5 U" F#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
. I9 X' B/ |) I4 a/ P: i( d
  L7 N# F+ |4 Q0 \  z+ _2 \5 b. pstatic int report_error( char *file, int line, char *call, int irc)- H( B& D* V$ H6 b
{
" ~  k# E7 Q9 J+ l6 G  p1 l1 D    if (irc)# e8 b* s- L* P3 H
    {% A$ s8 f  N; z0 Z- `- d
        char err[133];
' O& d+ x! N& g7 q7 L5 l
; R% \5 e. Y7 H0 c; q5 I        UF_get_fail_message(irc, err);& L% U( [3 @* X5 @5 G" }
        ECHO("*** ERROR code %d at line %d in %s:\n",
$ M6 u& p/ H; ^, z+ v: m! X            irc, line, file);+ B4 D, l/ `) G8 O% k
        ECHO("+++ %s\n", err);9 A/ U; l- Z  Y" R! q$ n: {
        ECHO("%s;\n", call);" E3 S, U7 ~+ N/ V
    }) V0 Q( N  D3 ^0 r
' Z& N, [' ~) s% n
    return(irc);# C+ X0 @. _# [; a2 O! h3 A
}. C* V9 t/ r5 {1 L5 @

# q3 G4 s: P$ x/ {
1 r" G3 N+ x$ E& F% ~. y/*****************************************************************************
1 O  |6 M$ P  T# v**  Activation Methods
& F' M) E. c; {' v& r9 a*****************************************************************************/. q* e4 ^% }! b8 z4 ~0 ?
/*  New Part
$ S% p0 A( B$ J7 |0 z4 x5 S**      This user exit is invoked after the following menu item is activated:, D& z8 {1 A% a5 ^
**      "File->New" */. m0 h' g4 l3 \! Z9 ^
extern DllExport void ufcre( char *param, int *returnCode, int rlen )
/ H9 g& A: H4 `1 j; d* s) `{2 y4 p4 Q3 B  \+ D, L& ]: V- W
    /* Initialize the API environment */( c. v# R/ z# l, X2 d3 B' Y
    if( UF_CALL(UF_initialize()) )
6 X# _: ^1 U& u    {# j5 a$ Y* `2 l7 V
        /* Failed to initialize */
- b# z  I0 v! A) b; Q4 r        return;
% F/ ]9 l2 K. N. h, c    }8 |& I/ j) n9 [& s- d
( c$ W6 L4 r9 G! G
    /* TODO: Add your application code here */6 h& e; W+ e1 _
# c' \2 t# @' g$ k* k& Z
        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);1 q9 M6 E  Z. R: `3 X. \
- q, e7 _" Q; ~( a
    /* Terminate the API environment */9 e" G# ^# L  i$ X) R  u# E- Y
    UF_CALL(UF_terminate());4 @' m' U0 g4 {2 y' d3 |
}9 K1 U% K! [- p& [+ r6 Z

5 R6 g" i' I5 n; r3 q' Q; s; N# S/*****************************************************************************% O4 P( A) y" M0 W$ Y
**  Utilities
0 |* G) \$ p3 R* `% ^*****************************************************************************/
) F; R7 \; _7 m- Z1 @9 Y. T& F+ @. k% r" j! {9 Y  G
/* Unload Handler+ m) B2 [, Z$ o( s/ J
**     This function specifies when to unload your application from Unigraphics.+ j4 W" C( }* h2 i% X+ t* Z
**     If your application registers a callback (from a MenuScript item or a
9 v3 w$ y, P9 O0 n  X**     User Defined Object for example), this function MUST return
6 e4 g1 b( @5 L6 ~" ]2 Z**     "UF_UNLOAD_UG_TERMINATE". */
7 t$ U+ I1 ?. m# Zextern int ufusr_ask_unload( void )5 K+ ~4 I; [! T) \2 ]
{
' _' y0 }, p- ]$ b; e& t8 i+ p2 Y    return( UF_UNLOAD_IMMEDIATELY );" n6 K; @$ O9 P) J- v; r
}
' T6 ^- P' T) r7 A
! P: b6 {  Q% n2 M9 R: M5 j& _
/ {/ v% O& A) k, z# u' h! k
* M( G" j1 y! P6 a/ V* y% Q: c" ^, u; F. a% D9 C

评分

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

    我知道了