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

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

admin 楼主

2018-7-12 11:12:47

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

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

x

- ]7 G/ L, \' M( tNX二次开发源码分享】关闭NX后,做点儿事
/ O" F1 ?) v1 K! u$ ]
9 b' e( [: X( y6 C( E. j6 \0 j[mw_shl_code=c,true]/*  U, i8 Q6 u3 n6 M8 L
6 a/ @7 L$ @3 b0 l. V$ a
    ufusr_ask_unload is invoked immediately following the completion of ufusr6 t# v) i& W$ j
    (or ufsta when the dll is run from a startup folder) to find out when you* L! W- s. w: r, |
    want the dll to be unloaded.  If ufusr_ask_unload returns0 n6 T' M3 `1 N0 N- B
    UF_UNLOAD_UG_TERMINATE, the ufusr_cleanup is called right before the dll is& N% |# n% y# S! B2 ^: D% a* ~( M+ [
    unload when NX is terminating.  To prove to yourself that this works, set
& C4 K1 a+ J* A- A: Z5 z) a% {    the environment variable UGII_KEEP_SYSTEM_LOG=1 so that the syslog will not+ V- y8 c  a( `6 D' @  u
    automatically be cleaned up when NX terminates.  Start NX.  Use Help-> NX
. |! @( l9 `, e! G9 L7 ~* F* g0 x    Log File and make a note of the full path to the syslog which will be shown- u" G( |4 [% |( i  X0 ]5 m  J
    as its own first line.  Run the dll built from this code (nothing noticable
: t0 q, t0 J, E7 n    will happen.)  Exit NX.  Find the syslog and open it in any text editor to$ |5 ~9 E! i; J, u
    see this line near the bottom:& V0 f8 E& a3 j- \4 X- y

4 Y  m: s0 o6 DNX is shutting down - running ufusr_cleanup& N1 a7 z9 H) R  F# M, {5 ?/ Q

) \" }: U) ]- {* R3 L*/
0 d0 z, W% X5 a8 T. t! z#include <stdio.h>% j& I+ W" y6 d$ _1 u- y/ w
#include <string.h>
# m$ Z3 |6 U3 t& S* N+ W' A#include <uf.h>
, Y7 m, U( I. E+ J& n#include <uf_ui.h>" m! R8 o! s. t' v- x9 H- ]& ]* i
#include <uf_exit.h>
% V) h' V& G0 I8 P6 ~( T( T! z) c4 U5 T
#include <stdarg.h>
6 T) e. @& {: y( r
2 [0 m: A- H7 A; w( qstatic void ECHO(char *format, ...)2 X# Z6 M1 L; v' Q
{
1 q' `8 Z7 Q, v' \. @/ f3 s7 T4 B    char msg[UF_UI_MAX_STRING_LEN+1];7 c- \8 l2 y! _+ @1 M" W- C
    va_list args;+ ^6 o0 d: _& a) A9 w7 H  O
    va_start(args, format);9 m& k/ h  r/ ^0 l+ S9 z* ~
    vsprintf(msg, format, args);
' O2 P- x  l" ?! w    va_end(args);$ j  ^# ?' Y7 `  p
    UF_UI_open_listing_window();1 f0 n% C+ R' O; _3 r6 {0 G* [( U
    UF_UI_write_listing_window(msg);* N2 n! f' s5 d' l$ G; H
    UF_print_syslog(msg, FALSE);
/ g- ]9 e  F, l  _" v}4 G' A$ x% w7 g5 h- K

4 u  @. K* O! _9 |2 Z3 g3 j#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))0 p2 D2 B0 e1 k3 J6 i9 P  I6 ~0 W

# m1 D6 q, `8 k' u4 l4 p/ j" Mstatic int report_error( char *file, int line, char *call, int irc)
8 {6 M6 Q9 ?1 V# w. B# z{
0 _% G  ^, A9 i' C    if (irc)7 O) Y+ H7 D2 r. s; g- S
    {
. f- r  m' e3 l; r* ]        char err[133];* R% H+ f! q- w5 y- l$ j
. Z) J: G7 R6 v: T# T. t
        UF_get_fail_message(irc, err);3 @: |! Z- v) M! e6 [
        ECHO("*** ERROR code %d at line %d in %s:\n",
8 n* U9 Y$ L2 H- Y5 R3 b            irc, line, file);
/ K# Y8 P, D+ _  ~7 f( C        ECHO("+++ %s\n", err);1 t2 v% L2 ]- z/ P4 D/ {+ Z+ O
        ECHO("%s;\n", call);' ?# W  f! a! j. T. e
    }6 K2 C( G4 Q  `" {5 J

1 I0 ^* K& F7 \  t0 j    return(irc);
& N$ f5 Y0 D2 \5 ^( u}& V; ^7 X! k. A/ c

; y( l. e( ?6 ~+ s% a/*ARGSUSED*/
" n  N" @0 {- I4 _4 \( D# T. Nvoid ufusr(char *param, int *reTCode, int paramLen)! n$ X& F' V9 ]$ `
{
% ~! g; u9 J* m3 @: n5 S3 l1 y}
6 I6 b1 C$ G1 {% w& A2 `% H
. G4 `8 ~0 T6 M/*ARGSUSED*/4 Z+ |9 v  T+ [- ]: d# K9 \  ~7 R8 P1 ~
void ufsta(char *param, int *retcode, int paramLen)
& b: \9 e' x/ _7 Q; f{
  Q" ~4 Y- B  F$ i9 C# l- V}
. }5 T, s% ^. i- O( B5 ?- J: I4 Y9 R, D# i: A
int ufusr_ask_unload(void)) B: W8 ?6 p( V( \% `: a' x
{2 I( f& ~, R! x  _+ I4 N
    return (UF_UNLOAD_UG_TERMINATE);" b7 `8 f8 j+ ^$ d* }" ~, j: n
}
! _4 F+ ~, o/ ?/ L5 l, M, K0 B8 ^) f8 ~0 n! C
void ufusr_cleanup(void)8 G+ h# g( |. _3 K! f1 P6 B
{: V' R) y4 y# S; @
    ECHO("NX is shutting down - running ufusr_cleanup\n");
- m7 ?5 X3 z+ K5 [' a
: S2 w7 g" W, k: P! P4 w0 E$ R    /* put your code here */3 f& i  }/ s; p- x
}[/mw_shl_code]; u- W8 i) |! M0 ^8 X0 W* z, a
上海点团信息科技有限公司,承接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:498 n. [9 d, N7 q  b5 k' U0 @0 x
请问这个函数是怎么用的?有什么用?

* B. Q' u* R3 h3 N0 T入口函数 改成 ufusr_cleanup ) E% H* M: w+ f1 s

2 J9 G+ V2 c2 T5 n: n意思是 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二次开发专题模块培训报名开始啦

    我知道了