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 3670 3

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

admin 楼主

2018-7-12 11:12:47

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

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

x
' N% w% i) o+ e- [$ ~/ W
NX二次开发源码分享】关闭NX后,做点儿事
& t) s1 I# S. x, E( K. O
/ I. R# C7 r& X0 u( F: D[mw_shl_code=c,true]/*
) |' K. [# `" }  y0 {# P0 a
: h1 v0 p* e9 f; [: }4 \- u& ]    ufusr_ask_unload is invoked immediately following the completion of ufusr
; h' Y7 _* V4 S" @% t6 U    (or ufsta when the dll is run from a startup folder) to find out when you
4 A3 s; ?2 C! ^, q  T; A& u    want the dll to be unloaded.  If ufusr_ask_unload returns
2 ~, d; W( R5 r% l9 \8 `+ n    UF_UNLOAD_UG_TERMINATE, the ufusr_cleanup is called right before the dll is
* D$ o; O4 |, U6 P" d& f    unload when NX is terminating.  To prove to yourself that this works, set
+ B3 O% T5 G& T" A. ]    the environment variable UGII_KEEP_SYSTEM_LOG=1 so that the syslog will not- c2 B; l6 r7 g4 F5 B: `4 _) f
    automatically be cleaned up when NX terminates.  Start NX.  Use Help-> NX
+ G9 E* M+ H: g/ P    Log File and make a note of the full path to the syslog which will be shown
. Z3 w* q2 G/ i) ?% r; w    as its own first line.  Run the dll built from this code (nothing noticable
" O; J3 @8 p% v$ H  |    will happen.)  Exit NX.  Find the syslog and open it in any text editor to5 c5 s' D; S* H- G% }8 {: X6 R! a
    see this line near the bottom:2 n2 {3 O( h$ _! o4 @7 v0 V& Z  v
2 _$ F8 n) ~0 J. M
NX is shutting down - running ufusr_cleanup( i! D& p5 B1 E+ r/ D. d: c
  b! ], C4 E5 }/ V1 b+ Y7 X9 @$ E# v
*/' W4 x& r% h$ W% O* i
#include <stdio.h>
; B9 h) S; G3 r/ G6 S% j#include <string.h>. p' k: Q5 i7 k" f6 N! s
#include <uf.h>
# e- G9 U7 U: K1 E0 D3 o% J#include <uf_ui.h>
, t6 S% I- L( p4 @% r#include <uf_exit.h>
" G" m  X4 E& ^, j
" W/ X. Z. T: L; ^6 q4 i4 i#include <stdarg.h>
, F# V( V& ^! ]. O" [- L3 h7 C- v& s$ \& f, W7 [
static void ECHO(char *format, ...)% V$ X- k" r, c/ h
{
1 T9 K+ u9 ]% }; m& _    char msg[UF_UI_MAX_STRING_LEN+1];, Z( h+ A# s! Z4 s" l
    va_list args;
, G" i3 R( d# b9 }! g    va_start(args, format);
6 R: a2 O8 E- ?# F  C) m    vsprintf(msg, format, args);5 X7 x- C* I' |  N% w: J# U
    va_end(args);: y9 n9 N% O' R# j# {( z8 J) f
    UF_UI_open_listing_window();
% W: U3 W8 o6 k' d# v/ k    UF_UI_write_listing_window(msg);
0 o+ p6 k3 H( c  J) K$ e! t: ~    UF_print_syslog(msg, FALSE);1 c8 z& n6 _, F5 M' j% r
}
5 J9 {5 l& d: w/ e6 L! |0 D$ M. x3 e: a
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))3 J; Y  k. ~+ u4 y" r
- G* y" P- `: ?7 y2 b$ x
static int report_error( char *file, int line, char *call, int irc)9 l  b% Q/ f! C# A1 @* s; N8 A2 e
{
$ T3 d- ], v( e, ?2 a    if (irc)
. d" `2 a8 ~( C- [. V$ f    {$ g3 {; c8 A2 i+ y7 c$ Q3 T0 u) }
        char err[133];
3 S, e: s+ B( B) l7 J+ y& X) S6 k/ C6 o- W
        UF_get_fail_message(irc, err);
1 `- Y& e4 L$ ~6 _3 c5 p: U        ECHO("*** ERROR code %d at line %d in %s:\n",# [: f; S4 @# U
            irc, line, file);
0 x/ H4 F/ _  m, ^# f  N        ECHO("+++ %s\n", err);! Z- C, F3 U: w! A; g
        ECHO("%s;\n", call);- q  Y% K$ K5 I+ a. S* z1 c
    }
) d# d9 ]: i7 l
% T3 V( `1 o) ~# ^" x/ |2 ^    return(irc);8 E9 I( r! ?* X" y, z& F8 S6 s
}
4 S: U1 G3 g  R4 M5 i. @2 {! @9 z
/*ARGSUSED*/  J; I4 R; H" f! B# |+ A5 q$ n
void ufusr(char *param, int *reTCode, int paramLen)
/ C% v9 B9 T3 i5 a. K{
# ?- J1 Z8 G6 O# N4 {}
+ u+ y# c) |" N& _
0 a& S( f4 S# E- A5 T- k/*ARGSUSED*/
& s! e& w) G. \7 j0 r% m2 y( mvoid ufsta(char *param, int *retcode, int paramLen)
# e1 r; ]; z* ^5 A9 v% W( N{
" n8 M/ X7 U. U  ?/ c2 \: I}$ L0 }9 c" o- G; L

$ }5 |3 }' c: G9 hint ufusr_ask_unload(void)9 G/ s9 K" d% w; h: j& }4 O. e4 i3 L8 }. Z
{
/ Y$ G7 U* E1 ]' K4 z$ _2 Q9 T    return (UF_UNLOAD_UG_TERMINATE);
& N0 k7 T1 l$ e: d) R* h. U}0 |7 Z: P, A% O* F7 g3 |

; r* Q9 y1 S! |5 P( nvoid ufusr_cleanup(void)7 g0 w0 n0 l2 @7 f6 p  `/ X! R& C, N
{/ B- ]: ?6 P+ [' v3 a$ s( \
    ECHO("NX is shutting down - running ufusr_cleanup\n");
4 E& V) N- ?; Z# n- q; \  d' \9 Q; H$ ?: n
    /* put your code here */5 P% r6 m7 O! A8 C2 B$ B# H
}[/mw_shl_code]5 N+ G6 z3 x4 z: n
上海点团信息科技有限公司,承接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
+ s5 y. X" Q/ u" V5 k* `: X请问这个函数是怎么用的?有什么用?
7 o+ k; d) J: b7 I, H% ~% c$ S! @
入口函数 改成 ufusr_cleanup
  H( i( m7 `5 z+ U/ j
% _9 E5 S8 y. T8 q% l7 ]意思是 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二次开发专题模块培训报名开始啦

    我知道了