TC中每个对象都有唯一的标识符,即UID
RCP:
//根据UID获取对象 TCComponentManager manager = new TCComponentManager(session); TCComponent comp = manager.getTCComponent("A5clPTwi4m5qKD"); System.out.println(comp.getProperty("object_name")); ———————————————— 版权声明:本文为CSDN博主「潇潇_零度」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_41482046/article/details/107563473
或者
TCComponent dataset = session.getComponentManager().getTCComponent(uid);
上面两种方式不推荐使用,因为我是用过上面两种方法时候报错:
Teamcenter已检测到一个严重错误;要维持数据的完整性,请注销Teamcenter并重新启动,否则数据将被破坏
session.stringToComponent(uid);//推荐使用
获取uid,每个TCComponent都有getUid方法
dataset.getUid()SOA:
/** * 根据UID来获取ModelObject * @param session * @param uid * @return */ public static ModelObject getModelObjectByUid(String uid) { DataManagementService dmService = DataManagementService.getService(TcSession.getConnection()); ModelObject modelObj = null; ServiceData loadResp = dmService.loadObjects(new String[] { uid }); modelObj = loadResp.getPlainObject(0); dmService.refreshObjects(new ModelObject[]{modelObj}); return modelObj; } ———————————————— 版权声明:本文为CSDN博主「潇潇_零度」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_41482046/article/details/107563473
//ModelObject获取uid
tempdataset.getUid()
ITK:
ITK__convert_uid_to_tag (const char* uid,tag_t * aTag);
ITK__convert_tag_to_uid(tag_t aTag,char ** uid);