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

[VIP求助] 库缺少需要的入口点,功能名:ufusr

[复制链接]

2017-2-14 11:29:07 6514 0

lzhyi 发表于 2017-2-14 11:29:07 |阅读模式

lzhyi 楼主

2017-2-14 11:29:07

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

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

x
本帖最后由 lzhyi 于 2017-2-14 11:32 编辑
; p& }' ]+ X2 u# P9 k: b- i. p; \" p, V2 C$ g2 ]* C- _) u/ @
请问出现如下问题,是什么原因:库缺少需要的入口点,功能名:ufusr8 W8 R2 n6 W: \6 j
代码如下:% K" o! {/ M7 B3 `7 j* n
#include "Shrinkage.hpp"+ x. ?; a: ^  c8 G
using namespace NXOpen;& ^6 z9 ?6 V) E. f9 b% v, D
using namespace NXOpen::BlockStyler;; \5 N- \* O  o+ B! N
* h; n  b+ D5 \( ?; p/ [9 v, ]% V
Session *(Shrinkage::theSession) = NULL;
$ h( f' {$ f8 }& _6 g9 r6 h( bUI *(Shrinkage::theUI) = NULL;
$ \8 [" w2 u" o$ r: j2 m+ X7 ^- @' c5 V6 J
Shrinkage *theShrinkage;
. W5 K+ C  x9 A1 B) {
7 W- ~& Z' t* g! EShrinkage::Shrinkage()4 J  E' |% s1 ?  _
{
7 F" V  _$ I5 ^' G    try
3 P) n3 F/ R! T, U7 K5 |$ E/ e& ]# N, [    {+ H4 b! Z, @+ N
        // Initialize the NX Open C++ API environment! B/ ^( f' U! ~' B. m) z% e) X! j) ]4 O
        Shrinkage::theSession = NXOpen::Session::GetSession();
6 \" V7 s5 a0 G% T. K        Shrinkage::theUI = UI::GetUI();0 q0 L0 R) {3 X! a
        theDialogName = "Shrinkage.dlx";9 F8 i  R) a( g6 I1 u9 E* U
        theDialog = Shrinkage::theUI->CreateDialog(theDialogName.c_str());
4 x- T( a$ b7 b" |6 w* Q9 L/ ^  K        // Registration of callback functions  m1 S/ U6 K# a6 M8 V
        theDialog->AddApplyHandler(make_callback(this, &Shrinkage::apply_cb));
1 G: `) ?  v! P0 l* d  Q$ F        theDialog->AddOkHandler(make_callback(this, &Shrinkage:k_cb));
: d9 h8 e+ g% U/ h        theDialog->AddUpdateHandler(make_callback(this, &Shrinkage::update_cb));4 s. L& k- p% L9 F
        theDialog->AddFilterHandler(make_callback(this, &Shrinkage::filter_cb));
5 P7 h- @, Q. `% z1 e: s6 _3 z. _        theDialog->AddInitializeHandler(make_callback(this, &Shrinkage::initialize_cb));3 i( W5 R2 M( D3 h
        theDialog->AddFocusNotifyHandler(make_callback(this, &Shrinkage::focusNotify_cb));
5 f0 @/ l6 y6 G! i( j        theDialog->AddKeyboardFocusNotifyHandler(make_callback(this, &Shrinkage::keyboardFocusNotify_cb));
6 t7 J' l5 u, `6 r+ M! T        theDialog->AddDialogShownHandler(make_callback(this, &Shrinkage::dialogShown_cb));- G5 Z9 O" \: M+ j$ Q
    }
5 m- V( s9 f4 Z  v5 C) E    caTCh(exception& ex)
0 L' `7 u1 d5 g; T    {
; n1 d6 i. L! x   
+ c% e* J0 V. j- c% n5 x        throw;
, Y; Q- U7 Z  x- ~7 \* k    }
! T* g" p0 W/ g8 U1 n' ~( ?}4 `5 N' I4 V% `5 ~; I9 l# C

3 f) a/ }7 t/ d* y% _4 a2 `3 j8 uShrinkage::~Shrinkage()
$ L, ?  D0 c% F$ p, i, z{/ |$ p; g1 V  t  n0 m
    if (theDialog != NULL)
0 z2 \) Z7 g$ H  Z6 ~4 m* {    {4 g$ D- n! ^7 r+ h' ^$ H
        delete theDialog;
4 M1 t1 J. D* j# Q        theDialog = NULL;
. C) u" f' g2 m    }  ^6 x5 @+ I: Y4 G4 P- S
}
& y2 F% w. o. {9 r2 p& o/ ^3 q2 P# q; R1 ?
#if USER_EXIT_OR_MENU
9 t- Y1 ~. Z: Y# \3 ]    extern "C" DllExport void  ufusr(char *param, int *retcod, int param_len)
8 r; [; L& e: e0 ^    {
; h% u) B3 C4 I" v: u% p6 C+ e        try
6 O9 g1 O* Z! y        {5 y- H: K  D" t$ x. V
            theShrinkage = new Shrinkage();9 Y0 k. q" u4 ]' H# U  V, Z2 m
            // The following method shows the dialog immediately2 o- l& C- D  \, b) \$ j
            theShrinkage->Show();# T( m6 E7 d* g; f! G
        }
  ^3 s" u+ I5 l# k$ V1 Z9 f* ^9 N* Y        catch(exception& ex)" X7 Z  w; [* y! p- d
        {
1 v( \1 l' S* w% h4 u            //---- Enter your exception handling code here -----( M0 A  v- ^2 h  {4 w/ X
            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());4 |- I4 C5 K' n, `3 g
        }
9 ]" n) M/ C- ]- U        delete theShrinkage;, U8 z, S! i- V+ L) T% X( [. v
    }
