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

teamcenter ITK二次开发源码分享: 创建一个工作流

[复制链接]

2014-1-15 19:30:29 4805 0

admin 发表于 2014-1-15 19:30:29 |阅读模式

admin 楼主

2014-1-15 19:30:29

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

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

x

, E0 U6 r! c; G# t* W) \/ e+ ?Teamcenter ITK二次开发源码分享: 创建一个工作流
0 c0 }! V4 b0 n: L" K  {0 x- Y" Y1 u; x$ W6 r
  1. /*HEAD CREATE_A_PROCESS CCC ITK */
    & \+ }/ L/ j, z* U8 z
  2. #include <stdlib.h>- R, Z! b3 [, x' V4 o0 K9 o9 W* u' X
  3. #include <TCcore/aom.h>. V/ G) E5 I. ~1 g
  4. #include <tc/emh.h>7 ]! p! O) p2 o# d: q
  5. #include <epm/epm.h>
    ' w6 |/ I2 Q8 e
  6. #include <tc/tc.h>7 L; V1 r7 K; q, g% q: I4 L
  7. #include <sa/tcfile.h>  @$ _! a9 R( E- V9 ~, U! y( u
  8. #include <itk/mem.h>
    % [  ^! _' [1 W( Y1 Y* ^

  9. 7 d% {- _# I$ e6 W+ K# Z
  10. #define EXIT_FAILURE 1
    / y8 Q. D  u0 x5 c
  11. #define ERROR_CHECK(X) (report_error( __FILE__, __LINE__, #X, (X)))* e! ~! m( B, f8 T
  12. static void report_error( char *file, int line, char *function, int return_code)
    - Q+ l& z+ v( I) x# `- x
  13. {% A' l+ M' [8 K/ j
  14.     if (return_code != ITK_ok); y8 T- z+ {6 i- Q
  15.     {
    ' S3 S8 l, b+ L# l% G2 j0 n
  16.         char *error_message_string;
    % B" K4 q" B1 B& S4 ]
  17.         EMH_get_error_string (NULLTAG, return_code, &error_message_string);
    5 V* H% O* v2 |" g; W$ K+ r
  18.         printf ("ERROR: %d ERROR MSG: %s.\n", return_code, error_message_string);6 h8 e8 j3 w! g2 {' x& M# n' j# E
  19.         printf ("FUNCTION: %s\nFILE: %s LINE: %d\n", function, file, line);$ V. _; x6 x- B6 J
  20.         if(error_message_string) MEM_free(error_message_string);% m3 d8 P1 e" m( A% m
  21.         printf("\nExiting program!\n");+ j: u0 ?2 h) A, i4 K- Q  t3 _* m
  22.         exit (EXIT_FAILURE);   
    / E1 C4 D9 C& V! N: Q
  23.     }
    8 o$ ~$ f8 I4 X( z: m# I
  24. }: R" p; Q" E  {6 c( K/ }. o

  25. 9 B. Z/ X: x& q" H" q
  26. #define EXIT_IF_NULL(X) (check_value(#X, (X)))
    # y9 [9 D1 T/ Y. x5 O, f/ z" J
  27. static void check_value( char *function, int value )
    ) K0 a5 W, s, D6 B1 L
  28. {
    & p1 z4 Q* x" P1 c, Q
  29.     if (value == 0)7 K' B. d, ?. i0 W: a
  30.     {
    # F( q2 |, g* ]% h
  31.         printf ("\t%s is NULL\n", function);9 O3 h8 w. ?: }
  32.         printf("\nExiting program!\n");, L% d. V" b2 k3 {) r
  33.         exit (EXIT_FAILURE);    2 x+ P  I7 j2 K( A! f) r
  34.     }. `6 f4 C# ]+ U* D" h
  35. }  Y  m2 I5 ~! R: j: |) L5 ~

  36. ' d" _# s8 H, {! c2 X

  37. ' p2 L4 F0 d7 ]0 L+ L5 h. T
  38. static void do_it(void)
    # T2 N% C7 A: O; Z/ g3 Y
  39. {
    ! ^1 ^5 w( P+ r
  40.     int
    6 z( n" n# A6 ]" T: ^
  41.         attach_types[1] = {1};
    9 d4 z  b7 [6 w) B$ r5 h
  42.     tag_t
    ( I, k' J# {0 H( e) i# U6 W2 Q
  43.         rev = NULLTAG,
    0 i5 U: S, j/ Z1 U8 V
  44.         process_template = NULLTAG, & {1 _3 {6 ]' L$ e/ M4 D
  45.         process = NULLTAG;4 K* ?$ J( c, x4 `2 N. M

  46. " X: \" s8 M6 q) S! J. c8 r5 @
  47.     ERROR_CHECK( ITEM_find_rev("000206", "A", &rev) );: d( C& o8 d% Y6 ~" S
  48.     EXIT_IF_NULL( rev );; L9 M, _2 W1 T8 a( H1 n+ C( w

  49. 0 N7 r" B3 J+ B" i
  50.     ERROR_CHECK( EPM_find_process_template("oneStepWithStatus", &process_template) );
    $ d/ P2 @8 x: b" P# h/ Q
  51.     EXIT_IF_NULL( process_template );! y1 r% q7 Q% x

  52. 0 Z; w% n9 v" q) l" w9 H# F; [# v
  53. ; D2 E/ h1 r0 d4 e. |" O
  54.     ERROR_CHECK( EPM_create_process("5421377", "desc", process_template, 1, &rev, # @( X9 C, A9 G1 ]) @
  55.         attach_types, &process) );; B8 n7 u+ B8 X1 K) N$ |

  56. $ n# [0 E  h- A. V& n$ ~
  57.     EXIT_IF_NULL( process );: o! M! x  w4 w) ?& q
  58. }# O2 E6 h% {. p

  59. ) S) s3 A5 N' C! D8 @9 r0 A; C* O; Q: L3 d
  60. int ITK_user_main(int argc, char* argv[])- N7 S- x5 K+ O, h4 j- v6 g
  61. {
    3 U7 ^* N5 T1 v- \5 ]5 Z
  62.     int
    ; ?% `  Y7 P3 L: q' ^, P5 H
  63.         status = 0;
    : b1 `$ [9 Q' y5 z/ H
  64.    ) U6 E6 W( q7 Q. M8 p0 H, u7 b
  65.     ITK_initialize_text_services( ITK_BATCH_TEXT_MODE );# L# ]. D: H1 N# B* Y
  66.     status = ITK_auto_login();
    : _( ?3 x* y* F2 y- w
  67.    ; k% l5 ^" o$ ], F' D
  68.     if (  (status != ITK_ok)) printf("\nLogin Failed!\n\n");
    7 A  n: [- h# {2 e! z" X4 T* h
  69.     else
    * ~1 n- I+ d. s4 f
  70.     {
    2 N  _9 j- y/ u% G, ?
  71.         printf("\nLogin successful!\n\n");4 {- o; @, J5 Q1 o. e! R- Y
  72.         ITK_set_journalling(TRUE);
    / B4 w; B5 x0 c8 l
  73.         do_it();
    ) O1 m0 [' d& Y& D! @% M
  74.     }% ^2 q4 f6 Q+ l% P
  75.     ITK_exit_module(TRUE);8 ]7 n& N/ [3 Q' X
  76.     return status;
    5 W1 q; g  L& ]/ g2 K( g# h
  77. }
复制代码
% M& ^( Y3 S: W$ V% o/ H$ }7 w" Q

6 Q5 s4 Z, z* [1 {* n4 [2 _3 ~& V
2 ]5 L2 S3 }# o" H* a  |* U
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了