`
JerryWang_SAP
  • 浏览: 1043846 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

在SAP UI中使用纯JavaScript显示产品主数据的3D模型视图

阅读更多

在Jerry写这篇文章时,通过Google才知道,SAP其实是有自己的3D模型视图显示解决方案的。

 

故事要从Right Hemisphere说起,这是一家专业的企业级2D/3D模型浏览及转换的软件供应商。后来,Right Hemisphere被SAP收购,解决方案也更名为SAP Visual Enterprise。

收购之后,SAP推出了一系列和Visual Enterprise Viewer的集成解决方案。以SAP CRM为例,在CRM产品主数据的页面工具栏上新增了一个按钮"Visual Enterprise Viewer",点击之后,会显示一个弹出窗口,在浏览器里利用ActiveX调用本地安装的Viewer应用,显示该产品主数据的3D视图。

 

这种产品3D模型显示功能在CRM领域的用途是,充分利用企业已有的3D模型的素材文件(通常是企业专门的工程/设计部门或者外包部分通过专门的3D建模软件制成),在CRM销售,服务和营销场景中也能给用户提供关于产品的一个360度视图。比如一个组成复杂的大型机械,通过3D模型展示发生故障的部件,或是作为帮助文档的补充给用户展示产品的组装步骤,或是在服务流程中以3D方式显示出所有可选备件,给用户更好的视觉体验等等。

这种基于SAP Visual Enterprise Viewer的3D显示解决方案的技术实现是建立在WebClient UI框架的增强之上,即引入了一个新的标签veviewerIsland, 将通过ActiveX启动本地安装的Viewer应用的逻辑封装在内。

 

因为和本文主题无关,不做深入介绍,感兴趣的朋友请参考SAP help上关于

SAP Visual Enterprise Viewer的介绍。

https://help.sap.com/viewer/p/SAP_3D_VISUAL_ENTERPRISE_ACCESS

 

本文介绍的是另一种用纯JavaScript编程来以3D方式显示产品主数据的解决方案。对于用户来说,使用该解决方案无需在客户端安装任何3D显示软件,只需要一个支持WebGL的现代浏览器即可。

我做了一个简单的原型,把它的视频放到了youtube上:

https://www.youtube.com/watch?v=piWsbfPEGUA

(因为这个视频是在我的内部系统上录的,在显示3D模型的弹出窗口的地址栏里显示了内部系统的url,为了不泄漏出来,我在视频里把弹出窗口的顶部截掉了)

当工具栏上的3D按钮点击之后,出现一个新的弹出窗口,效果和使用SAP Visual Enterprise Viewer解决方案一样,并且还多了一个动态旋转的效果,使用户能够全方位地观察到该足球每一个部位。

 

正如文章标题所示,这个解决方案里3D显示的技术实现采取的是纯JavaScript编程。奥妙就在threejs,一个基于WebGL,使用JavaScript进行3D模型变换和显示的库。

在threejs的官网能找到很多用threejs开发而成的酷炫效果和使用教程。

 

下面是我做的原型主要的开发步骤,感兴趣的顾问朋友们可以在自己系统试试。

1. 在SE80里开发一个BSP应用,该应用负责使用threejs API基于已有的3D模型素材文件渲染出一个不断旋转的3D足球。

 

选中index.htm, 从右键菜单里选择"test", 在弹出的浏览器窗口内您会看到一个旋转的3D足球。这个文件的全部源代码请在我的github上获得。

https://github.com/i042416/FioriODataTestTool2014/blob/master/WebContent/096_3dfootball.html

该文件内的逻辑为使用threejs API进行3D模型的创建和渲染,具体技术细节大家可以参考threejs官网教程。这个文件的代码是Jerry从我的同事Wen Aviva的代码复制而成,做了极少量的修改。


插播一条八卦

Aviva是SAP成都研究院C4C开发团队一位具有女王级地位的程序媛,有图为证:

 

今年3月份,SAP C4C全球开发部门搞了一个内部编程马拉松大赛。SAP成都和美国,印度的其他C4C开发团队全部参加了这次比赛。每个参赛队伍组队完成后,需要给比赛开发的作品取个名字。成都一位组员提出了取名"Hi Aviva!", 为的是向Aviva致敬,该提议获得了组内全票通过。最后这个小组的作品获得了二等奖,因此Aviva的名字又出现在了公司portal和内网页面上。

为什么Aviva在组内享有这种女王级的地位?因为技术栈全面,在工作中能自如地运用C++,Java和JavaScript完成标准开发和原型开发任务,经常能帮团队解决一些很难的技术问题,而且学习新技术速度特别快。Jerry在SAP成都研究院工作11年,和很多程序媛共事过,Aviva的技术能力给我留下非常深刻的印象,另一位是Mao Annie。

Jerry非常佩服这两位程序媛,能够把自己的技术修炼到如此程度。

Aviva以前的微信头像是一位坐在电脑面前编程的程序媛的卡通图像。最近换了。

八卦插播结束。


如果大家不想自己动手,可以直接打开下面这个url,查看这个旋转的3D足球的效果。

http://i042416.github.io/FioriODataTestTool2014/WebContent/096_3dfootball.html

请注意,因为这个足球的3D素材文件数量比较多,需等待它们全部成功从浏览器加载后,才能看到最终效果。

 

另外,在这个原型里,这些素材文件都是直接维护在BSP应用里的。如果做成标准解决方案,则应维护在CRM产品页面的“附件”区域,或是维护在ERP对应的物料主数据应用里。

3D模型的旋转效果通过了大部分现代浏览器支持的原生API requestAnimationFrame来实现。传一个render函数进去,默认情况下每秒钟会被调用60次,每次函数调用里对模型的X和Y坐标做微调,以造成旋转的视觉效果。

 

2. 剩下的开发全部是传统的CRM WebClient UI开发了。

对UI组件PRD01OV做增强,添加一个新的Component usage,消费组件GSURLPOPUP,这个组件作为显示3D模型的页面容器。

 

在产品主数据的UI工具栏上增加一个新的按钮:

 

实现该按钮的点击响应处理:

 

点击之后,在GSURLPOPUP里显示我们第一步做好的BSP应用,在该应用里用threejs渲染出3D模型:

 

欢迎试用该原型,并提出您的宝贵意见。

感谢阅读。

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

 

 
 
0
0
分享到:
评论

相关推荐

    SAP 物料主数据视图

    SAP 物料主数据视图是 SAP 系统中最重要的主数据之一,如果不理解物料相关含义,SAP 将难以掌握。本文将详细介绍 SAP 物料主数据视图的知识点,帮助您解开心中的谜团。 一、基本视图 基本视图 1:基础计量单位 ...

    SAP UI5 文档

    SAP UI5建立在HTML5、CSS3和JavaScript的基础上,使用了响应式设计原则,让应用程序可以在各种设备上运行,包括桌面、平板和智能手机。 文档中提及的SAP UI5文档版本为1.48,发布日期是2017年8月7日,这份文档是...

    SAP UI5入门

    SAP UI5 基于 JavaScript 开发,并且遵循 OpenAjax 规范,可以与其他标准的 JavaScript 库一起使用,从而实现丰富的客户端功能。 #### 二、SAP UI5 SDK 介绍 SAP UI5 的软件开发包(SDK)包括一系列有用的工具和...

    SAP UI5 Reference for SAP HANA

    3. 模型-视图-控制器(MVC)设计模式,这是SAP UI5中的核心概念之一,用于分离应用逻辑、数据和界面,提高代码的可维护性和可扩展性。 4. SAP UI5的资源处理,包括库的使用、组件的构成,以及如何定义SAP UI5自定义...

    sapui5-runtime

    SAP UI5提供了一个完整的解决方案,包括了丰富的组件库、模型视图控制器(MVC)架构、数据绑定、以及优化的性能特性,特别适合于开发混合型应用程序。 在混合型APP开发中,SAP UI5的灵活性和跨平台能力尤其突出。它...

    SAPUI5-Training

    - **创建SAPUI5项目**:使用SAPUI5开发工具在Eclipse中创建项目。 - **数据绑定**:SAPUI5支持强大的数据绑定功能,能够自动更新UI显示的数据。 - **OData绑定**:特别地,SAPUI5还支持与OData服务的数据绑定,实现...

    Tutorial to Develop a SAPUI5 Application with oData Access

    在本教程中,我们将深入探讨如何开发一个使用SAPUI5和oData访问的数据交互应用程序。SAPUI5是SAP提供的一个强大的JavaScript框架,用于构建企业级的Web应用程序。而oData是一种开放的协议,它允许客户端通过HTTP访问...

    物料主数据各视图字段详解

    在SAP系统中,物料主数据是用于描述企业所使用的原材料、半成品、成品等物料信息的核心数据。物料主数据的准确性对于企业的日常运营和供应链管理至关重要。物料主数据通常分为几个不同的视图,每个视图包含了特定的...

    SAP物料主数据完全维护状态表

    物料主数据完全维护状态表会显示物料数据在上述各个视图中的更新情况和状态,使用户可以清晰地了解每个视图的维护进度和存在的问题。在维护物料数据时,用户可以使用SAP中的MM01功能来增加新的物料,或者使用MM02来...

    sap ui5表单例子

    在视图中,我们可以使用`<sap.ui.layout.form.Form>`作为表单容器,并添加`<sap.ui.layout.form.FormContainer>`和`<sap.ui.layout.form.FormElement>`来组织表单内容。 3. **添加控件(Controls)**:在`Form...

    SAP UI5打包成APP

    在如今数字化转型的浪潮中,SAP UI5作为一种面向企业级应用的开发框架,越来越多的企业选择使用它来构建和部署应用程序。SAP UI5以其丰富的控件库、良好的集成性以及适应性而受到企业的青睐。然而,随着移动设备的...

    sap ui5表格例子

    在 SAP UI5 开发中,表格(Table)是一种常用的数据展示控件,它允许用户以清晰、有序的方式查看和操作大量信息。SAP UI5 提供了 sap.m.Table 控件来实现这一功能,本示例将详细介绍如何使用 SAP UI5 的表格控件进行...

    SAPUI5 详细讲解

    - **开发轨道**:标识为一个主版本号加一个奇数次版本号(如1.5.1),主要用于内部开发和测试,不建议在生产环境中使用。 - **发布轨道**:标识为一个主版本号加一个偶数次版本号(如1.4.1),对外发布,适用于生产...

    SAP UI5 OData开发

    在深入探讨SAP UI5 OData开发之前,需要明确几个关键点:SAP UI5是一个前端开发框架,而OData(Open Data Protocol)是一种基于Web的协议,允许创建和消费可查询和可更新的数据服务。SAP Gateway是SAP NetWeaver的一...

    SAP UI5 官方培训文档(100页+)

    - **CVOM 图表**:CVOM图表是一种用于展示复杂数据的图表类型,在SAP UI5中有多种图表类型可供选择。 - **性能优化**: - **资源加载优化**:减少HTTP请求数量,提高加载速度。 - **内存管理**:合理分配和释放...

    UIPATH机器人实现登录SAP的功能

    标题中的“UIPATH机器人实现登录SAP的功能”指的是使用UiPath这一自动化工具来模拟人工执行登录SAP系统的操作。UiPath是一款广泛应用于企业自动化领域的RPA(Robotic Process Automation)软件,它允许用户通过编程...

    供应商主数据_采购视图.pdf

    供应商主数据_采购视图.pdf供应商主数据_采购视图.pdf供应商主数据_采购视图.pdf供应商主数据_采购视图.pdf供应商主数据_采购视图.pdf供应商主数据_采购视图.pdf供应商主数据_采购视图.pdf供应商主数据_采购视图.pdf

    SAP UI5入门概述

    OpenUI5 与 SAP UI5 功能相似,但在企业级应用中 SAP UI5 更具优势。 - **UI5 与 SAP Fiori 的关系**:UI5 是具体的前端框架,用于实现 SAP Fiori 所定义的用户体验标准。SAP 官方基于 UI5 构建的一系列应用程序集合...

    SAPUI5开发环境配置

    完成上述所有步骤后,即可在Eclipse环境中开始使用SAPUI5进行开发。 #### 三、总结 本文详细介绍了SAPUI5开发环境的配置步骤,包括安装Java Runtime Environment、下载及安装Eclipse IDE以及安装SAPUI5相关组件等...

    SAP UI5 OVERVIEW

    总之,SAP UI5 作为 SAP 公司的核心前端框架之一,不仅拥有丰富的组件和强大的功能,还在不断地进化和完善之中。借助 SAP 的 Web 应用程序工具包,开发者能够更高效地构建出高质量的企业级应用。

Global site tag (gtag.js) - Google Analytics