- D. C2 B; E0 N3 D: R/ D#endif//USER_EXIT_OR_MENU
  @, t# Y: l1 q& X5 s9 S# m9 f#if USER_EXIT1 U6 q# i! X1 t. b* k) m8 o$ q
   
0 f1 J% O+ m. a# c% `3 L    //------------------------------------------------------------------------------
- B9 r9 R7 v: h+ n7 R1 A0 {   
, O, I% M3 T9 B0 ^( v    // MUST NOT use this option since it will UNLOAD your NX Open application image8 t: e" D# J- y- G( I6 G+ ^* G
    // from the menubar.
6 ]" e( a7 M9 Z7 W& l    //------------------------------------------------------------------------------
) O; S9 b( p9 r9 K    extern "C" DllExport int ufusr_ask_unload()
6 J7 r' l1 X/ N- y' j: U9 e5 k  S    {
5 D' z' W( x3 w8 Z4 F        //return (int)Session:ibraryUnloadOptionExplicitly;' ^. B' \% Q! V2 A  Z
        return (int)Session:ibraryUnloadOptionImmediately;8 @0 z# `6 L, X; f8 v
        //return (int)Session:ibraryUnloadOptionAtTermination;
, V, H7 j4 C6 w$ {* T    }
# d! z. m7 L5 y+ C! ~/ B, Y- x- E   
" a( }. b' ]' P    //------------------------------------------------------------------------------% ]- F& S  A" j, p& u6 P
    // This method is automatically called by NX.3 X: c0 {; v$ E7 |! C- E8 c! o
    //------------------------------------------------------------------------------
; q8 `! z. k% ?0 t! A7 @! u    extern "C" DllExport void ufusr_cleanup(void)
$ I7 m) b+ ~9 v    {
; Y$ |+ }6 V' W2 s4 y        try5 {( K4 p) h9 O9 U( p
        {
- f1 E' f2 |3 V' Z8 F1 L9 c            //---- Enter your callback code here -----
' ?' U4 q! X8 K- x, R4 B        }
' D$ q$ M* T5 U$ a* b/ ]        catch(exception& ex)
% T1 y2 \# F8 d/ U8 v- t        {% Z( X8 B4 x# |2 M: E8 j( f, y
            //---- Enter your exception handling code here -----
8 Z* U' ]+ O. S* s2 n3 G. W$ H            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());+ |3 I+ R' B+ k0 x0 E* p
        }: r% l* H! I3 S8 g8 O8 ~. A" v6 Z
    }
7 l; `6 l7 c- A$ T; n, [#endif//USER_EXIT
7 r$ Q# r6 P% P. Y$ j9 Y, z5 r    ) P( R& Y% K2 ?) M8 W
    int Shrinkage::Show()7 M+ a+ M+ ?. f# g3 L: h' v. [
    {' e# h  z8 H' i$ f7 d
        try
2 i' n5 Y1 W) L. t% Q        {7 J0 K- F8 A/ z2 g3 h5 n
            theDialog->Show();
& e7 h0 I+ L% ~. f& ]0 Q4 P  S        }
( |7 i+ T+ `, R& A$ }! |8 y( m9 s1 u        catch(exception& ex)$ R$ g1 `8 ?% I3 S& k
        {
* P- y& U/ F3 V- J            //---- Enter your exception handling code here -----
/ w$ A% Z9 q! g            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());8 H. Q9 a/ ^8 u9 l; z; @
        }. K% b2 l; U+ S/ n: F/ {& ]
        return 0;  p/ U2 D* |' Q6 B; I0 F
    }* S( t% g& X# o' }$ n
    + c) R1 W0 I- N/ t
#if CALLBACK* b- S' ~8 ?8 w' i# X

1 f3 B& v, h' t. |* P    void Shrinkage::Show_Shrinkage()
5 q4 p+ k, V7 b7 Z' v8 ^    {$ `% C2 p9 F, V6 M8 R- I% R- g2 C
        try4 D, Y: `3 G2 L, G4 n
        {! X1 g( s) a/ `0 }6 h
            theShrinkage = new Shrinkage();
# X: Y6 [- E3 O: ]1 F- G- f- C$ U2 Z1 W* i: O* O
            theShrinkage->Show();- ]% e& j6 C- ?. ^
        }
