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

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

清江 楼主

2014-11-17 16:45:55

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

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

x
本帖最后由 清江 于 2014-11-19 10:45 编辑
4 b1 I5 r5 F2 f/ T3 q- D
' t! _9 ^; z/ d0 {( f* c! i; b& Q- k0 `+ o& ^, _" N
11月16日培训课程的作业,运行效果如下图:9 H: p4 _* s8 }1 \2 }8 X" b+ L
test001.jpg
! m6 N  c% d9 t0 M& l. l, C% x7 Y: F. W) ^
开发代码如下:
! G& n& W  k8 h$ F' F( r
/ J# o: J( X2 @" t8 A/* Include files */( }, {; l) l$ U
#include <stdio.h>
, J8 r3 L, o1 v" j" s7 W#include <stdarg.h>3 A( g  e$ U6 g9 F3 L6 D' L* c
#include <uf.h>
  G3 d) p6 _4 R#include <uf_ui.h>
3 D2 T) y  V' |7 c) U6 ^/ Q4 t- Q, e+ O' o' N5 T( E
static void ECHO(char *format, ...)
) O' Q7 |0 M$ P7 N5 c7 t' s, m{  |6 P2 v& e/ F3 f! V3 B/ W& Q
    char msg[UF_UI_MAX_STRING_LEN+1];6 n# }- W7 i" v, z; K, @
    va_list args;6 D. @' P7 ~8 J, u
    va_start(args, format);
% v& y3 F/ j3 g$ e: \8 b) ^/ u    vsnprintf_s(msg, sizeof(msg), UF_UI_MAX_STRING_LEN, format, args);
. O$ i! M  h" R! O    va_end(args);$ C: G) h  r- B% S4 N# i4 E
    UF_UI_open_listing_window();: M5 }; a( k$ T8 F6 O1 L
    UF_UI_write_listing_window(msg);
+ n" ^0 {. X2 f! D    UF_print_syslog(msg, FALSE);
; N3 n0 e3 b( f$ _( _! K5 t}
. g# Z- `& U1 q9 u0 y+ l+ m& ~. @) J) }; r  `1 l
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
2 t- H+ A8 G" Z7 O: E! l9 m8 I9 V, ]& [# q" Q* v# @# d
static int report_error( char *file, int line, char *call, int irc)
# J4 k0 _$ \% g, o0 @3 p{
( U2 v9 [2 H) p! }2 {    if (irc)% r9 `. U, ?5 Q2 y; o, d; _. ]' T
    {- O2 H. h# |* b) D2 T; X  V9 Y
        char err[133];
) \8 g* b, Z* o! p
: Z4 c. h5 ~$ j! c1 C        UF_get_fail_message(irc, err);
, Q7 a2 h& W( G7 {1 [" i' U1 d        ECHO("*** ERROR code %d at line %d in %s:\n",
7 J" I; _0 t' R" d9 j! ?            irc, line, file);- J! x  U1 l$ y! x
        ECHO("+++ %s\n", err);
# |, O9 Q  {3 \2 S3 j        ECHO("%s;\n", call);: p6 `4 p5 t* `5 q" Q5 y/ w
    }
4 P* |; Q7 C+ k5 T1 |0 J. }1 K
- a% r" O& o6 n  F9 e, V9 i    return(irc);: C: }. W/ s, N3 \9 c1 z# n' S
}% N5 S, p! K0 F$ O( n  o. N
) _0 I6 h* M* G# I9 Q& F
2 P/ H8 e/ D, I2 o- C" D, I
/*****************************************************************************6 l) P& H3 T) u
**  Activation Methods6 i! i$ t9 C, J( ^9 y
*****************************************************************************/6 X9 n5 p' g2 }' ^9 U  Z: X$ l) q& p: ~
/*  New Part% E/ A, m2 r9 I/ Y) D4 \! U
**      This user exit is invoked after the following menu item is activated:
% a/ D8 _) ]/ S- v**      "File->New" */
8 T. h* G  h4 |5 ?extern DllExport void ufcre( char *param, int *returnCode, int rlen )2 F! N( ^0 Q) W3 O+ K6 O
{' B$ @7 A. I$ Q) F
    /* Initialize the API environment */
3 R: t' k0 C! S' y' _    if( UF_CALL(UF_initialize()) )
- ~9 v# a# ~9 A    {
7 b3 v" w) m" c0 H# B        /* Failed to initialize */
$ |1 N$ B) g4 p: n        return;* P* F% e7 M6 ^) Q. H5 E- z+ @9 D2 n
    }, c; v1 i3 A- `. m
: b3 A/ O" \) O8 c# E$ ~: v
    /* TODO: Add your application code here */
' r3 e( e4 r+ m; s7 T* m3 j( G
  z+ h/ c# ~$ N0 A0 t- M        uc1601("新建部件名称规则:XjfXXX(Xjf000)",1);7 S9 a- L4 n# ~, V- h" H
' i4 u# o& x- q( B* r
    /* Terminate the API environment */
3 y  O! ^+ L6 R3 R1 J  V3 T    UF_CALL(UF_terminate());# z  c6 r8 s2 q% k4 z
}8 A4 c, n4 H" \
1 J- a/ @6 M. t/ c; m% }% ?! K
/*****************************************************************************
0 \  q2 F% c) t; s2 o. a**  Utilities
+ s' s* w8 y$ s2 e; F8 n. C: v8 Z1 t*****************************************************************************/; u) S% w+ b0 }0 p+ J$ T7 ?8 M

- a4 M' ^8 ^" Q  A/* Unload Handler
  G% r& d6 o/ D& i**     This function specifies when to unload your application from Unigraphics.1 L# B+ B2 y/ {6 }/ [+ \
**     If your application registers a callback (from a MenuScript item or a
- V; E1 Y2 ~  h& T**     User Defined Object for example), this function MUST return5 V) q1 h, O7 w) c. _
**     "UF_UNLOAD_UG_TERMINATE". */" F# w8 ]% \* Z) v% }4 i- V
extern int ufusr_ask_unload( void )  e: R2 T7 f6 o) Y
{
  a1 }" p, h* w& ?2 B2 p7 |2 e    return( UF_UNLOAD_IMMEDIATELY );
" R" J: j9 d) e4 _$ g- P# w) [. c}
: H& a  [! J; J$ j7 y& V) i+ U' r
; v5 K4 {+ m" z8 K1 j
9 h- R  v+ K! z5 V: X6 H# [
- }8 B) i& h8 m! p0 @5 ?  l% a* @- Q1 E3 K9 F

评分

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

    我知道了