文章来源:solidworks代理商-卓盛信息(400-696-5950)
本次使用的许可信息如下,没有SKD,但可以实现下面的操作,所以不确定是否需要额外购买SDK?:
1. 在Attributes下面加一个HTML小组件(按钮是不是也可以,但是测试截取语法有点问题?)solidworks价格
2.HTML小组件里面可以编辑具体功能样式
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>访问PLM下载链接</title>
</head>
<body>
<h1>访问PLM下载链接</h1>
<ul>
<li>
<button onclick="window.open('http://192.168.197.32:18089/api/other/getFile?itemno=${str:split(".", ${entry.metas["title"]} )[0]}', '_blank')">跳转</button>
</li>
</ul>
</body>
</html>
效果如下:
1. 为英文名配置弹性数据模型:安装路径下找到 elasticDataModel.csv
,"plmurl","Alphanum","Facet",,,"how",,
2. 以管理员身份运行:D:\DassaultSystemes\R2023x\OnePart\datadir\bin\buildgct.exe
3. 配置UI的英文属性名转换为中文属性名:打开以下文件:D:\DassaultSystemes\R2023x\OnePart\datadir\webapps\360-mashup-ui\WEB-INF\i18n\onepart_zh.properties
facet_Top/classproperties/edm_alph_f/edm_alph_f_plmurl=下载地址(PLM)
4. 回到首页 Restart
5. 添加一个转换处理器:
process("") {
log.info("文档URI = " + it.getUri())
// 使用正则表达式提取不带后缀的文件名
match = (it.getUri() =~ /(?i)\/.*\/(.*?)\.[^\/.]+$/)
it.setType("document")
if (match) {
// 提取文件名(不含后缀)
partNum = match[0][1]
log.info("部件号 = " + partNum)
// 更新元数据,非必须
//it.metas.fname = partNum
//尝试修改erp_url无用
//it.metas.erp_url = "http://192.168.197.32:18089/api/other/getFile?itemno=" + partNum
//新方法,放到下载按钮里面,注意//会被转义/,所以加两个"url = url + '/';"
it.metas.plmurl= "<a href=\" \" onclick=\"" +
"var url = 'http:';" +
"url = url + '/';" +
"url = url + '/';" +
"url = url + '192.168.197.32:18089/api/other/getFile?itemno=${partNum}';" +
"this.href = url;" +
"return true;\" target=\"_blank\">点击下载</a>"
log.info("RDF处理成功")
}
yield it
}
疑问1:属性中的//会被转义/,有没有办法控制
可以试试用以下符号替代:%2F 或者 / (尚未测试)
疑问2:新增的属性能否不在6W显示,只在右边详情页里面显示
试试参考这一页说明,暂未测试
