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-国产软件践行者

[二次开发源码] 【NX二次开发源码分享】关闭NX后,做点儿事

  [复制链接]

2023-1-10 20:46:56 3676 3

admin 发表于 2018-7-12 11:12:47 |阅读模式

admin 楼主

2018-7-12 11:12:47

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

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

x

# z* r5 v) H9 ^6 [9 F* W* mNX二次开发源码分享】关闭NX后,做点儿事! |0 p. T9 T3 [" A; R- `$ D+ G
% z) d! w6 W! A2 O6 ?# \8 E( O6 o. C6 }
[mw_shl_code=c,true]/*  N# J' n9 ?5 k3 L0 U9 E8 j1 R

) ~2 _' _) }+ f6 T7 ?    ufusr_ask_unload is invoked immediately following the completion of ufusr
8 b* q1 f% J* v8 z2 U/ N, f- J( ]! e* i    (or ufsta when the dll is run from a startup folder) to find out when you
+ w& l. u5 X3 v; l0 F2 o" _% w" g6 g6 @    want the dll to be unloaded.  If ufusr_ask_unload returns
1 j) I3 i: ~* w' Z- w* n8 O' M    UF_UNLOAD_UG_TERMINATE, the ufusr_cleanup is called right before the dll is, l# U9 S1 y( x1 s
    unload when NX is terminating.  To prove to yourself that this works, set
$ d; {# e2 }" ~* |' @8 F- Z' t    the environment variable UGII_KEEP_SYSTEM_LOG=1 so that the syslog will not
. U( \6 p- p" R  {- B* K/ P    automatically be cleaned up when NX terminates.  Start NX.  Use Help-> NX/ F9 u2 W, h1 D+ v. {
    Log File and make a note of the full path to the syslog which will be shown" y7 O0 b7 c* X9 {, i( a- D. H
    as its own first line.  Run the dll built from this code (nothing noticable
! H1 X: Z! Q- k2 N    will happen.)  Exit NX.  Find the syslog and open it in any text editor to+ Q. S* `* c, b+ [( \* n
    see this line near the bottom:% C. \4 |8 E( N; F; t
- m  b* E/ l6 H& p
NX is shutting down - running ufusr_cleanup) i$ M+ W  J# s% x
/ q: L) i# C9 O; h3 F2 t& x
*// p  S, m: i0 z" U% n; X
#include <stdio.h>. q! O( a8 q  E' Q. z
#include <string.h>
. v6 K) w! c, Y. T#include <uf.h>
$ I6 O: F& c6 g; I#include <uf_ui.h>
2 h) R" Y* ?9 _' l! I0 V#include <uf_exit.h>
+ Y1 _+ z; v% t
- \1 W1 ?& H7 I' b. B( A#include <stdarg.h>
$ `9 ~3 [, e; F8 i7 ]- v* i/ D, M; M" ?5 C; ?9 `- C
static void ECHO(char *format, ...)
% N  E- I; t" i) A/ k{1 c! `0 R7 d" j5 y- K5 X7 w9 C
    char msg[UF_UI_MAX_STRING_LEN+1];
2 }9 M( H$ V4 b$ }* s8 L! A    va_list args;
( w- F- t; f- X7 E( i    va_start(args, format);" ?2 v) m  M. H2 J; w7 b
    vsprintf(msg, format, args);
$ w" ]1 J; X$ J    va_end(args);" I( y& U2 n: {/ C% l
    UF_UI_open_listing_window();
4 f, n1 v5 n8 G8 Y. ]) ?) u/ X    UF_UI_write_listing_window(msg);0 |$ f- H) ^/ L5 |1 `! @) H
    UF_print_syslog(msg, FALSE);% O7 D! q; w4 X, J7 a+ w
}. ?6 I0 f$ M3 j# G# p

9 Q, T  |$ w1 |/ ]2 w1 h#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))) v) ?6 K& c4 @- b9 j

. a: K- l) K) J8 e) q" kstatic int report_error( char *file, int line, char *call, int irc)) \- j8 `& z8 i% h
{8 {2 `2 j% v$ _& K
    if (irc)' E  z% x& g$ i, C8 O5 m
    {3 `" \8 Y* o! W6 h0 o
        char err[133];
5 R. z( f7 p5 K& [2 i0 q; J' k: p& [: n0 K3 }  C
        UF_get_fail_message(irc, err);+ ^* E- u4 h. B# ?; W
        ECHO("*** ERROR code %d at line %d in %s:\n",
$ ~( ~: E; F0 K& e/ c: B( y            irc, line, file);- H8 ]1 W1 Y# v# h2 R
        ECHO("+++ %s\n", err);
, S4 ]# W* A+ j        ECHO("%s;\n", call);
+ b5 D6 @  F* l1 K    }, z! N: Z; Y0 [6 I5 f0 C

2 X0 p% K. O' x    return(irc);
% v, A0 e9 Z4 W( B5 Q  H}
' [8 G" j4 n' `: R( F6 r0 {2 b% s  M: R- h0 o% }* `
/*ARGSUSED*/* P& T" z+ u$ O& A) R
void ufusr(char *param, int *reTCode, int paramLen)4 _/ P! C8 t( r; `% H
{" o% C6 ]" m+ g! V, w6 _6 U$ C* r: q
}
$ q. u8 o( g0 b7 B. J; t0 ^. ?, U3 o9 k
/*ARGSUSED*/
2 D! ~* @/ W1 e! K# D9 e1 Cvoid ufsta(char *param, int *retcode, int paramLen)4 s) P1 N! e& L6 ~" Y- V  s
{
) `* y, m% P6 T& a- g}8 J! o( F) s: ?$ |, I
2 v# ~7 g( p) ]2 \, r
int ufusr_ask_unload(void)
( U! p7 q0 I5 F( s: A& L* p{
* f$ Z6 M  f; R8 v4 }4 U7 N    return (UF_UNLOAD_UG_TERMINATE);. M. Y  g8 m+ ]% z1 {" P! \, f7 P% T
}
5 s/ g" V0 X; @' S% N+ G- z
* {9 I, @5 A# x2 u& t/ D+ Uvoid ufusr_cleanup(void)
9 G' P3 W6 O% z9 e4 l4 B5 k: J{
1 }  p6 |4 r) @7 }    ECHO("NX is shutting down - running ufusr_cleanup\n");
/ f6 q0 b( C+ [/ m" Y( K  s% f
: N% M' \; f2 s% s& e' N    /* put your code here */
: y9 E& b$ p  ]3 w( E* g}[/mw_shl_code]
- R3 F4 \# c- N' y% W( p3 q
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复5

licxsw 发表于 2019-12-25 08:49:24

licxsw 沙发

2019-12-25 08:49:24

请问这个函数是怎么用的?有什么用?
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

admin 发表于 2020-2-13 08:43:55

admin 板凳

2020-2-13 08:43:55

licxsw 发表于 2019-12-25 08:49
% w* v! r- A7 ]) I3 w+ Y( n3 r# p请问这个函数是怎么用的?有什么用?
: J. ]6 G% U( t/ P& d# u; u8 n2 R
入口函数 改成 ufusr_cleanup
8 n$ [. K8 O' N. K' D7 L- }* k2 H0 y5 o+ a$ G% B3 J  d
意思是 NX 程序退出后,你可以做些事情 ,具体做啥可以自己写,就是个入口
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

licxsw 发表于 2023-1-10 20:46:56

licxsw 地板

2023-1-10 20:46:56

测试了 ufusr_cleanup入口处复制文件到指定目录下,不成功
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了