1. 引言
在线进行3D打印是一个新的领域,由于技术和商业模式的不成熟存在诸多问题。首先,工作人员如何利用网络跟有需求的用户发生业务关联,其中的业务流程现不明确。系统应该具有哪些功能上的需求,不同计算机水平的用户对相关信息需求有哪些差异,都急需这样一个平台根据相关类似行业的例子去实践。本文就从业务流程、系统功能、平台的架构进行了探索研究。
其次,3D打印机的模型编辑软件一般都是单机的客户端程序,能够在进行打印之前对已有的模型进行调整、修复,以及模型的打印预览、打印等功能,这些功能只能本机单用户使用工作站和3D设备,因此,这些设备不能被广泛高效使用,普通用户无法通过网络享用这类设备。如果能以一种新的模式尝试通过浏览器,借助互联网,为很多用户提供很多设备的使用服务,便能使上述问题得到解决。虽然存在各种已有的技术,但是因为应用领域的新颖,使用哪种技术以及相互之间的如何融合的问题便摆在了面前。本文通过在工作站端开发了类似中间件的软件,一方面跟Web浏览器通讯获取或上传数据,一方面根据获取的命令数据模拟操作单机软件或从单机软件获取当前打印机的状态和参数信息。从而实现了单机软件的封装和web化。
最后,在本文的最后着眼于目前的3D打印的商业模式的不成熟,以及通过网络形式的网络营销的更加不成熟,对本文设计和开发的平台的运行模式做了进一步的研究。
为此,本文设计开发了支持用户通过网络在线使用3D打印机的“3D云打印服务平台” [1] 。
2. 业务流程设计
由于在线3D打印业务的开展刚刚起步,并没有一个成熟的标准,本文基于普通纸质打印的流程,结合3D打印本身固有的特点,比如打印时间长、打印空间相对封闭、打印耗材多样、打印设备稀少等,设计提出以下的核心的在线3D打印的业务流程 [2] ,详情见图1。
用户登陆后,进入打印任务申请模块,用户可以先选择模型文件,申请模型编辑令牌,获得令牌后启用编辑模型工具进行模型编辑;编辑成功后可以进行打印预览,获得打印模型所需的相关信息,如打印所用的耗材类型、颜色,以及模型打印所需的时间;而后,用户根据需要申请打印机操作权的控制令牌,且需填写所需一些信息,如打印所用的耗材类型、颜色,所期望的最迟模型完成时间,交付方式以
Figure 1. Online 3D printing flowcharts
图1. 在线3D打印流程图
及个性化的备注信息。填写完成后点击打印任务提交,即可完成打印任务的申请。
其中,用户获得编辑模型的令牌后,可对3D模型编辑。首先进入到模型编辑界面,对模型进行一系列的编辑操作,如缩放、旋转、移动、自动布局、修复、合并等,也可以把当前模型卸载,然后加载新的模型文件。编辑达到所期望的效果后,保存以完成模型的编辑工作。
另外,在打印之前往往需要对打印模型进行预览,设置相关的打印参数进行,如打印机、质量、暂停高度、层片厚度、密封表面、支撑、填充、其他等参数。确认设置无误后,点击保存。最后就可以提交打印申请,等待模型打印完成交付。
3. 系统功能设计
作为信息时代的产物,普通用户对3D打印的了解还很少,为了通过平台普及3D打印相关的一些知识,本平台的功能设计上包括了一些信息咨询以及行业相关的动态信息作为平台的辅助功能,以便能够更好的拓展用户群体,挖掘更多有需求用户可以通过本平台进行3D模型的在线打印。平台的协作设计上包括用户功能和系统管理维护的功能设计 [3] 。根据平台面向用户的不同,把普通用户常用的一些功能,如平台首页展示的功能和用户完成在线3D打印的功能称之为用户的功能模块,而拥有平台管理和维护功能的用户可操作的一些功能组成称为系统管理维护的功能模块。
3.1. 用户功能设计
其中最为主要的功能模块是在线打印:其包括打印任务申请、模型编辑、打印预览子功能。
该模块是3D云打印服务平台的核心模块,也是创新点,实现了在线用户实现对3D打印单机软件的在线使用。广大的使用者用户,包括个人用户、企业用户等,他们通过把设计制作的3D模型,通过网络上传到3D云打印服务平台,通过提出打印任务申请、模型的编辑、打印预览、打印申请等操作,然后3D云打印服务平台根据现有资源的当前状态,动态地把用户的打印申请调度到最佳的打印机进行打印工作。打印完成后根据用户提交的交付方式进行交付,最后完成用户的在线打印。
整个过程是分阶段的,用户可根据一个流程完成相应操作,在完成前一个操作后,自动进入下一个操作。若是中间发生了中断,系统会自动记录中断的节点,下次用户可以再进行之前未完成的操作。
此外,还有模型库功能模块,管理员可以向3D云打印服务平台添加模型库,满足一些普通用户的需求。并且按用户对模型文件进行分类管理,属于用户私有;公共模型库管理员上传或者专业的用户也可以共享自己的模型来扩充模型库,便于后来者对模型的使用。总体服务平台的用户功能如图2所示。
3.2. 系统管理维护功能设计
平台涉及3D打印设备、工作站、用户、3D模型文件和在线打印任务这些实体,为了实现统一有效的管理,必须有系统管理维护的功能模块。本文结合一些行业内的实践,设计了一下的系统管理维护功能模块,详情如图3所示。
1) 3D设备管理。作为服务平台的出现,随着时间的推移加入平台提供3D打印服务的设备也会越来越多,必然给各设备的统一管理带来困难。在平台上,对各个3D打印设备的信息进行统一管理,有利于后期的业务拓展。
2) 工作站的管理。由于地理位置的差异,各个3D打印设备所在的地点称之为工作站。在工作站,首先可以提供远程的在线用户对3D打印模型的编辑工作,用户编辑完成后,真实的耗材打印也是在工作站完成。以及对3D打印设备的维护工作,包括软件的升级,硬件的设备的维护等。
3) 用户管理。互联网时代的到来,抓住用户就是抓住了经济的命脉。为了更好的服务客户,在对用
Figure 2.User function diagram
图2. 用户功能图
Figure 3.System management and maintenance functions diagram
图3. 系统管理维护功能图
户的信息进行基本的维护外,还要根据以往大量的用户数据进行用户行为模式的跟踪,进行关联规则的挖掘,给用户推送服务。最大限度的满足用户所需的基础上,同时从用户身上获取利益。
4) 模型库的管理。模型库里存放着可供用户公共访问的模型文件,可以给3D模型设计的爱好者提供一个库,方便下载后修改,实施打印。包括模型的上传、删除,以及对用户上传的模型的可用性进行相应的检查工作。原创的模型文件,在服务器端搜集之后,并且在上传之前做出了权责声明,也可以利用好的一些创意,实现模型文件的二次利用。模型库的管理,一定程度上涉及到了保密性和使用权的问题。
5) 3D打印管理。每位用户的每次打印都称为一次任务,任务添加、审核申请、任务查询等。用户打印之前必须提交包含打印关键信息的内容,包括模型文件、打印耗材、打印颜色等。管理员审核任务是否可以打印,以及对打印文件发放到某个3D打印工作站,审核通过后,以满足用户的下一步工作的顺利进行。对紧急任务,管理员还可以调整任务的优先级,以便调度的算法能够优先对该任务进行处理等。
6) 文件管理。每次用户上传的模型文件都存储在指定文件目录下,管理员可以根据实际情况修改文件存放路径,管理用户文件。用户文件,可能因算法调度而导致用户文件中的某个模型文件要实现迁移,文件管理能够实现对某用户实时的动态查看。
7) 信息管理。前台展示页面的服务咨询、业内动态、成功案例、资料下载等信息的维护、上传等。
8) 综合查询。这里集成了一个综合查询页面。通过下拉列表的形式,给出待选项,用户可以选择用户、任务、模型、打印机等作为关键字,在文本输入框里输入要查找的内容,点击搜索后,对相关的数据库进行检索,然后把得出的信息列出。管理员点击查看详情可以对某一条记录进行查看、编辑等操作。
为了平台更好的运行,有部分功能是拥有特殊权限的人能进行的操作模块,把这些汇集一起,本文称之为后台,例如系统维护功能,维护打印机信息、用户管理、权限分配、远程操作用户注册登记、打印监控、打印作业管理、文件管理、用户作业调度管理,以及平台运行的各种信息的维护,适当的对用户的行为进行干预,以及一些公共模块的管理,包括模型公共库的管理、用户信息的管理和工作站管理员的管理。
在这里就涉及到了权限的设计。为了更好地管理3D云打印服务平台,对系统的使用者设置了不同的权限。不同权限的使用者登录后的操作界面有所不同,即所能操作的功能是不同的。
用户:能够查看平台发布的信息,并对信息进行一些评论操作,可以对平台的一下资源进行下载等。拥有打印权限的用户能够使用在线打印功能打印3D模型文件。进入个人中心,进行用户的信息的设置和修改,以及对历史提交的3D打印任务和当前的任务进行查看,收发与3D云打印服务平台的交互信息等。
工作站管理员:一个工作站管理员负责一台3D打印设备,工作站管理员只负责与自己相关设备的设备管理、任务管理与文件管理。
系统管理员:系统管理员则需要负责整个系统的设备管理、用户管理、任务管理、文件管理。
4. 系统平台体系架构设计
为便于用户基于公网在线进行3D模型的打印,本文着眼于目前的线上用户数量的增长,以及未来的发展趋势,为广大3D设计爱好者、设计提供方、3D打印资源拥有者设计开发了相应的服务平台,设计了供用户通过浏览器访问信息、技术咨询、上传模型、在线编辑模型、在线打印模型并对打印的最迟完成时间以及查询耗材类型和进行打印的3D打印服务平台的前台,以及具有用户管理、模型文件管理、任务管理等功能的后台,基于前后台的功能实现,以及未来平台的可扩展性,综合考虑网络带宽的差异和软件技术的发展,提出本平台的体系架构设计模型。图4给出了包括访问层、服务层、封装层和支撑层的云打印服务平台的体系架构。
访问层:提供了对3D打印服务有需求的用户的服务接口,用户通过选择不同的栏目,从而能够获取到不同的服务。
服务层:该层接收访问层发来的3D打印操作命令,通过调用封装层相应的封装函数实现对命令的解析,然后把解析后的用户3D打印真实的操作命令发送到指定的执行模块。再者,接收执行模块的反馈信息,通过对信息解析实现对当前3D打印相关的状态的获取,然后把3D打印的状态信息发送给访问层的用户。
封装层:该层把用户通过浏览器的执行3D操作命令进行获取,然后根据预先设定的规则对命令进行
Figure 4.System architecture diagram
图4. 系统体系架构图
解析,封装成执行模块易于理解、执行以及易于传输的格式。再者就是把执行模块的执行结果信息进行解析,以用户易于理解和辨识的格式进行信息的封装。
支撑层:该层是物理上的实际执行模块,3D打印机通过接收执行命令,进行相应的3D打印操作。通过网络把在线用户的实际操作命令传输到指定的工作站上,以及把工作站实际的打印机状态传输到指定的客户端等。
在图4给出的体系结构中,封装层的设计最为重要,这源于桌面型的3D打印机价格相对便宜,但是由于个人用户对此的使用不像日常用的打印机使用的那么频繁,因此没有必要自己出资金买一台放在家里闲置。而另外的问题在于,想要共享自己的3D打印资源,存在着一些困难。原因是它的打印方式像word一样,必须通过单机软件把(3D模型)文件处理后,再把要打印的数据发送到3D打印机,从而开始打印工作。封装层就是把这种单机的操作,通过封装以使它能通过网络,在某种协议的支持下,实现用户的在线使用 [3] 。对于封装层,从另一个维度上讲,只要是相同机理的3D打印机,通过一些小的修改,都能够很好的完成功能的Web化,并最终很好的实现与平台的对接,而形成具有自己特性的3D打印服务平台。一种好的体系架构要具有易扩展性和保证具有系统要求的实时性以及数据的准确性。这种体系架构能够很好的解决扩展性问题以及后期的维护性。
5. 单机软件的封装和Web化
本文中各种对单机软件的操作命令不是直接作用于软件,而是通过Web对命令封装后传输到指定的工作站进行操作,这些操作包括把待编辑模型文件下载到工作站、使用单机软件打开文件、获取用户编辑命令、解析后模拟执行到软件,一系列的操作完成后才真正的实现了编辑操作到模型文件本身 [4] 。这其中的通讯协议是基于http协议,重新设计了适合本平台的通讯操作协议,用户在操作界面想要实现某一个具体的操作,当这一事件发生时会触发相应的命令存储到一个系统预留的命令交互内存中。同时为避免命令的异常丢失,在这里还引入了数据库技术,对命令的交互过程进行了记录。使用目前较为流行的服务器端的推送技术,把用户触发的事件,根据通讯操作协议推送到工作站端的接收处理程序。接收处理程序根据通讯操作协议,解析后然后把命令发送给单机软件模拟执行,从而完成打印命令的封装和解析。对3D打印机即时状态的获取,是以上过程的逆过程。
总而言之,如何将单机UP软件接入到Internet平台,是实现3D云打印服务平台的难点。本文设计的平台采用工作站的方式,将UP软件安装在虚拟工作站(Virtual Workstation)上,有工作站接收来自Web服务器的命令,然后模拟人员操作UP软件。最终实现将单机的UP软件接入网络平台,从而保证用户顺利完成打印编辑和在线打印操作。
6. 系统平台的运行模式
在云打印服务环境下,平台要支持各类参与角色所拥有的广域、异构打印资源的实际集成,实现打印资源的共享和优化利用,为此,本文设计了一种支持用户基于网络在线使用云打印设备的服务平台,其运行模式 [5] 如图5所示。
首先,平台运营方提供基础的平台服务,包括平台的建设,后期平台的维护和扩展等业务。开发出一系列的平台相关的工具集,以使资源的提供方、资源的需求方能够依托强大的平台支持,开展各自相关的工作以及满足自己的需求 [6] 。设备的生产商,能够专注于设备的研发工作,其销售渠道由平台大量的服务提供商的支持,很容易实现其商业的价值。
其次,资源的提供方要首先把自己拥有的资源通过3D云服务平台进行共享,有偿或者无偿。打印设备的拥有者通过部署自己的3D打印设备,他们之间形成一个分布式的资源,通过平台的整合,能够消除之间的异构的差异化,实现资源需求方的无差别使用体验。耗材的提供方能够紧跟用户的需求供给他们的个性化所需,通过平台的用户日常的打印任务分析,指定合理的研发生产策略,形成一个良性的闭环生产模型,改善企业的信息不完备现状。
最后,无论设备的部署,还是耗材的供给,抑或是3D打印成品的交付,都需要整体解决方案方的大力支持。3D云服务平台是一个全方位的服务体系,设备的在线部署,实时动态的耗材配置,都有平台的运维方承担,从而保障3D资源充分的利用。
基于以上分析,3D云打印服务平台是一个涉及完整产业链在线沟通与多方参与的服务体系[7] 。
7. 结束语
本文对在线3D打印这个新的领域,针对用户业务流程、系统功能的不明确问题,提出类似于普通纸质打印机的打印协作流程,基于科技信息平台的功能划分的基础,提出模型共享、资源共享等相关功能的平台实现。针对平台的主要功能,为实现在线打印在技术上融合了Http传输协议、服务器推技术、Windows操作模拟技术、网络技术和数据库技术实现了单机软件的封装和操作的Web化。
针对现有的电子商务,提出基于本文设计平台的运行模式的探索,受限于实验环境,平台运行模式目前仅处于研究阶段,还有待于进一步验证其有效性以及可实施性。
Figure 5.Operating mode diagram of the system platform
图5. 系统平台的运行模式图
基金项目
天津市自然科学基金资助项目(No. 13ZCZDGX01108)、(No. 12ZCDZGX46500)、(No. 13ZCZDGX025 00)。