6 h3 M; E$ _% N+ |$ g0 k        catch(exception& ex)4 J$ Z4 g6 G! m$ m, h& h
        {
& l+ K! w/ }; l, g: w9 |) q' T8 \
' \- ~+ w( I% x" b; x0 O1 k            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
  |! I. m( e/ U$ h        }3 K+ S9 @3 |3 Q- I! S
        delete theShrinkage;
( W+ ~$ e- G) G& V    }; m1 x3 f& b9 \. U" l$ G
#endif//CALLBACK
0 @. x8 B3 a/ X' f" C2 v    / Y3 }9 O6 N2 Y5 o$ [/ \
    void Shrinkage::initialize_cb(). Y* D" r  C( }3 N$ H/ A7 ]
    {
; k4 P* |: Y: v" A        try% A- u# V. i# J$ x- }% O% N- e" `: L+ j
        {
+ w8 }% `7 @. `; w            group0 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("group0"));3 w. o1 u; H4 j* {
            face_select0 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("face_select0"));
0 `: `6 B) l/ U8 Y% Q8 T            face_select01 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("face_select01"));
& W. i( X' m1 l$ Z; `0 J2 Q            group01 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("group01"));
1 h! J7 L- Q. K            bodySelect0 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("bodySelect0"));
5 i% S6 G& r. |) r5 h8 P: b            bodySelect01 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("bodySelect01"));2 B1 i7 r  b2 J2 A1 W" U
            group = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("group"));
( G$ W0 J5 Q/ M            string0 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("string0"));, H  ~+ [, t: |7 G" P$ w3 a0 [
            label0 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("label0"));
0 o; H% Y! I# N: u) {+ m& K8 G# ^            string01 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("string01"));% p9 p" {# o# [* u; l, }5 i5 k
            label01 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("label01"));
# r' l8 a( c; a6 m) h+ D( ^. N& w            label02 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("label02"));
2 \; u% f& P1 y2 u0 ?' a: _% H        }
( i) h3 W1 f* ?# Z" J; A  C        catch(exception& ex): h) N; I  B" z6 ~0 k- c
        {( C% z  i6 J& \$ i: `! g7 `+ U
           
% A- a. T. |0 c; g            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
* T0 d7 L8 r! ^1 E5 f9 w9 G! f        }
! S: g5 Y3 {. b, u: [% s    }
( g+ w6 l7 e+ S% n2 g/ B    //------------------------------------------------------------------------------& J% V5 v* \4 ]1 N' [, j. O. F/ k* f
    void Shrinkage::dialogShown_cb()1 @8 }. z  T- p8 d
    {6 }. s3 J: Y$ |& f  \
        try; p! H( `. f/ B& Z
        {$ N, y+ E* d9 p
            //---- Enter your callback code here -----
1 y0 `9 d6 j) r1 |/ r        }  F3 t' P; {! N' B
        catch(exception& ex)7 v# M3 E1 J+ J# l) }
        {
5 o/ ?2 m& d: O' y/ L6 D3 f
3 V# m/ ?- F# r8 U2 V            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
7 x1 ?0 a) |# r/ t1 g        }
9 j5 P" |% y) B& b+ k    }
7 m8 e" j. U" {. l4 s    + p" h" o  Q) @, O; j4 `# z
    int Shrinkage::apply_cb()
, r; Y9 w& H6 _+ B    {
, ]8 Z$ @5 L# t) }, `, f4 C  J        int errorCode = 0;" A" C/ @0 ?. t: M, J
        try
2 M! {4 P& x2 b# J% }! x        {* E) X7 J$ F, T& ]5 V0 U. t
            //---- Enter your callback code here -----, \; H! a- D3 L9 ?  {" n
        }
% Y% m# W8 G: L  j" Y, c        catch(exception& ex)
+ j( @1 G' S5 T9 u1 h" Z, b        {2 L) ]- [: X; n! I
            //---- Enter your exception handling code here -----, W6 L0 w8 m7 I* O: _7 ]) R; S
            errorCode = 1;0 q3 K+ z. Y+ G1 z4 k3 F% }
            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
( f' O% d  q  l( ?        }5 q0 }4 P5 O3 X6 k9 y9 P3 M& I1 @! B, l6 t
        return errorCode;; L, K4 o  \0 s& J5 C: O" ^9 q
    }
9 ~& G) h5 W& e1 k5 ]
; z: H* Q" Z. e  x, l    int Shrinkage::update_cb(NXOpen::BlockStyler::UIBlock* block)
* q- w9 T4 ~9 {; q; I! d    {
3 }4 p+ v9 W8 \* ~        try/ ^! T7 O5 r. i- O! l
        {
: k3 C- f; p% f8 u, u3 I            if(block == face_select0)
" Q/ [& `2 `/ h% T  J; ^3 o            {
% y+ l4 o! }0 J- w. F  x" C            //---------Enter your code here-----------5 S6 O# G/ A2 W4 F: x
            }
. e1 t) V: {  G: w8 k            else if(block == face_select01)/ z4 f' M& A" v8 N' O) k
            {
7 ^: ?4 Y0 H! o+ ?            //---------Enter your code here-----------: z7 l- g' ^9 f* x- {" F
            }
0 g4 I: W  `- p# }, [4 ~            else if(block == bodySelect0)1 p1 V( {$ }! ^7 C* B
            {
+ A0 l, C) G( J# @            //---------Enter your code here-----------& l6 L7 j$ Z. G& r9 `$ u
            }6 J" J& w/ f/ W9 F' J% ^+ c
            else if(block == bodySelect01)0 h; w7 Z7 {% B2 K
            {) p/ P% H/ {7 }4 z4 B- K: S2 r! M! ?7 x
            //---------Enter your code here-----------4 q9 y+ [6 O2 N. h
            }' O: o$ ?! n0 [8 X4 s7 c2 _
            else if(block == string0)
- w; q9 ^2 \! T2 {: R& |" r6 Y% y            {( J3 R0 _! G) w
            //---------Enter your code here-----------' x+ j/ R8 ]! G4 K' E/ H- V+ P
            }% `* }6 I1 X  A5 D$ \2 J
            else if(block == label0)
( s& k6 }* H9 O0 J" ?. p* |2 e0 U            {$ r) _; f, @) b+ y" v
            //---------Enter your code here-----------
( I# j( T9 {. o+ X/ v            }
4 M4 O  @4 H+ o& u5 Q8 c            else if(block == string01)
, N# L8 t5 a6 k& i. G% a            {
1 [9 G8 h# i$ p: w8 {8 J            //---------Enter your code here-----------; J5 p+ {6 T6 P* u. Y- O) @7 u8 l' e
            }
+ E0 p# y2 e% F2 Z3 z            else if(block == label01)
) y% |2 K5 }+ R# j8 G: ~            {# K1 `. w% Y' c% T6 X0 n* Z
            //---------Enter your code here-----------$ j7 A: w( }3 [  f* f2 f
            }& S6 N, y- O( k) g" O9 K* D
            else if(block == label02)2 |$ R! c5 ]! l2 y8 n+ T% J
            {
- z1 }1 d1 ^. g5 \3 k" B            //---------Enter your code here-----------
' d) W& w* D# @; \: m; Y8 X            }
7 i& q% O: v8 _/ Y$ g$ x        }
3 {' S! T3 q& a5 s' q" n: N        catch(exception& ex)! m. W7 ^% h. b" y4 S0 Z
        {
, A  m( F* U1 L            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());5 j/ E$ B1 A( q' l: k, {5 P; e; e
        }
& \: c. k; s% R9 w: I        return 0;1 V, K6 ^6 ^% N8 ]3 K
    }
