CN114564156A - 模型切片的方法和装置、3d打印系统、电子设备 - Google Patents
模型切片的方法和装置、3d打印系统、电子设备 Download PDFInfo
- Publication number
- CN114564156A CN114564156A CN202210125051.1A CN202210125051A CN114564156A CN 114564156 A CN114564156 A CN 114564156A CN 202210125051 A CN202210125051 A CN 202210125051A CN 114564156 A CN114564156 A CN 114564156A
- Authority
- CN
- China
- Prior art keywords
- slicing
- code
- software module
- slice
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000010146 3D printing Methods 0.000 title claims abstract description 55
- 238000004590 computer program Methods 0.000 claims description 16
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 230000001131 transforming effect Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 4
- 238000007639 printing Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 66
- 238000005538 encapsulation Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 7
- 238000004806 packaging method and process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008676 import Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000003292 glue Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1297—Printer code translation, conversion, emulation, compression; Configuration of printer parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
Abstract
本申请提供了一种模型切片的方法和装置、3D打印系统、电子设备及计算机可读存储介质,涉及互联网技术领域。该方法获取根据第一编程语言编写的用于模型切片的本地端切片软件模块;将所述本地端切片软件模块转化成能够运行在网页应用中的目标切片代码;将所述目标切片代码加载到所述网页应用中,利用加载有所述目标切片代码的所述网页应用对模型文件进行切片处理,得到切片文件。本申请实施例有效避免了现有技术中远程切片时服务器切片易崩溃、压力大、切片速度慢、成本大等问题,大幅度提升了模型切片的切片速度。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种模型切片的方法和装置、3D打印系统、电子设备及计算机可读存储介质。
背景技术
模型切片,是将stl模型通过切片软件,将stl模型转化为能控制3d打印机打印的gcode代码文件或者pwmx文件。但目前模型切片主要在本地端进行,本地切片后再将切片文件载入3D打印机进行打印,过程复杂。为方便3D打印机切片及打印操作,行业各界进行了大量的研究,提出了一些解决方案,目前的主要思路是远程切片,然而,远程切片实现难度大、开发成本高、切片速度慢,因此如何提升远程切片速度的问题成为亟需解决的技术问题。
发明内容
鉴于上述问题,提出了本申请以便提供一种解决上述问题的模型切片的方法和装置、3D打印系统、电子设备及计算机可读存储介质,有效避免了现有技术中远程切片时服务器切片易崩溃、压力大、切片速度慢、成本大等问题,大幅度提升了模型切片的切片速度。所述技术方案如下:
第一方面,提供了一种模型切片的方法,应用于3D打印领域,包括:
获取根据第一编程语言编写的用于模型切片的本地端切片软件模块;
将所述本地端切片软件模块转化成能够运行在网页应用中的目标切片代码;
将所述目标切片代码加载到所述网页应用中,利用加载有所述目标切片代码的所述网页应用对模型文件进行切片处理,得到切片文件。
在一种可能的实现方式中,所述将所述本地端切片软件模块转化成能够运行在网页应用中的目标切片代码,包括:
将所述本地端切片软件模块的切片代码转化成根据第二编程语言编写的中间切片代码;
将所述中间切片代码转化成能够运行在网页应用中的目标切片代码,基于所述目标切片代码生成所述本地端切片软件模块对应的云端切片软件模块。
在一种可能的实现方式中,所述将所述目标切片代码加载到所述网页应用中,利用加载有所述目标切片代码的所述网页应用对模型文件进行切片处理,得到切片文件,包括:
将所述云端切片软件模块加载到所述网页应用中,利用加载有所述云端切片软件模块的所述网页应用对模型文件进行切片处理,得到切片文件。
在一种可能的实现方式中,所述第二编程语言为WebAssembly语言;将所述本地端切片软件模块的切片代码转化成根据第二编程语言编写的中间切片代码,包括:通过Emscripten SDK构建Emscripten编译器,并配置所述Emscripten编译器的环境变量;所述Emscripten编译器是由底层虚拟机LLVM到JaveScript的编译器;
利用所述Emscripten编译器将所述本地端切片软件模块的切片代码转化成根据WebAssembly语言编写的中间切片代码.wasm代码。
在一种可能的实现方式中,利用所述Emscripten编译器将所述本地端切片软件模块的切片代码转化成根据WebAssembly语言编写的中间切片代码.wasm代码,包括:
利用所述Emscripten编译器将所述本地端切片软件模块的切片代码编译成所述.wasm语言;
调用WebAssembly的异步方法,并对其进行编译,编译成功后返回编译结果,所述编译结果为输出编译所生成的WebAssembly模块包的.wasm模块文件。
在一种可能的实现方式中,将所述中间切片代码转化成能够运行在网页应用中的目标切片代码,包括:
将所述中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码。
在一种可能的实现方式中,将所述云端切片软件模块加载到所述网页应用中,包括:
利用所述网页应用的指定函数接口导入asm.js代码文件,将所述云端切片软件模块加载到所述网页应用中;
和/或
利用加载有所述云端切片软件模块的所述网页应用对模型文件进行切片处理,包括:将模型文件作为参数传递给所述.wasm代码文件,利用加载有所述云端切片软件模块的所述网页应用对模型文件进行切片处理。
在一种可能的实现方式中,所述方法还包括:
构建封装函数,所述封装函数用于将所述中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码,生成所述本地端切片软件模块对应的云端切片软件模块;以及利用所述网页应用的指定函数接口导入asm.js代码文件,将所述云端切片软件模块加载到所述网页应用中;
调用所述封装函数,将所述中间切片代码.wasm代码和所述模型文件作为所述封装函数的参数传递给所述封装函数,得到所述切片文件。
在一种可能的实现方式中,若生成的所述云端切片软件模块和所述网页应用均位于第一终端,将所述云端切片软件模块加载到所述网页应用中,包括:在所述第一终端本地将所述云端切片软件模块加载到所述网页应用中;
若生成的所述云端切片软件模块位于第一终端,所述网页应用位于第二终端,将所述云端切片软件模块加载到所述网页应用中,包括:所述第二终端的所述网页应用向所述第一终端发送加载所述云端切片软件模块的请求,所述网页应用通过网络加载所述第一终端上的所述云端切片软件模块。
在一种可能的实现方式中,将所述中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码,基于所述目标切片代码asm.js生成所述本地端切片软件模块对应的云端切片软件模块,包括:
通过网络加载或者本地加载所述中间切片代码.wasm代码;
将所述中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码;
对所述目标切片代码asm.js代码进行编译并且实例化,生成所述本地端切片软件模块对应的云端切片软件模块。
在一种可能的实现方式中,所述方法还包括:
构建目标函数,所述目标函数用于通过网络加载或者本地加载所述中间切片代码.wasm代码;将所述中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码;以及对所述目标切片代码asm.js代码进行编译并且实例化,生成所述本地端切片软件模块对应的云端切片软件模块;
调用所述目标函数,将所述中间切片代码.wasm代码的路径位置作为所述目标函数的参数传递给所述目标函数,得到实例化后的所述本地端切片软件模块对应的云端切片软件模块。
在一种可能的实现方式中,利用加载有所述云端切片软件模块的所述网页应用对模型文件进行切片处理,得到切片文件,包括:
将模型文件作为参数传入所述网页应用的所述云端切片软件模块,对所述模型文件进行切片处理,得到切片文件。
第二方面,提供了一种模型切片的装置,应用于3D打印领域,包括:
获取模块,用于获取根据第一编程语言编写的用于模型切片的本地端切片软件模块;
转化模块,用于将所述本地端切片软件模块转化成能够运行在网页应用中的目标切片代码;
加载模块,用于将所述目标切片代码加载到所述网页应用中;
切片模块,用于利用加载有所述目标切片代码的所述网页应用对模型文件进行切片处理,得到切片文件。
第三方面,提供了一种3D打印系统,包括:
3D打印机,通过获取所述3D打印系统执行上述任一项所述的所述模型切片的方法所获得的切片文件进行3D打印;
或
三维扫描仪、云平台及3D打印机;所述三维扫描仪及所述3D打印机均与所述云平台通讯连接;
所述三维扫描仪用于扫描待扫描物体,得到所述待扫描物体的模型文件,将得到的所述模型文件上传至所述云平台;
所述3D打印机通过获取所述3D打印系统执行上述任一项所述的所述模型切片的方法所获得的切片文件进行3D打印。
第四方面,提供了一种电子设备,该电子设备包括处理器和存储器,其中,所述存储器中存储有计算机程序,所述处理器被配置为运行所述计算机程序以执行上述任一项所述的模型切片的方法。
第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序被配置为运行时执行上述任一项所述的模型切片的方法。
借由上述技术方案,本申请实施例提供的模型切片的方法和装置、3D打印系统、电子设备及计算机可读存储介质,可以获取根据第一编程语言编写的用于模型切片的本地端切片软件模块,将本地端切片软件模块转化成能够运行在网页应用中的目标切片代码,无需人工编写目标切片代码,提高了开发效率,并且目标切片代码可以运行在网页应用中,使得网页应用具备模型切片的功能;随后将目标切片代码加载到网页应用中,利用加载有目标切片代码的网页应用对模型文件进行切片处理,得到切片文件,这样网页应用可以利用其所在终端的本地计算资源的算力对模型文件进行切片处理,有效避免了现有技术中远程切片时服务器切片易崩溃、压力大、切片速度慢、成本大等问题,大幅度提升了模型切片的切片速度,有效提升切片的用户体验。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1示出了根据本申请实施例的模型切片的方法的流程图;
图2示出了根据本申请实施例的编译示意图;
图3示出了根据本申请实施例的模型切片的设备架构图;
图4示出了根据本申请实施例的模型切片的装置的结构图;
图5示出了根据本申请另一实施例的模型切片的装置的结构图;
图6示出了根据本申请实施例的3D打印系统的结构图;
图7示出了根据本申请另一实施例的3D打印系统的结构图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。
本申请实施例提供了一种模型切片的方法,可以应用于3D打印领域。
如图1所示,该模型切片的方法可以包括以下S1至S3:
S1,获取根据第一编程语言编写的用于模型切片的本地端切片软件模块;
S2,将本地端切片软件模块转化成能够运行在网页应用中的目标切片代码;
S3,将目标切片代码加载到网页应用中,利用加载有目标切片代码的网页应用对模型文件进行切片处理,得到切片文件。
本申请实施例可以获取根据第一编程语言编写的用于模型切片的本地端切片软件模块,将本地端切片软件模块转化成能够运行在网页应用中的目标切片代码,无需人工编写目标切片代码,提高了开发效率,并且目标切片代码可以运行在网页应用中,使得网页应用具备模型切片的功能;随后将目标切片代码加载到网页应用中,利用加载有目标切片代码的网页应用对模型文件进行切片处理,得到切片文件,这样网页应用可以利用其所在终端的本地计算资源的算力对模型文件进行切片处理,有效避免了现有技术中远程切片时服务器切片易崩溃、压力大、切片速度慢、成本大等问题,大幅度提升了模型切片的切片速度,有效提升切片的用户体验。
在本申请的实施例中,S2将本地端切片软件模块转化成能够运行在网页应用中的目标切片代码,具体可以包括:
S102,将本地端切片软件模块的切片代码转化成根据第二编程语言编写的中间切片代码;
S103,将中间切片代码转化成能够运行在网页应用中的目标切片代码,基于目标切片代码生成本地端切片软件模块对应的云端切片软件模块。
本申请实施例将本地端切片软件模块的切片代码转化成根据第二编程语言编写的中间切片代码,进而将中间切片代码转化成能够运行在网页应用中的目标切片代码,基于目标切片代码生成本地端切片软件模块对应的云端切片软件模块,可以提高转化效率。
在本申请的实施例中,S3将目标切片代码加载到网页应用中,利用加载有目标切片代码的网页应用对模型文件进行切片处理,得到切片文件,具体可以包括:
S104,将云端切片软件模块加载到网页应用中,利用加载有云端切片软件模块的网页应用对模型文件进行切片处理,得到切片文件。
在本申请的实施例中,S1中提及的第一编程语言可以是C语言、C++语言或者C#语言等,本申请实施例对此不作限制。
S102中提及的第二编程语言可以是WebAssembly语言,WebAssembly是新一代的Web(网页)虚拟机标准,它是C、C++、Rust、Go、Java、C#等语言的编译目标,经过编译器编译之后的二进制代码,无需经过Parser(语法解析器)和ByteCode Compiler(字节码编译器)这两步,比asm.js更快。也就是说,可以通过编译器将C或C++等语言编译为WebAssembly二进制格式。WebAssembly强制使用静态类型,在语法上完全脱离JavaScript,同时具有沙盒化的执行环境,安全性更好。
在本申请的实施例中,S102将本地端切片软件模块的切片代码转化成根据第二编程语言编写的中间切片代码,具体可以通过Emscripten SDK(Software Development Kit,软件开发工具包)构建Emscripten编译器,并配置Emscripten编译器的环境变量;这里的Emscripten编译器是由LLVM(Low Level Virtual Machine,底层虚拟机)到JaveScript(直译式脚本语言)的编译器。
在本申请实施例中,在通过Emscripten SDK构建Emscripten编译器之前,需要安装Git(分布式版本控制系统)、Cmake(跨平台的安装编译工具)、系统编译工具、python(面向对象的编程语言)这几个工具,且确保可用。随后,可以通过命令行$source./emsdk_env.sh来配置Emscripten编译器的环境变量,之后可以利用Emscripten编译器将本地端切片软件模块的切片代码转化成根据WebAssembly语言编写的中间切片代码.wasm代码。
在本申请实施例中,利用Emscripten编译器将本地端切片软件模块的切片代码转化成根据WebAssembly语言编写的中间切片代码.wasm代码,具体可以包括以下A1和A2:
A1,利用Emscripten编译器将本地端切片软件模块的切片代码编译成.wasm语言;
A2,调用WebAssembly的异步方法,并对其进行compile(编译),编译成功后返回编译结果,编译结果为输出编译所生成的WebAssembly模块包的.wasm模块文件。
可以理解的是,这里可以针对WebAssembly模块包进行参数传递或函数封装,使得它可以在多个窗口传递。并且,在调用时设置-s WASM=1参数,可以将本地端切片软件模块的切片代码转化成中间切片代码.wasm代码,可以对.wasm代码进行检查校验,在检查校验没有问题时将中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码,避免将本地端切片软件模块的切片代码直接转化成asm.js,因为如果在转化过程中出现错误,.wasm代码相比于asm.js更容易检查校验错误的问题。
在本申请实施例中,在具体实施时,可以执行命令emcc xxx.c-Os-sWASM=1-sSIDE_MODULE=1-o xxx.wasm便可生成.wasm模块文件;
其中,xxx.c为c++文件名,即本地端切片软件模块的切片代码的文件名;
xxx.wasm为wasm文件名,即中间切片代码.wasm模型文件名;
-s WASM=1表明指示Emscripten编译器将本地端切片软件模块的切片代码编译成WebAssembly;
-Os表明编译的优化程度;
-o指定生成的文件名。
图2示出了根据本申请实施例的利用Emscripten编译器将本地端切片软件模块的C++切片代码转化成根据WebAssembly语言编写的中间切片代码.wasm代码文件,图2中的build.js是Emscripten生成的胶水代码,其中包含了Emscripten的运行环境和wasm的封装,导入build.js即可自动完成.wasm载入、编译、实例化、运行时初始化等的工作。
在本申请实施例中,S104将云端切片软件模块加载到网页应用中,具体可以是利用网页应用的指定函数接口导入asm.js代码文件,将云端切片软件模块加载到网页应用中。这里的指定函数接口可以是import(输入)函数接口,本申请实施例对此不作限制。此外,还可以利用网页应用的script标签导入asm.js代码文件,将云端切片软件模块加载到网页应用中。
在本申请实施例中,S104利用加载有云端切片软件模块的网页应用对模型文件进行切片处理,具体可以是将模型文件.stl作为参数传递给.wasm代码文件,利用加载有云端切片软件模块的网页应用对模型文件进行切片处理。
在本申请实施例中,还可以构建封装函数,该封装函数用于将中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码,生成本地端切片软件模块对应的云端切片软件模块;以及利用网页应用的指定函数接口导入asm.js代码文件,将云端切片软件模块加载到网页应用中。随后,可以调用封装函数,将中间切片代码.wasm代码和模型文件作为封装函数的参数传递给封装函数,得到切片文件。
例如,这里的封装函数为函数instantiate,这个函数主要接收2个参数,.wasm的二进制文件(bytes)和模型文件.stl,最后调用WebAssembly的异步方法进行compile,传输二进制文件bytes和模型文件.stl,并且返回结果切片文件。本申请实施例通过封装函数,使得封装后的代码易于维护,方便导出,以后也可以直接调用该封装好的函数instantiate直接进行切片,得到切片文件。
在本申请实施例中,若生成的云端切片软件模块和网页应用均位于第一终端,那么将云端切片软件模块加载到网页应用中具体可以是在第一终端本地将云端切片软件模块加载到网页应用中。
在具体应用场景中,第一终端可以是开发端,开发端执行上面S1、S102、S103以及S104的方法,一方面将本地端切片软件模块转化为能够运行在网页应用中的云端切片软件模块,使得网页应用具备模型切片的功能,另一方面,可以在开发端本地的网页应用加载云端切片软件模块,利用加载有云端切片软件模块的网页应用对模型文件进行切片处理得到切片文件,从而实现对网页应用进行模型切片的测试,保证后续第二终端上的网页应用加载云端切片软件模块后能够顺利地进行模型切片。
在本申请实施例中,若生成的云端切片软件模块位于第一终端,网页应用位于第二终端,那么将云端切片软件模块加载到网页应用中具体可以是第二终端的网页应用向第一终端发送加载云端切片软件模块的请求,第二终端的网页应用通过网络加载第一终端上的云端切片软件模块。
图3示出了根据本申请实施例的模型切片的设备架构图,在图3中,第一终端执行上面S1、S102以及S103的方法,将本地端切片软件模块转化为能够运行在网页应用中的云端切片软件模块;第二终端可以是多个,各个第二终端的网页应用向第一终端发送加载云端切片软件模块的请求,各个第二终端的网页应用通过网络加载第一终端上的云端切片软件模块,进而利用加载有云端切片软件模块的网页应用对模型文件进行切片处理,得到切片文件。
在具体应用场景中,第一终端可以是开发端,第二终端可以是用户端,开发端执行上面S1、S102以及S103的方法,将本地端切片软件模块转化为能够运行在网页应用中的云端切片软件模块;用户端的网页应用向开发端发送加载云端切片软件模块的请求,用户端的网页应用通过网络加载开发端上的云端切片软件模块,进而利用加载有云端切片软件模块的网页应用对模型文件进行切片处理,得到切片文件。
可以看到,本申请实施例中网页应用可以利用其所在的用户端的本地计算资源的算力对模型文件进行切片处理,有效避免了现有技术中远程切片时服务器切片易崩溃、压力大、切片速度慢、成本大等问题,大幅度提升了模型切片的切片速度,且用户端无需安装本地端切片软件模块,避免了繁琐的安装过程,有效提升切片的用户体验。
在本申请实施例中,将中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码,基于目标切片代码asm.js代码生成本地端切片软件模块对应的云端切片软件模块,具体可以包括以下B1至B3:
B1,通过网络加载或者本地加载中间切片代码.wasm代码;
这里可以通过fetch网络加载中间切片代码.wasm代码,或者通过import本地加载中间切片代码.wasm代码。
B2,将中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码;
这里得到中间切片代码.wasm代码后,可以转化成具有读写能力能够运行在网页应用中的目标切片代码asm.js代码,该目标切片代码asm.js代码可以是二进制文件,具体可以使用js的arrayBuffer()方法进行转化。
B3,对目标切片代码asm.js代码进行编译并且实例化,生成本地端切片软件模块对应的云端切片软件模块。
这里,可以使用WebAssembly自带的方法WebAssembly.instantiate将目标切片代码asm.js代码的二进制文件编译并且实例化,实例化后函数便可以提取出来当成模块,即云端切片软件模块,方便后续使用。
在本申请实施例中,可以将上述B1至B3封装成一个一步到位函数,集上述B1至B3于一身,具体地,可以包括以下C1至C2:
C1,构建目标函数,目标函数用于通过网络加载或者本地加载中间切片代码.wasm代码;将中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码;以及对目标切片代码asm.js代码进行编译并且实例化,生成本地端切片软件模块对应的云端切片软件模块;
C2,调用目标函数,将中间切片代码.wasm代码的路径位置作为目标函数的参数传递给目标函数,得到实例化后的本地端切片软件模块对应的云端切片软件模块。
在具体实施时,可以通过以下方式来实现:
后续可以直接使用loadWebAssembly这个目标函数,将.wasm文件作为参数传入,得到一个导出的切片算法函数,即云端切片软件模块。
在本申请实施例中,在利用加载有云端切片软件模块的网页应用对模型文件进行切片处理得到切片文件,具体可以是将模型文件作为参数传入网页应用的云端切片软件模块,对模型文件进行切片处理,得到切片文件。
使用已加载本地.wasm文件为例:
loadWebAssembly('path/to/Slicing_algorithm_c++.wasm')
//使用loadWebAssembly目标函数,把本地.wasm当作参数传入,得到转化后的实例化结果,即包含切片算法函数的云端切片软件模块。
.then(instance=>{
const{slice}=instance.exports;
//利用实例化结果下的slice切片函数来进行模型切片,slice切片函数为c++中定义的切片算法函数
let result=slice(demo.stl);
//将stl模型文件当作参数传入得到结果,并赋予result变量,满足后续使用
})
这样可以直接从result变量获取切片文件,满足后续3D打印机打印的需求。
可以看到,本申请实施实例的模型切片的方法可以包括转化、加载、转成二进制文件、编译和实例化以及提取函数,具体地:
转化,可以是将本地端切片软件模块的c++代码转化成.wasm代码;
加载,可以是通过fetch网络加载或者import本地加载中间切片代码.wasm代码文件;
转成二进制文件,得到.wasm文件后不可以直接使用,因为它现在没有读写能力,可以转化成具有读写能力能够运行在网页应用中的目标切片代码asm.js代码,该目标切片代码asm.js代码可以是二进制文件,具体可以使用js的arrayBuffer()方法进行转化;
编译和实例化,得到二进制文件后,需要将这个可以读写的二进制文件进行编译并且实例化,以满足后续提取函数的需求。将二进制文件编译并且实例化的具体方法为WebAssembly.instantiate,这个是WebAssembly的自带方法,一步到位的将二进制文件编译并且实例化,实例化后函数便可以提取出来当成模块,即云端切片软件模块,方便后续使用;
提取函数,可以将模型文件作为参数传入网页应用的云端切片软件模块,对模型文件进行切片处理,得到切片文件。
需要说明的是,实际应用中,上述所有可能的实施方式可以采用结合的方式任意组合,形成本申请的可能的实施例,在此不再一一赘述。
基于上文各个实施例提供的模型切片的方法,基于同一发明构思,本申请实施例还提供了一种模型切片的装置。
图4示出了根据本申请实施例的模型切片的装置的结构图。如图4所示,该模型切片的装置可以应用于3D打印领域,可以包括获取模块410、转化模块420、加载模块430以及切片模块440。
获取模块410,用于获取根据第一编程语言编写的用于模型切片的本地端切片软件模块;
转化模块420,用于将本地端切片软件模块转化成能够运行在网页应用中的目标切片代码;
加载模块430,用于将目标切片代码加载到网页应用中;
切片模块440,用于利用加载有目标切片代码的网页应用对模型文件进行切片处理,得到切片文件。
在本申请实施例中,上文图4展示的转化模块420还用于:
将本地端切片软件模块的切片代码转化成根据第二编程语言编写的中间切片代码;
将中间切片代码转化成能够运行在网页应用中的目标切片代码,基于目标切片代码生成本地端切片软件模块对应的云端切片软件模块。
在本申请实施例中,上文图4展示的加载模块430还用于:将云端切片软件模块加载到网页应用中,
切片模块440还用于:利用加载有云端切片软件模块的网页应用对模型文件进行切片处理,得到切片文件。
在本申请实施例中,第二编程语言为WebAssembly语言;上文图4展示的转化模块420还用于:
通过Emscripten SDK构建Emscripten编译器,并配置Emscripten编译器的环境变量;Emscripten编译器是由底层虚拟机LLVM到JaveScript的编译器;
利用Emscripten编译器将本地端切片软件模块的切片代码转化成根据WebAssembly语言编写的中间切片代码.wasm代码。
在本申请实施例中,上文图4展示的转化模块420还用于:
利用Emscripten编译器将本地端切片软件模块的切片代码编译成.wasm语言;
调用WebAssembly的异步方法,并对其进行编译,编译成功后返回编译结果,编译结果为输出编译所生成的WebAssembly模块包的.wasm模块文件。
在本申请实施例中,上文图4展示的转化模块420还用于:
将中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码。
在本申请实施例中,上文图4展示的加载模块430还用于:
利用网页应用的指定函数接口导入asm.js代码文件,将云端切片软件模块加载到网页应用中;
和/或
切片模块450还用于:将模型文件作为参数传递给.wasm代码文件,利用加载有云端切片软件模块的网页应用对模型文件进行切片处理。
在本申请实施例中,如图5所示,上文图4展示的装置还可以包括构建模块510和调用模块520,构建模块510用于构建封装函数,封装函数用于将中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码,生成本地端切片软件模块对应的云端切片软件模块;以及利用网页应用的指定函数接口导入asm.js代码文件,将云端切片软件模块加载到网页应用中;
调用模块520,用于调用封装函数,将中间切片代码.wasm代码和模型文件作为封装函数的参数传递给封装函数,得到切片文件。
在本申请实施例中,若生成的云端切片软件模块和网页应用均位于第一终端,上文图4展示的加载模块430还用于在第一终端本地将云端切片软件模块加载到网页应用中;
若生成的云端切片软件模块位于第一终端,网页应用位于第二终端,加载模块430还用于第二终端的网页应用向第一终端发送加载云端切片软件模块的请求,网页应用通过网络加载第一终端上的云端切片软件模块。
在本申请实施例中,上文图4展示的转化模块420还用于:
通过网络加载或者本地加载中间切片代码.wasm代码;
将中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码;
对目标切片代码asm.js代码进行编译并且实例化,生成本地端切片软件模块对应的云端切片软件模块。
在本申请实施例中,上文图5展示的构建模块510还用于:构建目标函数,目标函数用于通过网络加载或者本地加载中间切片代码.wasm代码;将中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码;以及对目标切片代码asm.js代码进行编译并且实例化,生成本地端切片软件模块对应的云端切片软件模块;
调用模块520还用于:调用目标函数,将中间切片代码.wasm代码的路径位置作为目标函数的参数传递给目标函数,得到实例化后的本地端切片软件模块对应的云端切片软件模块。
在本申请实施例中,上文图5展示的切片模块440还用于:将模型文件作为参数传入网页应用的云端切片软件模块,对模型文件进行切片处理,得到切片文件。
基于同一发明构思,本申请实施例还提供了一种3D打印系统,如图6所示,3D打印系统可以包括3D打印机610,该3D打印机610通过获取3D打印系统执行上述任意一个实施例的模型切片的方法所获得的切片文件进行3D打印。可以理解的是,采用上述任意一个实施例的模型切片的方法,可以有效避免现有技术中远程切片时服务器切片易崩溃、压力大、切片速度慢、成本大等问题,大幅度提升模型切片的切片速度,因此3D打印机610通过获取3D打印系统执行上述任意一个实施例的模型切片的方法所获得的切片文件进行3D打印,可以提升3D打印的可靠性,提高3D打印的效率。
在本申请实施例中,3D打印系统中的第一终端将本地端切片软件模块转化为能够运行在网页应用中的云端切片软件模块,使得网页应用具备模型切片的功能,并且在第一终端本地的网页应用加载云端切片软件模块,利用加载有云端切片软件模块的网页应用对模型文件进行切片处理得到切片文件。3D打印机610通过获取3D打印系统中的第一终端利用加载有云端切片软件模块的网页应用对模型文件进行切片处理得到的切片文件进行3D打印,可以提升3D打印的可靠性,提高3D打印的效率。这里的第一终端可以是开发端。
在本申请实施例中,3D打印系统中的第一终端将本地端切片软件模块转化为能够运行在网页应用中的云端切片软件模块,3D打印系统中的第二终端可以是多个,各个第二终端的网页应用向第一终端发送加载云端切片软件模块的请求,各个第二终端的网页应用通过网络加载第一终端上的云端切片软件模块,进而利用加载有云端切片软件模块的网页应用对模型文件进行切片处理,得到切片文件。3D打印机610通过获取3D打印系统中的第二终端利用加载有云端切片软件模块的网页应用对模型文件进行切片处理得到的切片文件进行3D打印,可以提升3D打印的可靠性,提高3D打印的效率。这里的第一终端可以是开发端,第二终端可以是用户端。
基于同一发明构思,本申请实施例还提供了一种3D打印系统,如图7所示,3D打印系统可以包括三维扫描仪710、云平台720及3D打印机730;三维扫描仪710及3D打印机730均与云平台720通讯连接;
三维扫描仪710用于扫描待扫描物体,得到待扫描物体的模型文件,将得到的模型文件上传至云平台720;
3D打印机730通过获取3D打印系统执行上述任意一个实施例的模型切片的方法所获得的切片文件进行3D打印。
在本申请实施例中,3D打印系统中的第一终端将本地端切片软件模块转化为能够运行在网页应用中的云端切片软件模块,使得网页应用具备模型切片的功能,并且在第一终端本地的网页应用加载云端切片软件模块,从云平台720获取模型文件,利用加载有云端切片软件模块的网页应用对模型文件进行切片处理得到切片文件。用户使用三维扫描仪710扫描待扫描物体模型,得到模型文件,然后将模型文件上传到云平台720上,用户可以在云平台720上挑选喜欢的模型文件,通过3D打印系统中的第一终端利用加载有云端切片软件模块的网页应用对模型文件进行切片处理,得到切片文件,再将得到的切片文件发送给3D打印机730,3D打印机730通过获取3D打印系统中的第一终端利用加载有云端切片软件模块的网页应用对模型文件进行切片处理得到的切片文件进行3D打印,可以提升3D打印的可靠性,提高3D打印的效率。这里的第一终端可以是开发端。
在本申请实施例中,3D打印系统中的第一终端将本地端切片软件模块转化为能够运行在网页应用中的云端切片软件模块,3D打印系统中的第二终端可以是多个,各个第二终端的网页应用向第一终端发送加载云端切片软件模块的请求,各个第二终端的网页应用通过网络加载第一终端上的云端切片软件模块,并从云平台720获取模型文件,进而利用加载有云端切片软件模块的网页应用对模型文件进行切片处理,得到切片文件。用户使用三维扫描仪710扫描待扫描物体模型,得到模型文件,然后将模型文件上传到云平台720上,用户可以在云平台720上挑选喜欢的模型文件,通过网络加载第一终端上的云端切片软件模块,从而可以利用加载有云端切片软件模块的网页应用对模型文件进行切片处理,得到切片文件,再将得到的切片文件发送给3D打印机730,3D打印机730通过获取3D打印系统中的第二终端利用加载有云端切片软件模块的网页应用对模型文件进行切片处理得到的切片文件进行3D打印,可以提升3D打印的可靠性,提高3D打印的效率。这里的第一终端可以是开发端,第二终端可以是用户端。
基于同一发明构思,本申请实施例还提供了一种电子设备,包括处理器和存储器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任意一个实施例的模型切片的方法。
基于同一发明构思,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任意一个实施例的模型切片的方法。
本申请实施例还提供了a1、一种模型切片的方法,应用于3D打印领域,其中,包括:
获取根据第一编程语言编写的用于模型切片的本地端切片软件模块;
将所述本地端切片软件模块转化成能够运行在网页应用中的目标切片代码;
将所述目标切片代码加载到所述网页应用中,利用加载有所述目标切片代码的所述网页应用对模型文件进行切片处理,得到切片文件。
a2、根据a1所述的模型切片的方法,其中,
所述将所述本地端切片软件模块转化成能够运行在网页应用中的目标切片代码,包括:
将所述本地端切片软件模块的切片代码转化成根据第二编程语言编写的中间切片代码;
将所述中间切片代码转化成能够运行在网页应用中的目标切片代码,基于所述目标切片代码生成所述本地端切片软件模块对应的云端切片软件模块。
a3、根据a2所述的模型切片的方法,其中,
所述将所述目标切片代码加载到所述网页应用中,利用加载有所述目标切片代码的所述网页应用对模型文件进行切片处理,得到切片文件,包括:
将所述云端切片软件模块加载到所述网页应用中,利用加载有所述云端切片软件模块的所述网页应用对模型文件进行切片处理,得到切片文件。
a4、根据a2或a3所述的模型切片的方法,其中,所述第二编程语言为WebAssembly语言;将所述本地端切片软件模块的切片代码转化成根据第二编程语言编写的中间切片代码,包括:
通过Emscripten SDK构建Emscripten编译器,并配置所述Emscripten编译器的环境变量;所述Emscripten编译器是由底层虚拟机LLVM到JaveScript的编译器;
利用所述Emscripten编译器将所述本地端切片软件模块的切片代码转化成根据WebAssembly语言编写的中间切片代码.wasm代码。
a5、根据a4所述的模型切片的方法,其中,利用所述Emscripten编译器将所述本地端切片软件模块的切片代码转化成根据WebAssembly语言编写的中间切片代码.wasm代码,包括:
利用所述Emscripten编译器将所述本地端切片软件模块的切片代码编译成所述.wasm语言;
调用WebAssembly的异步方法,并对其进行编译,编译成功后返回编译结果,所述编译结果为输出编译所生成的WebAssembly模块包的.wasm模块文件。
a6、根据a4所述的模型切片的方法,其中,将所述中间切片代码转化成能够运行在网页应用中的目标切片代码,包括:
将所述中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码。
a7、根据a6所述的模型切片的方法,其中,将所述云端切片软件模块加载到所述网页应用中,包括:
利用所述网页应用的指定函数接口导入asm.js代码文件,将所述云端切片软件模块加载到所述网页应用中;
和/或
利用加载有所述云端切片软件模块的所述网页应用对模型文件进行切片处理,包括:将模型文件作为参数传递给所述.wasm代码文件,利用加载有所述云端切片软件模块的所述网页应用对模型文件进行切片处理。
a8、根据a7所述的模型切片的方法,其中,所述方法还包括:
构建封装函数,所述封装函数用于将所述中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码,生成所述本地端切片软件模块对应的云端切片软件模块;以及利用所述网页应用的指定函数接口导入asm.js代码文件,将所述云端切片软件模块加载到所述网页应用中;
调用所述封装函数,将所述中间切片代码.wasm代码和所述模型文件作为所述封装函数的参数传递给所述封装函数,得到所述切片文件。
a9、根据a3所述的模型切片的方法,其中,若生成的所述云端切片软件模块和所述网页应用均位于第一终端,将所述云端切片软件模块加载到所述网页应用中,包括:在所述第一终端本地将所述云端切片软件模块加载到所述网页应用中;
若生成的所述云端切片软件模块位于第一终端,所述网页应用位于第二终端,将所述云端切片软件模块加载到所述网页应用中,包括:所述第二终端的所述网页应用向所述第一终端发送加载所述云端切片软件模块的请求,所述网页应用通过网络加载所述第一终端上的所述云端切片软件模块。
a10、根据a6所述的模型切片的方法,其中,将所述中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码,基于所述目标切片代码asm.js生成所述本地端切片软件模块对应的云端切片软件模块,包括:
通过网络加载或者本地加载所述中间切片代码.wasm代码;
将所述中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码;
对所述目标切片代码asm.js代码进行编译并且实例化,生成所述本地端切片软件模块对应的云端切片软件模块。
a11、根据a10所述的模型切片的方法,其中,还包括:
构建目标函数,所述目标函数用于通过网络加载或者本地加载所述中间切片代码.wasm代码;将所述中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码;以及对所述目标切片代码asm.js代码进行编译并且实例化,生成所述本地端切片软件模块对应的云端切片软件模块;
调用所述目标函数,将所述中间切片代码.wasm代码的路径位置作为所述目标函数的参数传递给所述目标函数,得到实例化后的所述本地端切片软件模块对应的云端切片软件模块。
a12、根据a11所述的模型切片的方法,其中,利用加载有所述云端切片软件模块的所述网页应用对模型文件进行切片处理,得到切片文件,包括:
将模型文件作为参数传入所述网页应用的所述云端切片软件模块,对所述模型文件进行切片处理,得到切片文件。
b13、一种模型切片的装置,应用于3D打印领域,其中,包括:
获取模块,用于获取根据第一编程语言编写的用于模型切片的本地端切片软件模块;
转化模块,用于将所述本地端切片软件模块转化成能够运行在网页应用中的目标切片代码;
加载模块,用于将所述目标切片代码加载到所述网页应用中;
切片模块,用于利用加载有所述目标切片代码的所述网页应用对模型文件进行切片处理,得到切片文件。
c14、一种3D打印系统,其中,包括:
3D打印机,通过获取所述3D打印系统执行如a1至a12中任一项所述模型切片的方法所获得的切片文件进行3D打印;
或
三维扫描仪、云平台及3D打印机;所述三维扫描仪及所述3D打印机均与所述云平台通讯连接;
所述三维扫描仪用于扫描待扫描物体,得到所述待扫描物体的模型文件,将得到的所述模型文件上传至所述云平台;
所述3D打印机通过获取所述3D打印系统执行如a1至a12中任一项所述模型切片的方法所获得的切片文件进行3D打印。
d15、一种电子设备,其中,包括处理器和存储器,其中,所述存储器中存储有计算机程序,所述处理器被配置为运行所述计算机程序以执行a1至a12中任一项所述的模型切片的方法。
e16、一种计算机可读存储介质,其中,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被配置为运行时执行a1至a12中任一项所述的模型切片的方法。
所属领域的技术人员可以清楚地了解到,上述描述的系统、装置、模块的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
本领域普通技术人员可以理解:本申请的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干程序指令,用以使得一电子设备(例如个人计算机,服务器,或者网络设备等)在运行所述程序指令时执行本申请各实施例所述方法的全部或部分方框。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,实现前述方法实施例的全部或部分方框可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的电子设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被电子设备的处理器执行时,所述电子设备执行本申请各实施例所述方法的全部或部分方框。
以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:在本申请的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本申请的保护范围。
Claims (10)
1.一种模型切片的方法,应用于3D打印领域,其特征在于,包括:
获取根据第一编程语言编写的用于模型切片的本地端切片软件模块;
将所述本地端切片软件模块转化成能够运行在网页应用中的目标切片代码;
将所述目标切片代码加载到所述网页应用中,利用加载有所述目标切片代码的所述网页应用对模型文件进行切片处理,得到切片文件。
2.根据权利要求1所述的模型切片的方法,其特征在于,
所述将所述本地端切片软件模块转化成能够运行在网页应用中的目标切片代码,包括:
将所述本地端切片软件模块的切片代码转化成根据第二编程语言编写的中间切片代码;
将所述中间切片代码转化成能够运行在网页应用中的目标切片代码,基于所述目标切片代码生成所述本地端切片软件模块对应的云端切片软件模块。
3.根据权利要求2所述的模型切片的方法,其特征在于,
所述将所述目标切片代码加载到所述网页应用中,利用加载有所述目标切片代码的所述网页应用对模型文件进行切片处理,得到切片文件,包括:
将所述云端切片软件模块加载到所述网页应用中,利用加载有所述云端切片软件模块的所述网页应用对模型文件进行切片处理,得到切片文件。
4.根据权利要求2或3所述的模型切片的方法,其特征在于,所述第二编程语言为WebAssembly语言;将所述本地端切片软件模块的切片代码转化成根据第二编程语言编写的中间切片代码,包括:
通过Emscripten SDK构建Emscripten编译器,并配置所述Emscripten编译器的环境变量;所述Emscripten编译器是由底层虚拟机LLVM到JaveScript的编译器;
利用所述Emscripten编译器将所述本地端切片软件模块的切片代码转化成根据WebAssembly语言编写的中间切片代码.wasm代码。
5.根据权利要求4所述的模型切片的方法,其特征在于,利用所述Emscripten编译器将所述本地端切片软件模块的切片代码转化成根据WebAssembly语言编写的中间切片代码.wasm代码,包括:
利用所述Emscripten编译器将所述本地端切片软件模块的切片代码编译成所述.wasm语言;
调用WebAssembly的异步方法,并对其进行编译,编译成功后返回编译结果,所述编译结果为输出编译所生成的WebAssembly模块包的.wasm模块文件。
6.根据权利要求4所述的模型切片的方法,其特征在于,将所述中间切片代码转化成能够运行在网页应用中的目标切片代码,包括:
将所述中间切片代码.wasm代码转化成能够运行在网页应用中的目标切片代码asm.js代码。
7.一种模型切片的装置,应用于3D打印领域,其特征在于,包括:
获取模块,用于获取根据第一编程语言编写的用于模型切片的本地端切片软件模块;
转化模块,用于将所述本地端切片软件模块转化成能够运行在网页应用中的目标切片代码;
加载模块,用于将所述目标切片代码加载到所述网页应用中;
切片模块,用于利用加载有所述目标切片代码的所述网页应用对模型文件进行切片处理,得到切片文件。
8.一种3D打印系统,其特征在于,包括:
3D打印机,通过获取所述3D打印系统执行如权利要求1至6中任一项所述模型切片的方法所获得的切片文件进行3D打印;
或
三维扫描仪、云平台及3D打印机;所述三维扫描仪及所述3D打印机均与所述云平台通讯连接;
所述三维扫描仪用于扫描待扫描物体,得到所述待扫描物体的模型文件,将得到的所述模型文件上传至所述云平台;
所述3D打印机通过获取所述3D打印系统执行如权利要求1至6中任一项所述模型切片的方法所获得的切片文件进行3D打印。
9.一种电子设备,其特征在于,包括处理器和存储器,其中,所述存储器中存储有计算机程序,所述处理器被配置为运行所述计算机程序以执行权利要求1至6中任一项所述的模型切片的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被配置为运行时执行权利要求1至6中任一项所述的模型切片的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210125051.1A CN114564156A (zh) | 2022-02-10 | 2022-02-10 | 模型切片的方法和装置、3d打印系统、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210125051.1A CN114564156A (zh) | 2022-02-10 | 2022-02-10 | 模型切片的方法和装置、3d打印系统、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114564156A true CN114564156A (zh) | 2022-05-31 |
Family
ID=81713875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210125051.1A Pending CN114564156A (zh) | 2022-02-10 | 2022-02-10 | 模型切片的方法和装置、3d打印系统、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114564156A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023245365A1 (zh) * | 2022-06-20 | 2023-12-28 | 北京小米移动软件有限公司 | 快应用安装包获取方法和装置、电子设备、存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050179956A1 (en) * | 1999-05-25 | 2005-08-18 | Silverbrook Research Pty Ltd | Interactive printer for printing documents in response to data received from a sensing device |
CN104572476A (zh) * | 2015-01-30 | 2015-04-29 | 南京邮电大学 | 一种基于程序切片的软件安全测试方法 |
US20170090734A1 (en) * | 2014-05-14 | 2017-03-30 | Pagecloud Inc. | Methods and systems for web content generation |
CN106933522A (zh) * | 2017-03-06 | 2017-07-07 | 武汉中天元科技有限公司 | 一种远程3d打印方法及系统 |
US20180284956A1 (en) * | 2017-04-03 | 2018-10-04 | Sap Se | Fragmentation and messaging across web applications |
CN109670128A (zh) * | 2018-11-06 | 2019-04-23 | 北京居然设计家网络科技有限公司 | 一种基于WebAssembly的网页应用实现方法及装置 |
US10452868B1 (en) * | 2019-02-04 | 2019-10-22 | S2 Systems Corporation | Web browser remoting using network vector rendering |
CN111147947A (zh) * | 2020-01-10 | 2020-05-12 | 深圳市同洲电子股份有限公司 | 一种基于websocket的flv视频传输及网页播放的方法 |
US20200410996A1 (en) * | 2019-06-28 | 2020-12-31 | Microsoft Technology Licensing, Llc | Voice assistant-enabled web application or web page |
US20210099553A1 (en) * | 2016-11-28 | 2021-04-01 | Wallix | Integration of a standard network protocol layer in a web browser by compilation to webassembly and use of a websocket |
CN112650957A (zh) * | 2019-10-11 | 2021-04-13 | 腾讯科技(深圳)有限公司 | 图像显示方法、装置、计算机可读存储介质和计算机设备 |
CN113301038A (zh) * | 2021-05-20 | 2021-08-24 | 中国工商银行股份有限公司 | web端视频播放方法及装置 |
-
2022
- 2022-02-10 CN CN202210125051.1A patent/CN114564156A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050179956A1 (en) * | 1999-05-25 | 2005-08-18 | Silverbrook Research Pty Ltd | Interactive printer for printing documents in response to data received from a sensing device |
US20170090734A1 (en) * | 2014-05-14 | 2017-03-30 | Pagecloud Inc. | Methods and systems for web content generation |
CN104572476A (zh) * | 2015-01-30 | 2015-04-29 | 南京邮电大学 | 一种基于程序切片的软件安全测试方法 |
US20210099553A1 (en) * | 2016-11-28 | 2021-04-01 | Wallix | Integration of a standard network protocol layer in a web browser by compilation to webassembly and use of a websocket |
CN106933522A (zh) * | 2017-03-06 | 2017-07-07 | 武汉中天元科技有限公司 | 一种远程3d打印方法及系统 |
US20180284956A1 (en) * | 2017-04-03 | 2018-10-04 | Sap Se | Fragmentation and messaging across web applications |
CN109670128A (zh) * | 2018-11-06 | 2019-04-23 | 北京居然设计家网络科技有限公司 | 一种基于WebAssembly的网页应用实现方法及装置 |
US10452868B1 (en) * | 2019-02-04 | 2019-10-22 | S2 Systems Corporation | Web browser remoting using network vector rendering |
US20200410996A1 (en) * | 2019-06-28 | 2020-12-31 | Microsoft Technology Licensing, Llc | Voice assistant-enabled web application or web page |
CN112650957A (zh) * | 2019-10-11 | 2021-04-13 | 腾讯科技(深圳)有限公司 | 图像显示方法、装置、计算机可读存储介质和计算机设备 |
CN111147947A (zh) * | 2020-01-10 | 2020-05-12 | 深圳市同洲电子股份有限公司 | 一种基于websocket的flv视频传输及网页播放的方法 |
CN113301038A (zh) * | 2021-05-20 | 2021-08-24 | 中国工商银行股份有限公司 | web端视频播放方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023245365A1 (zh) * | 2022-06-20 | 2023-12-28 | 北京小米移动软件有限公司 | 快应用安装包获取方法和装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10157045B2 (en) | Systems and methods for automatically generating code for deep learning systems | |
EP0718760A2 (en) | Method and apparatus for generating platform-standard object files containing machine-independent code | |
CN114816417B (zh) | 一种交叉编译方法、装置、计算设备及存储介质 | |
US9152437B2 (en) | Dynamically installing image processing | |
CN113031932B (zh) | 项目开发方法、装置、电子设备及存储介质 | |
CN111427583A (zh) | 组件的编译方法、装置和电子设备及计算机可读存储介质 | |
CN114564156A (zh) | 模型切片的方法和装置、3d打印系统、电子设备 | |
CN112114933A (zh) | 应用程序保护方法、电子设备和存储介质 | |
CN112269602B (zh) | 一种WebAssembly加载方法、装置及存储介质 | |
CN116560666B (zh) | 基于多层级代码生成的ai前端统一计算方法、装置及介质 | |
CN112416533A (zh) | 在浏览器上运行应用程序的方法、装置及电子设备 | |
CN114434806B (zh) | 3d打印方法和支持3d打印的云平台系统、电子设备 | |
CN116596048A (zh) | 一种深度学习模型推理部署的方法和系统 | |
CN115509539A (zh) | 一种数据调用方法、装置、设备及介质 | |
CN110502439B (zh) | 调试方法、装置、电子设备以及存储介质 | |
CN110874214B (zh) | 一种功能调用方法、装置、电子设备和存储介质 | |
CN110110299B (zh) | 文本变换方法、装置以及服务器 | |
CN112230911A (zh) | 模型部署方法、装置、计算机设备和存储介质 | |
CN110673890A (zh) | 插件调用方法、系统、介质及装置 | |
CN117093227B (zh) | 一种用于执行智能合约的方法及装置 | |
CN116700727B (zh) | 一种跨平台的数据处理方法及系统 | |
CN114116051B (zh) | 基于神经网络模型的处理方法、装置、设备和存储介质 | |
CN113992941B (zh) | 基于无服务器函数计算的云边协同视频分析系统与方法 | |
CN115237457A (zh) | 一种ai应用的运行方法及相关产品 | |
CN115268938A (zh) | 遥感和地理信息算法的网络服务封装方法、装置和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |