Teamcenter(AWC)一个简单的开发流程

在这里插入图片描述

写在面前

不知不觉中,自己建立的PLM群中有了三个干货型的公众号主,两个搞TC的,很感谢叮当和Frank这两位号主~

一个Windchill,MES/MOM群中也有两个号主,PLC群中就不用说了,虽然群的活跃度并不是太高,但是一步步来吧,毕竟成年人的社交基本都是建立在平等资源互换的基础上的~

所以大家不要抱怨你的问题没人回答,别人对你有没有回应,一次两次也许是纯帮忙,但是如果多了,你提供不了同样的价值,那就呵呵了,比如你说回答个问题给2W块,我觉得也许你的问题大家会很乐意看看,哈哈

不扯了,今天的内容来自公众号:PLMCODE的号主叮当,还是像上次一样,不熟悉TC的朋友可以先看看前期雁点(PLM交流群中的另一位号主,公众号:雁点)关于Teamcenter知识体系总结的文章:

告诉你你最完善的Teamcenter知识体系

当然,如果你连PLM是啥都不知道的小白,或者想简单的给小白描述PLM和PDM是啥,可以先看(本文不适合小白):

如何三分钟通俗易懂的给PLM小白了解PDM和PLM

通过awc开发一个创建对象的功能需要三个文件,html文件通过awc提供的ui控件去画一个创建对象的页面(awcui控件在文档中心有详细描述),json文件可以查看源码查询如何使用,js文件中执行调用创建对象的soa服务(api可以通过genSoaApi命令获取)

1:通过ui控件画一个简单的html界面用来输入数据,效果如下:
添加链接描述

创建

2:通过json文件定义客户端用户界面及其行为,json数据如下:

{
“schemaVersion”: “1.0.0”,
“imports”: [
“js/aw-panel.directive”,
“js/aw-panel-body.directive”,
“js/aw-textbox.directive”,
“js/aw-form.directive”,
“js/aw-button.directive”,
“js/enable-when.directive”,
“js/aw-i18n.directive”,
“js/aw-break.directive”
],
“data”: {
“itemid”: {
“displayName”: “零件id”,
“type”: “STRING”,
“isRequired”: “true”,
“isEditable”: “true”,
“dbValue”: “”,
“dispValue”: “”
},
“itemname”: {
“displayName”: “零件名称”,
“type”: “STRING”,
“isRequired”: “true”,
“isEditable”: “true”,
“dbValue”: “”,
“dispValue”: “”
},
“itemdesc”: {
“displayName”: “描述”,
“type”: “STRING”,
“isRequired”: “true”,
“isEditable”: “true”,
“dbValue”: “”,
“dispValue”: “”
}

},
"actions": {
    "buttonAction": {
        "actionType": "JSFunction",
        "method": "createitem",
        "inputData": {
            "itemid": "{{data.itemid.dbValue}}",
            "itemname": "{{data.itemname.dbValue}}",
            "itemdesc": "{{data.itemdesc.dbValue}}"
        },
        "deps": "js/myCreateItem"
    }
},
"i18n": {
    "submitButtonTitle": [
        "TCUICommandPanelsMessages"
    ]
}

}

3:在js文件中调用创建对象的soa服务

exports.createitem = function( itemid ,itemname,itemdesc) {
var deferred = _$q.defer();

  var inputData = {
      properties:
      [{
      clientId: "",
      itemId: itemid,
      name: itemname,
      type: "Item",
      revId: "A",
      uom: "String",
      description:itemdesc,
      extendedAttributes:
      [{
      objectType: "",
      attributes:
      {
      SampleStringKey: ""
      }
      }]
      }],
      container: "",
      relationType: "",
      }

   _soaSvc.post("Core-2006-03-DataManagement", "createItems", inputData).then(function (response) {
      var output=response.output[0];
      
      var item=output.item;

      _dmSvc.getProperties( [item.uid], [ "item_id","object_name"] ).then( function() {
        _msg.showInfo("id为"+item.props.item_id.dbValues+"的对象创建完成");
      })
       deferred.resolve();
     })

};

点击创建后通过messagingService服务中的showInfo方法弹出提示框提示

Teamcenter(AWC)一个简单的开发流程_第1张图片

免责申明:本公众号所载文章为本公众号原创或根据网络搜索编辑整理,文章版权归原作者所有。因转载众多,无法找到真正来源,如标错来源,或对于文中所使用的图片,资料,下载链接中所包含的软件,资料等,如有侵权,请跟我们联系协商或删除,谢谢!

往期推荐
从Windchill说PLM的入门指南——(听听不专业小编的胡说八道)

Teamcenter的集成-- Office

Teamcenter在AWC开发中的ctx对象获取和简单使用

Teamcenter、TIA Portal、NX MCD是如何结合在一起的

Windchill产品安装——(没软件的小伙伴可以下载Windchill 10.21M030安装体验哦)

集成系列第一期——大话PDM与CAD集成的九大层次

集成系列第二期——Teamcenter Integration for NX

集成系列第三期-Teamcenter与NX集成插件安装与模板定制

PLM开发第一期——Teamcenter的二次开发介绍

ARAS Innovator——一匹属于工业时代的PLM黑马

PLM开发第二期——TeamcenterRCP开发环境搭建

一文了解达索3DEXPERIENCE 平台

PLM应用:现状、趋势及挑战

你可能感兴趣的:(PLM)