; N5 H5 T" S6 Z* b: t+ ~   
" f  V8 a# Y9 L' L    int Shrinkage:k_cb(). q5 ]" o' e- X2 x8 a5 ?
    {
* z, w- o% ^1 O! r' s" r. E0 U        int errorCode = 0;2 L- |, |$ K2 a) R# h2 o) m3 }
        try+ }5 r; V' y2 m( t  a% h
        {. }2 \. a: P3 V: a8 I1 N* {
            errorCode = apply_cb();. s6 u  k7 w; G9 d
        }0 S0 S; u0 `" f3 b4 ^' M& t
        catch(exception& ex)7 M+ E) K  K5 w
        {
1 X/ D+ ]6 K0 ^7 Z7 a& }" R            //---- Enter your exception handling code here -----
/ J9 j6 i) i; I# m4 k            errorCode = 1;& z/ W0 M' X% f) O, u* y
            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
) _' p  q: W+ P. I" _* o        }: ]3 a: b  E5 m! V  D
        return errorCode;9 B" L4 g% }( A3 G
    }
- G+ s+ m8 t4 k/ e. C$ n0 I8 I+ R# m: [    8 p; M% ?! ]1 B1 i2 J
    //------------------------------------------------------------------------------
, J* X. T$ A* b8 ?7 z    //Callback Name: filter_cb/ i; e: x8 m3 d, P3 D
    //------------------------------------------------------------------------------$ A+ T. `4 g1 {0 F# a+ D1 f/ W7 N
    int Shrinkage::filter_cb(NXOpen::BlockStyler::UIBlock*  block, NXOpen::TaggedObject* selectObject)
% c' C9 N5 q4 _    {
9 v) K2 y$ Z$ ]% j: [8 \        return(UF_UI_SEL_ACCEPT);
) Z! a) b! A! {$ _) n% N) g    }
# a2 H  U& r* `+ s) i  Q   
8 Y, d; ]) p! P2 k+ K    //------------------------------------------------------------------------------( z6 o/ u' e% f+ v  o' F
    void Shrinkage::focusNotify_cb(NXOpen::BlockStyler::UIBlock* block, bool focus)
6 Z' a1 U8 J0 {! g) R5 y1 v    {
8 M% v' L; P! T3 x        try) ~! p" k2 L( o+ n8 p3 I
        {
% ?, f5 ~: D8 P. R; }            //---- Enter your callback code here -----+ c3 m( b1 A5 E+ C6 F% ?2 a7 t
        }/ U- E$ N! u% e. d5 O& i2 J/ y  N! o7 f! I
        catch(exception& ex)/ T3 V# \) c4 z; q) H2 h' t8 d
        {$ l- O0 O2 q3 O* \- w, G% c
            //---- Enter your exception handling code here -----0 m0 f4 h: _% Y. q3 g- ?8 M
            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());5 U6 w3 W, S1 B( j0 ^: _" s
        }. l+ E2 ^+ E. O/ v8 ^' a$ P
    }
2 a* d& r0 s  H$ I   
" k0 p. l8 C' c    //------------------------------------------------------------------------------, j/ k2 w7 p  J$ N7 H8 U! @
    void Shrinkage::keyboardFocusNotify_cb(NXOpen::BlockStyler::UIBlock* block, bool focus)) l+ @( \4 v6 I1 H/ B& Q1 ?
    {, ~  s# {2 A/ B8 F4 Y- ^
        try
+ W% i  v2 s& E        {5 D+ p" \0 Q8 I# W7 y2 P4 `( I! R
            //---- Enter your callback code here -----
& P5 y6 |6 q$ c* ~& U$ r        }4 u0 x( F( _- K( P7 w) o
        catch(exception& ex)( ]& b8 w: A6 H: W6 h/ G
        {
5 `; L. N4 Z7 C
0 k$ S* Q0 N$ r. v; D            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
, X: O; M, o: K9 Q, C        }
8 j0 G% j! W( {# m6 P) i1 `    }3 v$ B! S# W' |/ m1 \

8 Q3 P$ J# {! s+ y+ H8 N" @3 S1 Z% ~5 l( x9 N3 O2 [' W3 a
22.jpg

application.rar

9.79 KB, 下载次数: 3

上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了