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 4815 0

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

admin 楼主

2014-1-15 19:30:29

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

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

x

8 a; i$ u0 F6 `( g& J  \Teamcenter ITK二次开发源码分享: 创建一个工作流
: X$ b' {8 J' r6 o- [9 e
) I9 C# C0 |2 \/ T
  1. /*HEAD CREATE_A_PROCESS CCC ITK */) T. V2 r# Z* o, s8 W1 U% g
  2. #include <stdlib.h>
    8 o8 x1 \, C9 z3 y, }2 m4 f
  3. #include <TCcore/aom.h>
    ( D8 \: o5 B! M: g/ q! G. s
  4. #include <tc/emh.h>: t9 o/ ~7 X" h7 W. f
  5. #include <epm/epm.h>/ I& I- P4 R; u! q/ i+ s' c
  6. #include <tc/tc.h>0 L" _% m/ l. L' `( P
  7. #include <sa/tcfile.h>
    3 V+ f1 a6 A9 ]: ]7 M0 S
  8. #include <itk/mem.h>
    8 ]; e( L' n8 G5 S
  9. + ^- r! f" |7 c* @; Q* V
  10. #define EXIT_FAILURE 1 ) P- [  L" I, z% L7 y  l5 z4 e1 G
  11. #define ERROR_CHECK(X) (report_error( __FILE__, __LINE__, #X, (X)))
    ! ]; @/ Z5 G% O" h& n$ q
  12. static void report_error( char *file, int line, char *function, int return_code)2 _3 i" Z  I$ K' B. P8 L9 M
  13. {6 Z6 y3 W& l) G5 \4 D% a, k
  14.     if (return_code != ITK_ok)
    * _1 O( |: f' A9 b/ O
  15.     {
    4 ?. g8 n; s7 ^5 G7 D  a" x
  16.         char *error_message_string;8 \3 G1 q- y7 ?2 F4 Z( M
  17.         EMH_get_error_string (NULLTAG, return_code, &error_message_string);
    4 G0 o" v, k4 g! z: q
  18.         printf ("ERROR: %d ERROR MSG: %s.\n", return_code, error_message_string);
    6 Q1 X2 X3 \! g  T
  19.         printf ("FUNCTION: %s\nFILE: %s LINE: %d\n", function, file, line);
    " l  C. M# X. A! @$ N) S
  20.         if(error_message_string) MEM_free(error_message_string);5 B' T. `% U: g
  21.         printf("\nExiting program!\n");
    ' q) Y  j3 s- P8 J  o
  22.         exit (EXIT_FAILURE);   
    7 q# ~( W" d) a8 a) O
  23.     }4 A" S! Z% k  e
  24. }: a% d2 @7 n' h5 c, V/ N
  25. 3 n2 |3 Y' _. X& v8 t
  26. #define EXIT_IF_NULL(X) (check_value(#X, (X)))
    ) {8 [* W# ~: m% |
  27. static void check_value( char *function, int value )* v8 [( W$ @5 ~  S7 w
  28. {- m& B+ k# a  Y
  29.     if (value == 0)
    6 i7 R! Y! ]3 R  H1 p- H' ~9 t; Q9 [
  30.     {3 ~5 @, z' }. Z) D3 k% x, g3 i
  31.         printf ("\t%s is NULL\n", function);% h  N- Q. c) D; Z/ X
  32.         printf("\nExiting program!\n");
    0 l0 {9 N% Y1 Z! d5 h
  33.         exit (EXIT_FAILURE);    # ]3 `& j, r9 g# q7 ^5 ?
  34.     }% Q8 H8 [. M! j; F% _- ?
  35. }
    # {( B/ L, \9 [8 u* s

  36. 0 e0 \! H( U( J9 {& U/ f! ]

  37. ; S5 [4 ~8 [  O: c
  38. static void do_it(void)! n5 w1 H2 {. }& M0 }$ n
  39. {
    # ?, ]5 T) q& Y% U  s8 o6 v
  40.     int $ }; {/ D" ?7 C! r0 J8 W
  41.         attach_types[1] = {1};
    . m! f5 v: a. G5 x7 X
  42.     tag_t
    2 n4 b* D. v0 r# X: l0 h) k
  43.         rev = NULLTAG,
    6 L3 S$ k  R: o0 T5 o
  44.         process_template = NULLTAG,
    0 G5 A; G" y( C( Q( `7 J: |
  45.         process = NULLTAG;, G6 v* [/ d: P& G2 a0 h

  46. ) m4 Q- ~$ J' f& ]
  47.     ERROR_CHECK( ITEM_find_rev("000206", "A", &rev) );
    + D. p8 D: {. z, X. u- I) v! _
  48.     EXIT_IF_NULL( rev );
    % r% r, T  E" @

  49. 0 ?% a7 x" g' c4 @$ B3 I7 W" V
  50.     ERROR_CHECK( EPM_find_process_template("oneStepWithStatus", &process_template) );
    / S) R2 o2 w2 F9 I
  51.     EXIT_IF_NULL( process_template );
    $ V" P. P5 A- n1 @8 [9 q

  52. ' e! i- D. S# o- |5 _* u
  53. % A; _$ g) r+ z
  54.     ERROR_CHECK( EPM_create_process("5421377", "desc", process_template, 1, &rev, % A# W* V5 ?' }* q: B. F
  55.         attach_types, &process) );/ g9 r; d% Q3 g1 K" Y

  56. 2 m/ ^6 c6 x' i0 x  I1 F$ p1 F# f
  57.     EXIT_IF_NULL( process );/ U5 O! T2 s0 j
  58. }- Z9 B5 I  @7 G2 j9 _" C$ q2 r

  59. 1 I& Y$ O# M1 |! {
  60. int ITK_user_main(int argc, char* argv[])
    % e0 T' Y: O, p
  61. {
    % h8 J0 z! Z) S1 U
  62.     int* z7 z0 c& ?' A0 ^5 S! k  f- O9 `
  63.         status = 0;
    - z1 ^' ]7 j" c. M$ r6 E5 \
  64.    " H2 _/ F7 M7 _7 B6 y( N/ W+ @: t) u
  65.     ITK_initialize_text_services( ITK_BATCH_TEXT_MODE );
    ) e0 j6 A1 y' ]( G9 C$ ]5 v
  66.     status = ITK_auto_login();6 S% `$ _* A" t) }3 q0 _9 }. g  b
  67.    
    . @: g- B" `1 @# R7 M' ^- M
  68.     if (  (status != ITK_ok)) printf("\nLogin Failed!\n\n");0 O1 f& ?6 s3 h6 }5 }
  69.     else; @7 @% u0 r: b- W, |/ Q( T* G
  70.     {
    - U) K( T* p+ w9 P- X! E
  71.         printf("\nLogin successful!\n\n");
    ( w! U7 |! ~1 x0 ]6 m
  72.         ITK_set_journalling(TRUE);* m4 O8 E, w; k$ s7 G, r5 Q/ [0 a
  73.         do_it();  N5 C9 `' C2 u. V
  74.     }
    . Z6 n. }1 p+ q
  75.     ITK_exit_module(TRUE);
    6 z* ?" {4 Q2 W0 [  K
  76.     return status;6 Z3 V' M2 q; }7 F* K8 g
  77. }
复制代码
3 u( m" l8 R2 c9 L/ U! B- g

$ D" f6 ^' G/ G1 e
8 ?! }- K) ]. p& A$ V" {
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了