写在面前
不知不觉中,自己建立的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方法弹出提示框提示
免责申明:本公众号所载文章为本公众号原创或根据网络搜索编辑整理,文章版权归原作者所有。因转载众多,无法找到真正来源,如标错来源,或对于文中所使用的图片,资料,下载链接中所包含的软件,资料等,如有侵权,请跟我们联系协商或删除,谢谢!
往期推荐
从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应用:现状、趋势及挑战