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

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

admin 楼主

2018-7-12 11:12:47

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

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

x

1 s2 ^% B9 Q) P5 pNX二次开发源码分享】关闭NX后,做点儿事. N% ]$ r/ e8 {+ F3 f2 K
. {2 `) L/ i/ C+ F
[mw_shl_code=c,true]/*9 y5 p6 R) h3 q% |

$ |/ z$ Q. l. |6 \, f: m" `    ufusr_ask_unload is invoked immediately following the completion of ufusr9 ?' X9 ?+ x" o/ a5 [& r$ E: g
    (or ufsta when the dll is run from a startup folder) to find out when you
0 z+ J  h% o- Q6 [5 w" ^: a, v    want the dll to be unloaded.  If ufusr_ask_unload returns+ ^; z0 j$ t6 ?. M$ l3 U
    UF_UNLOAD_UG_TERMINATE, the ufusr_cleanup is called right before the dll is/ j9 s% O) Q! j; j1 v
    unload when NX is terminating.  To prove to yourself that this works, set" z, _+ Q0 J: X1 k; Y0 m, ?& e5 [
    the environment variable UGII_KEEP_SYSTEM_LOG=1 so that the syslog will not. c; ~0 |, `! q; y4 i
    automatically be cleaned up when NX terminates.  Start NX.  Use Help-> NX2 ?' w' z0 i( p; ^; K. ^( V
    Log File and make a note of the full path to the syslog which will be shown
+ {8 i$ F. W. y) ^( n: \4 S    as its own first line.  Run the dll built from this code (nothing noticable
3 \5 X8 z. |/ ?4 E& b+ u- U, i    will happen.)  Exit NX.  Find the syslog and open it in any text editor to: Q! n, ?5 J! M$ l% ?/ t# w
    see this line near the bottom:
  x9 v& w, A9 t# G! A- A" }
  w3 o/ g7 G  R$ C6 k8 Z0 BNX is shutting down - running ufusr_cleanup( I& x5 r' F( K

0 Y5 `. Z) G' ]; U*/
- {/ O7 A4 L; s, X0 K  y! z#include <stdio.h>
0 D, v3 j- l$ j8 I6 O. M, v2 n#include <string.h>! I  p, k- O: ~2 E, D
#include <uf.h>9 |) h1 s* B! V: y/ s! m+ N1 N0 C5 }
#include <uf_ui.h>: k/ I# n, b3 P! l: j% h
#include <uf_exit.h>
9 V; E$ [1 I( X9 f/ J8 ~6 J. N! p, F( f1 ]# ?1 Z
#include <stdarg.h>1 w& z2 W4 {0 g3 A, {7 v) D
: C9 j9 ^- L3 m$ j, T0 w  o
static void ECHO(char *format, ...)
4 C) e! y' m. I% J/ M/ d4 m3 |{2 M$ O* R, o' J; W6 o- T
    char msg[UF_UI_MAX_STRING_LEN+1];2 d5 u; B4 g+ o! q- s; s) K
    va_list args;
+ v. ^3 ~- z. h) X- w; j7 E3 Y    va_start(args, format);: L0 n' E7 g/ E# f+ J7 \& J
    vsprintf(msg, format, args);+ }1 |+ v/ M: W' `7 o: r
    va_end(args);
* R% W  M- v) S2 F    UF_UI_open_listing_window();# n2 k1 T. y  Q, C7 D
    UF_UI_write_listing_window(msg);2 s5 W1 X# y& p( ]- U: f
    UF_print_syslog(msg, FALSE);
' R8 W3 c. ?" D% n}
9 E& W8 q7 t) G* T6 M  |
7 d4 o) w( E3 h4 F; Y. B#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))/ c8 r$ _7 O6 h1 X, Y4 E
. k# e% J8 B9 S! D2 ]0 E
static int report_error( char *file, int line, char *call, int irc)$ t- D: V  t: @$ Q+ {
{8 u  h: W* j/ Q4 s; H
    if (irc)! f+ D' H3 Q5 M* Y7 V7 a  j& x
    {& p2 o8 W2 \: t4 a0 e
        char err[133];
: B" x! P4 I& E- _
1 K' g% n2 ]7 O& Z        UF_get_fail_message(irc, err);
6 P  d( {# z# a: G3 ~) G" H1 d$ i0 V        ECHO("*** ERROR code %d at line %d in %s:\n",
  y3 g+ W, B( n3 I2 _% Z( \# J4 T% P            irc, line, file);) U. {, L# |3 }: c" M: Y, _' |  N
        ECHO("+++ %s\n", err);
" l# g  F9 [( U  U6 u( e        ECHO("%s;\n", call);
' E3 v) c6 A% ~( b0 N& G4 }. i    }; s. Q  u& C- }+ s' W
. N5 L. B% g' ?+ {# m& ^# b, N
    return(irc);' n% A/ L! K6 _  X/ U
}
( U  B1 X7 F6 @. }+ S* b' T7 e
/*ARGSUSED*/3 I- M% J% Q* `: ^
void ufusr(char *param, int *reTCode, int paramLen)
4 Z2 D/ L. a1 n/ Q, K1 b{
6 c. j3 v$ t; _4 W# K}  ?6 J4 v1 Y/ {8 n9 n3 l

) `  a$ S9 n7 N( T/*ARGSUSED*/5 p" |( U/ j! B/ x2 F" ]& G6 Y
void ufsta(char *param, int *retcode, int paramLen)
$ _2 q4 B& Z- J" k% u: B{
' D; M, ?2 b) x4 F! E}
9 N. e5 a2 ^8 J3 U( d1 r0 ~1 I1 N6 J3 [
int ufusr_ask_unload(void)
" ~5 ]' b9 C" g  q: Z- S{6 H7 T8 c5 X2 o3 `4 ?7 I( ]& _
    return (UF_UNLOAD_UG_TERMINATE);; k5 [$ {% I. x$ B: W) v+ E
}! v( ?4 i* F9 j
% W4 K$ R& G! K1 N! w' A
void ufusr_cleanup(void)2 l2 o, b4 G2 i, O4 g) B/ L" J2 o
{: @! ~! p( m* h) h7 E. u
    ECHO("NX is shutting down - running ufusr_cleanup\n");
" N9 d: R( D% R2 }4 |6 F' M& O8 {+ A
    /* put your code here */, U0 }1 `. Y, S: }* @3 S! h& v7 ]
}[/mw_shl_code]4 j0 n. H% m; v8 r' Z3 {, O
上海点团信息科技有限公司,承接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:497 ^6 P4 }; V3 j+ \
请问这个函数是怎么用的?有什么用?
3 K! Z3 G9 I/ P- j
入口函数 改成 ufusr_cleanup
' r/ d6 m" \; L8 Q( i% p$ D# p! H+ D; k9 s7 A
意思是 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二次开发专题模块培训报名开始啦

    我知道了