|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
! Q. V; T5 N$ d
Teamcenter ITK二次开发源码分享: Item 创建 createpost操作) |1 k' |! `' P8 I3 s" X7 I$ w
- #include <stdarg.h>
7 I1 f2 G4 Q; B) I/ v$ `/ v$ K0 [ - #include <stdio.h># _3 G( P/ q+ i' i+ Y; a6 v
- #include <stdlib.h>
9 I! m2 [3 D" q - #include <string.h>$ B i6 W7 f. a3 C7 [
- #include <UG_va_copy.h>8 j+ M6 P' S; q$ N6 f$ ? P, a
- #include <TC/emh.h>$ R$ x, _# @2 ~* O. f6 K& q
- #include <ict/ict_userservice.h>
: t7 w! K$ u) l' }# | - #include <itk/bmf.h>
, z, j2 Z! b+ G+ G+ k; L6 Y% R Q - #include <tc/emh.h>* Q f# Q: H0 J' J( [' l5 J5 P
- #include <tc/tc.h>
. q) g5 W0 A* G1 O - #include <tccore/item.h>
/ Y6 a) }8 v; n4 ]# ~7 q3 g - #include <tccore/method.h># R B* d. A4 T$ }% X( V
- #include <metaframework/CreateInput.hxx>0 d% B2 t# T6 n3 _
- # b' X5 V% d$ N3 w
- extern "C" DLLAPI int A2_gtac_extension_rule(METHOD_message_t *m, va_list args)# E! G! h1 X$ @/ k0 Y/ Z* t
- {& _$ G0 D+ p9 L. f0 N+ g& [" z* d
- printf("\n\n A2_gtac_extension_rule \n\n");' l4 f0 v/ I4 M' ?' T: m4 A
! N/ L T' n9 o- int ifail = ITK_ok;
% A7 I' f- e0 N, g# f5 x
# u$ E u3 K" ]6 _! i- va_list largs;
( \8 x# A/ B5 ?7 x - va_copy( largs, args );
& o, w# Y1 V: n - Teamcenter::CreateInput *creInput = va_arg(largs, Teamcenter::CreateInput*);
7 s j1 Q: {* t4 x, [$ ^ - va_end( largs );
5 E1 J, ^* V6 t$ t
. f. I4 J! t2 D' W# K- tag_t new_item = m->object_tag; - x4 G) M) ~$ @" I" i% [
- char *uid = NULL;; I; L- e5 h% r! u& m
- ITK__convert_tag_to_uid(new_item, &uid);
& o* M4 A7 {. }- x - printf(" new_item: %s \n", uid);7 x8 T! N2 l; L- c& C/ U* e
- MEM_free(uid);/ `+ J2 u6 d3 x! }/ F& K @ B
+ R# Q6 \$ i8 w8 [6 F e) G
G2 ?. i7 p* I+ H5 n" ^! V* ?- bool isNull = true;
/ d4 v2 A+ U3 @' c$ b" \ - tag_t new_rev = NULLTAG;
3 \ U% q# N0 W# e - ifail = creInput->getTag("revision", new_rev, isNull);0 M) @7 y: j4 X: S+ ?) o! m
- if((isNull == FALSE)&& (ifail == ITK_ok))
6 Q/ E- R7 T1 [+ P) ? - {
: ?- z) j# e6 C2 Z# G+ _ - printf(" new_rev: %u \n", new_rev);
, m; u- w5 K2 w! d' a$ Z* Q - }* q8 O7 r$ L+ {/ w8 a
-
. \3 d( \0 {6 P) O5 H! h( { - tag_t master_form = NULLTAG;
+ T8 u9 Y7 e5 ^0 e! T' {; s) m - ifail = creInput->getTag("IMAN_master_form", master_form, isNull);
A" P% N, b. A" F - if((isNull == FALSE)&& (ifail == ITK_ok))
8 s+ o: }( }8 h) M' S0 e - {
I8 b+ w2 G: @7 \$ G - printf(" master_form: %u \n", master_form);
/ b6 C1 P4 j+ l8 e7 V - }
0 G1 U, y1 O2 H4 A3 L
* e, o1 ~" @8 @0 U5 K- std::string item_id = "";
" v- q$ Q8 F% h7 S, x/ x - ifail = creInput->getString("item_id", item_id, isNull);4 z0 G' v. O5 D% E
- if((isNull == FALSE)&& (ifail == ITK_ok))" {7 k1 `4 p- M9 f+ P. m- ?. [
- {
6 [# z5 P# B" { - printf(" item_id: %s \n", item_id.c_str());
: A3 [' B" y) M6 K( \ - }. g& A" F* w4 U( F# k3 A
& h& x2 ~$ R m- std::string name = "";, V, p7 j4 ?# [, o5 M# ~7 n
- ifail = creInput->getString("object_name", name, isNull);* ^; M% F0 e) B+ B, E) Z
- if((isNull == FALSE)&& (ifail == ITK_ok)), f& Y* @$ N- c6 H( q; ^0 c/ }# }1 G! W2 I
- {
0 b" b( T4 H% M0 | - printf(" object_name: %s \n", name.c_str());& e: N5 q+ ~* X1 `6 {$ P2 U: t: T
- }, y% @ h* d4 f% v$ E+ {0 X% c
# `- v# [* m* z4 X- return ifail;;6 k' _# Q. O! M% q) p9 |9 [
- }! ~& x+ \ i! U& L% I4 [4 b6 S
复制代码 . _, ~' h. c/ O/ K. s6 E
( j6 n7 k( `' @- q# v0 v4 P ]5 g( s$ T; R. ]7 [6 Y& t4 N. L; y0 W+ T7 e
|
|