CN111324965B - 一种基于云的通用参数化模型解析方法及设计系统 - Google Patents
一种基于云的通用参数化模型解析方法及设计系统 Download PDFInfo
- Publication number
- CN111324965B CN111324965B CN202010141840.5A CN202010141840A CN111324965B CN 111324965 B CN111324965 B CN 111324965B CN 202010141840 A CN202010141840 A CN 202010141840A CN 111324965 B CN111324965 B CN 111324965B
- Authority
- CN
- China
- Prior art keywords
- parameterized
- parameterized model
- model
- design
- general
- 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.)
- Active
Links
Images
Classifications
-
- 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/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于云的通用参数化模型解析方法及设计系统,涉及计算机辅助设计(CAD)软件领域,所述方法包括:1、导入/导出任意CAD软件的参数化模型;2、从多种渠道创建通用参数化模型;3、在云端计算、存储和查询参数化模型;4、在前端显示参数化模型;5、利用第三方云服务,扩展参数化模型平台的业务支持能力;6、支持各细分领域的参数化设计软件。另一方面本发明提供一种基于云的通用参数化模型设计平台,包括:参数化模型通用数据结构、参数化模型中间数据结构和几何模型通用表达数据结构。本发明的有益效果为:对任意CAD软件的参数化模型的双向数据转换;充分利用云计算优势,实现大规模、复杂参数化模型的计算、存储、查询和显示;不断接入第三方服务,持续扩展参数化模型的业务支持能力,如高清效果图、二维工程图等;低成本的开发各个细分领域的参数化设计软件,各细分领域的参数化模型可在同一集成环境中进行互操作和深度集成。
Description
技术领域
本发明涉及计算机辅助设计(CAD)软件的领域,具体涉及一种基于云的通用参数化模型解析方法及设计系统。
背景技术
计算机辅助设计软件的发展,大致先后经历了2d图形->3d线框->3d实体、曲线曲面造型->参数化造型几个阶段。参数化模型通过定义一系列参数、几何约束、以及生成模型的算法规则,让用户仅仅通过修改几个参数,就能够方便的修改模型的几何形状、尺寸和外观。它的这种全尺寸约束、全数据相关、尺寸驱动设计修改的特点,对生成结构类似、尺寸不同的一系列型号的产品,以及产品设计数据的重用具有特别的优势。
自1985年PTC公司推出参数化造型技术以来,各种主流的三维计算机辅助设计(CAD)软件,如CATIA,NX,Creo,Inventor,Solidworks,Revit等,都采用了这项技术。一些本来没有参数化功能的二维/三维设计软件,如AutoCAD,3ds Max等,也纷纷在其最新版本里加上参数化功能。近年来,在结构和建筑设计领域,出现了Dynamo,Grasshopper等利用图形化编程方式进行参数化设计的工具。在粒子加速器设计领域,人们利用GDML语言来进行具有复杂重复结构的实验设备设计。在装修设计软件领域,酷家乐等新一代互联网三维设计软件提供了进行定制家具设计的参数化设计工具。可见,越来越多的三维设计软件将参数化模型作为其最主要的模型定义方式。
然而,当前的这些参数化设计软件存在着如下的局限性:
1.每家公司的软件都定义了自己的参数化模型数据结构,以及生成最终模型的算法规则。每个软件生成的参数化模型都只能在自己的软件里使用,跨软件进行参数化模型的数据交换极其困难。当前,跨CAD软件的数据交换一般交换的都是几何、材质等数据。这些数据是参数化模型取某一组参数计算的结果,是一种“静态”的数据。导入的这种静态数据可以表达产品在某一型号/配置下的外观形态,从而满足一部分的使用需求,但对模型进行二次编辑和修改往往比较困难。例如,酷家乐有些商家用户之前在Revit等软件中积累了大量的参数化模型文件,他们想让这些参数化模型文件在导入酷家乐工具后,仍然能进行参数化的修改,而不是仅仅得到一个固定形状的模型。
2.现有的每种软件都是针对某一特定领域而设计的,他们的数据结构都带有所属领域的业务含义。例如,Inventor是为机械设计领域设计的,它的数据结构里含有倒角、螺纹、折弯等“特征”。Revit是为建筑领域设计的,它的数据结构里含有墙、梁、板、柱等“构件”。酷家乐现有的定制参数化家具设计工具,则含有板式家具的“板件”等数据结构。虽然这些软件都在不同程度上拥有几何约束、几何造型等基础数据结构,但对这些基础数据结构的定义各不相同。而且,它们对基础数据结构的定义和领域业务特有的数据结构定义混在一起,很难扩展。
3.传统桌面端参数化CAD软件的造型能力强,但它们受限于桌面端的计算、存储能力,无法支持大规模复杂参数化模型的计算。一些新兴互联网设计软件如酷家乐定制设计工具没有这方面的限制,但它们往往局限于某一个细分领域,扩展能力受限。到目前为止,还没有出现一个具有很好扩展能力的,基于互联网的参数化设计平台。
发明内容
本发明的目的在于克服现有技术存在的不足,而提供一种基于云的通用参数化模型解析方法及设计系统,可导入/导出任意CAD软件的参数化模型数据,实现参数化模型的双向数据转换;将导入或创建的通用参数化模型在云端进行存储、计算,计算结果传回前端进行显示,也可传递给一些外部云端服务,实现参数化模型的渲染、算量、出图等附加功能;还可组合和扩展通用参数化模型数据结构,开发出支持各细分领域的参数化设计软件。
本发明的目的是通过如下技术方案来完成的:一方面,本发明提供一种基于云的通用参数化模型解析方法,所述方法包括:
步骤1:导入或导出任意CAD软件的参数化模型,先定义一个通用参数化模型中间数据结构,再基于CAD软件开发一个插件,或利用数据读写SDK开发一个应用,将CAD软件参数化模型中的各种元素读出,并解析出它们之间的依赖关系,写成符合中间数据结构的数据,同时创建出通用参数化模型;
步骤2:从多种渠道创建通用参数化模型,包括以下步骤:
a.利用多种高级语言实现通用参数化模型的创建;
b.将创建好的通用参数化模型按照类别统一存储在数据库中,对于不同的应用按id加载这些参数化模型,并施加不同的参数,得到不同的计算结果,存储在数据库中的待重用的参数化模型形成参数化模板;
c.提供一个创建参数化模板的API,将参数化模型中间数据中记录的元素一一映射为在步骤a中高级语言定义的函数,并设置好函数输入参数和返回值之间的关系,完成通用参数化模板的创建;
步骤3:在云端计算、存储和查询参数化模型,将参数化模板存储在云端数据库中,并为每个参数化模板在数据库中记录一些元信息,提供一个查询参数化模型元信息的API供前端查询,同时提供一个计算参数化模型的API,通过用户提供参数化模板的id和一组参数的取值,计算出该参数化模型在取这组值时的形状和外观;
步骤4:在前端显示参数化模型,通用参数化模型平台会把计算出的模型几何及材质信息传输到前端进行显示,前端将接收到的信息通过进一步调用相应的解析程序进行解析,然后在浏览器或客户端中进行显示;
步骤5:利用第三方云服务,扩展参数化模型平台的业务支持能力,将通用参数化模型平台与第三方服务约定数据接口,从参数化模型的计算结果中抽取相应信息,传输给第三方服务,并将第三方服务计算的结果返回给前端进行显示;
步骤6:支持各细分领域的参数化设计软件,基于参数化模型通用数据结构扩展出适应各个细分行业的参数化设计语言超集,实现各细分行业的具体设计需求。
作为进一步的技术方案,所述步骤1中的通用参数化模型中间数据结构由参数、几何图元、几何约束、几何造型方法以及这些元素之间的依赖关系组成。
作为进一步的技术方案,所述步骤2中还可通过一个带UI的编辑器,将用户的交互过程记录为参数化模型中间数据,再转换为通用参数化模型;或通过一种参数化模型脚本语言来生成通用参数化模型,该种脚本语言,可用任意一种现存的解释型脚本语言,也可用高级语言重新定义而成,该种脚本语言用脚本的方式生成参数化模型中间数据,再转换为通用参数化模型;也可用一段实现通用参数化模型的高级语言代码来生成通用参数化模型。
作为进一步的技术方案,所述步骤3中还可提供一个计算一组参数化模型的API,同时计算多个参数化模型并返回,从而减少网络请求的次数,提高前端应用的响应速度。
另一方面,本发明提供一种基于云的通用参数化模型设计系统,主要包括:参数化模型通用数据结构、参数化模型中间数据结构和几何模型通用表达数据结构;
其中,所述的参数化模型中间数据结构用于实现任意CAD软件参数化模型的导入或导出,即双向数据转换;
所述的参数化模型通用数据结构通过参数化模型转换服务由参数化模型中间数据结构转换得到;
所述的几何模型通用表达数据结构通过参数化模型计算服务由参数化模型通用数据结构计算得到。
作为进一步的技术方案,基于所述的参数化模型通用数据结构扩展出适应各个细分行业的参数化设计语言超集,实现细分行业的具体设计需求。
作为进一步的技术方案,所述的几何模型通用表达数据结构作为标准接口数据结构,用于对接第三方服务。
本发明的有益效果为:
1.对任意CAD软件的参数化模型的双向数据转换;
2.充分利用云计算优势,实现大规模、复杂参数化模型的计算、存储、查询和显示;
3.不断接入第三方服务,持续扩展参数化模型的业务支持能力,如高清效果图、二维工程图等;
4.低成本的开发各个细分领域的参数化设计软件,各细分领域的参数化模型可在同一集成环境中进行互操作和深度集成。
附图说明
图1为基于云的参数化模型解析方法及设计系统总体架构示意图。
图2为参数化模型创建和转换流程图。
图3为参数化门模型的计算和前端显示效果图。
图4为参数化模型双向数据转换示意图。
图5为参数化模型数据流转过程流程图。
图6为机械设计领域实施流程图。
图7为建筑设计领域实施流程图。
图8为装修设计领域实施流程图。
图9为家具设计领域实施流程图。
具体实施方式
下面将结合附图对本发明做详细的介绍:
如附图1所示,本发明提供一种基于云的通用参数化模型解析方法,包括:
步骤1:导入/导出任意CAD软件的参数化模型,为了实现任意CAD软件参数化模型的导入/导出,即双向数据转换,我们首先定义了一个通用参数化模型中间数据结构。该数据结构由参数、几何图元、几何约束、几何造型方法以及这些元素之间的依赖关系组成。此数据结构只是定义了数据的格式,具体实施中,可采取Json/xml/二进制等任意一种方式实际承载此数据。数据的传输,可采用文件交换/网络请求等多种方式进行。几乎所有主流CAD软件的参数化模型,都可抽象为这个数据结构。
现实中的参数化模型,往往有嵌套表达的需求。例如,一个参数化的办公桌,除了桌面、桌腿等元素外,可能还包含多个抽屉。每个抽屉本身又是一个参数化模型,包含屉板、滑道等。参数化模型中间数据结构也可支持模型的嵌套表达,支持的方式有多种:既可以将嵌套参数化模型的数据直接嵌入在主参数化模型的数据中,又可以给每一个参数化模型赋一个id,然后通过id引用嵌套参数化模型。
我们可基于某CAD软件开发一个插件,或利用数据读写SDK开发一个应用,将其模型中的参数、几何图元、几何约束、造型方法等元素读出,解析出它们之间的依赖关系,写成符合中间数据结构的数据。此数据可保存为Json/XML/二进制格式文件,存储为本地文件,或通过网络调用API的方式传输给通用参数化模型平台,创建出通用参数化模型。由此,可实现将任意CAD软件的参数化模型转换为通用参数化模型。如附图4所示为将某CAD软件的参数化模型转换为通用参数化模型的结果。
另一方面,得到参数化模型中间数据后,我们也可将它反向转换为成为某CAD软件的参数化模型。同样,利用CAD软件插件或基于数据读写SDK开发的应用,将中间数据结构中定义的各种元素及其依赖关系,一一对应的创建出该CAD软件的数据元素即可。基于此,我们既可实现不同CAD软件的参数化模型互相转换,又可实现同一CAD软件不同版本之间数据的转换。通常CAD软件的数据只可升版本,不可降版本:即老版本的数据可以另存为新版本的数据,反之则不行。利用本发明的方法,只要为每一版本的CAD软件都实现一个转换插件,即可实现参数化模型文件的版本升/降级。
步骤2:从多种渠道创建通用参数化模型,任意参数化模型的计算过程都可看成一个顺序的函数执行过程,一个参数化模型就是一个由参数、函数、表达式构成的有向无环图。几何图元、几何约束、几何造型方法都可看作是一个函数。具体实现一个通用参数化模型,就是要让它里面的参数、函数、表达式能够序列化/反序列化,并且能执行。基于这个要求,我们可以有两种方式实现一个通用参数化模型:
一是可以利用一些解释执行的脚本语言,如python,lua等。这些语言写成的程序片段都是可以被保存、加载、执行的。因此,一个通用参数化模型就是一个程序片段。这些解释型语言往往能调用编译型语言(如C/C++)写的函数,故具体的几何图元、几何约束、几何造型方法,既可以用脚本语言实现,也可以用编译型语言实现。用这种方式,我们需要一个代码生成器,将参数化模型中间数据结构转化为脚本语言的代码。之后这段代码可以被加载、赋予不同的入参执行,从而完成参数化模型的计算。
第二种方法是利用一些编译型语言,如Java/C++等,自主实现参数化模型中间数据结构所定义的参数、表达式、函数及其依赖关系的保存、加载、执行。编译型语言通常都提供了基础数据类型、函数、表达式的定义,以及基础数据类型的序列化/反序列化方法。对于函数和表达式,我们需要写出自己的序列化和反序列化方法。通常,对于函数而言,序列化时只要记录函数名、参数名、对应的参数值即可。反序列化时,可利用查表、反射等方法,找到对应的函数地址,执行即可。对于表达式,可以按设定的语法序列化为一个字符串,然后实现一个表达式解析器即可。基于使用的技术栈不同,有很多现成的组件可用。用这种方法,参数化模型的存储方式,既可以用自定义文本/Json/xml等明文格式,也可以用二进制格式。
不管用上述哪种方式,我们都可将中间数据结构中定义的元素一一一一映射为在参数化模型中的函数,并设置好函数输入参数和返回值之间的关系,就完成了一个参数化模型模板的创建。通用参数化模型平台可以提供一个“创建参数化模板”的API,接受参数化模型中间数据,返回创建好的参数化模板id。
从CAD软件导入参数化模型时,可以在CAD软件的插件或基于数据读写SDK开发的转换应用中,直接生成参数化模型中间数据,并调用通用参数化模型平台的“创建参数化模板”API,直接生成参数化模型。另外,也可开发一个“参数化模型转换服务”,允许用户上传某CAD软件的参数化模型,在服务的后端调用插件或者应用,完成参数化模型的转换。“参数化模型转换服务”还可提供一些API,允许用户设定参数化模板的类别等元数据。
除了用导入的方式生成参数化模型,我们还可在前端开发一个带UI的编辑器,让用户能从零创建参数化模型。此编辑器让用户通过交互的方式,创建点、直线、圆弧、多段线、样条、平面、二次曲面、样条曲面等几何图元,创建平行、垂直、距离、角度、半径等几何约束,最后再使用拉伸、扫掠、旋转、放样、布尔操作等造型方法生产最终的模型。编辑器还可提供给参数化模型赋材质的方法,将材质的铺贴信息和参数化模型的某个组件或面联系起来。编辑器最终可把所有这些交互数据,都转换成参数化模型中间数据,然后调用通用参数化模型平台的“创建参数化模板”API生成参数化模型。
在前端,我们还可通过定义一种“参数化模型脚本语言”的方式,让用户用编程的方式生成参数化模型。这种参数化模型脚本语言可用python,lua,javascript等现有的语言实现,也可用某种高级语言自行实现。前端可提供一个代码编辑器环境,允许用户编写这种语言写的程序,并提供运行,调试等基本功能。一段参数化模型脚本语言程序运行的结果,就是产生一个参数化模型中间数据。前端随后可依据此中间数据创建参数化模型。下面是一段“参数化模型脚本语言”的示例代码。它创建了一个具有两个参数的参数化模型模板:一个可改变宽度和高度的立方体参数化模型。
//create the paramModel
def param h,d
let paramModel=new ParamModel();
let lineSeg1=paramModel.addLineSeg((0,0,0),(1,0,0))
let lineSeg2=paramModel.addLineSeg((0,1,0),(1,1,0))
let distLnLn=paramModel.addDistLnLnConstraint(lineSeg1,lineSeg2,d);
…
let profile=paramModel.addProfile(lineSeg1,lineSeg2,…)
let extrusion=paramModel.addExtrusion(profile,h);
//now execute this paramModel with parameters
let body=paramModel.execute(h:300,d:400)
最后,直接利用实现通用参数化模型的编程语言(如Java/C++),也可构建出通用参数化模型。不过这种方法一般只用作参数化模型平台的开发人员构建单元测试用,这里不做详述。参数化模型创建和转换的数据流程,见附图2所示。
步骤3:在云端计算、存储和查询参数化模型,我们可将所有的参数化模板都存储在云端数据库中,具体的存储可采用OSS,MongoDB等多种方式。另外在关系型数据库中存一张包含参数化模板id,类别,创建时间,参数列表,模板地址等信息的表。需要使用某个参数化模板时,根据id在关系型数据库中查找到模板地址,即可调出参数化模板数据。
参数化模板计算时,可先解析出里面的参数、表达式、函数,再利用拓扑排序算法决定函数的计算顺序,依次执行这些函数。计算几何约束函数和几何造型函数时,我们可以调用几何约束求解器、几何建模引擎这些第三方几何计算函数库,来帮助我们完成工作。参数化模型转换、存储、计算这些服务具有大数据量传输、计算密集型等特点,我们可采取数据压缩、并行计算、计算结果缓存、模型简化、跨进程调用、服务拆分等各种方法,提升服务的性能和稳定性。
通常,可提供“计算单个参数化模型”,“计算一组参数化模型”,“查询参数化模型元数据”等REST API,供前端应用按需调用。也可提供RPC等调用方式,供其他后端服务调用参数化模型平台的功能。
步骤4:在前端显示参数化模型,得到参数化模型的计算结果后,通常我们需要在前端进行显示。参数化模型的计算结果通常是一个几何模型,显示的方法也有多种:
i.可在后端将几何模型转换为前端可直接显示的数据格式,如三角网格、图片、全景图等,再传输到前端。这种方法对前端而言,实施方便,但灵活性和可交互性较低。
ii.可为几何模型定义一个结构化的数据格式,传输到前端后,由前端解析后再显示。例如,我们可定义一个“几何对象”的基类,里面定义包围盒、id等通用接口。在派生类里,再定义各种具体的几何对象的实现方法。一般而言,几何对象可分为实体几何模型、面体几何模型、网格几何模型等多种。对每种几何模型,都使用业界通行的方法来表示。如用CSG、边界表达法等来表达实体几何模型、用顶点坐标数组、顶点序号数组等表示三角网格模型,等等。此外,我们还可根据自身的业务特点,扩展出特殊的几何对象表达方法。例如为了减少模型的传输大小,我们可将造型方法的输入参数记录下来,表达此几何模型是“用这种造型方法造出来的”,前端接收到后,再调用前端的造型函数复现此几何模型。对已经存在于商品库中的一个几何模型,我们可以只传输一个商品id,等等。但无论是哪一种几何对象,它们都要实现包围盒、id等接口,并提供如何绘制自身的方法。前端拿到这种数据后,再根据几何对象的类型,调用相应的三角化算法,将其转变为WebGl/OpenGl等图形库能接受的格式进行显示。因为数据是结构化的,前端还能据此做出模型结构树、多级选择、剖切显示、二次编辑等丰富的交互体验。
如附图3所示为同一个参数化门模板,在取不同的长宽参数计算后,在前端的展示效果。
步骤5:利用第三方云服务,扩展参数化模型平台的业务支持能力,参数化模型的计算结果也可以传输给不同的第三方服务,不断扩展参数化模型的业务支持能力。我们可将参数化模型的计算结果转换为第三方服务所需的格式,然后调用第三方服务的API,或实现第三方服务要求的接口,由第三方服务回调取得它所需的数据。例如,对接渲染服务时,我们会实现一个GetRenderModel接口,里面会把参数化模型转换为渲染所需的包含材质、灯光信息的网格模型存在Redis里面,然后返回网格模型的Redis key,渲染服务后续会利用这些Redis key获取这些模型,组装在整个家居方案的渲染场景里面。
另一方面,也可与第三方服务约定一个通用的几何模型表达方法,如步骤4.ii里定义的结构化几何模型,各个服务都接收这个通用的几何模型格式。用这种方法,可以降低对接多个第三方服务的工作量。
有些第三方服务并不一定需要参数化模型的几何表达,如清单算量服务。这时候,把参数化模型计算结果中的一些统计数量信息传输给第三方即可。
渲染、二维工程图、清单算量等服务,并不专为参数化模型而设计,也可处理网格模型,实体模型等多种数据。将这些服务独立开发,独立部署,有利于实现更解耦的软件架构,有利于快速迭代开发。
如附图5所示为参数化模型数据的转换流程图。这里只表达数据形态的转换流程,并未表达数据在前后端哪一端生成。例如,按4.i的显示流程,网格模型数据在后端生成,然后传输到前端。若按4.ii的显示流程,后端只生成结构化几何模型数据,传输到前端后,由前端生成网格模型数据。
步骤6:支持各细分领域的参数化设计软件,参数化模型平台定义的通用参数化模型,含有参数、几何约束、几何造型方法等要素,可以看作是计算机辅助设计领域的通用设计语言。为了设计出更符合细分领域设计习惯的参数化设计软件,我们往往需要基于它再扩展出适应各个细分行业的参数化设计语言超集。例如对于机械设计领域,我们可以扩展出倒角、螺纹、齿轮等设计元素。对建筑设计领域,我们可以扩展出墙、梁、楼梯踏板等设计元素。对定制家具领域,我们可以扩展出隔板、柜门等设计元素。每一种设计元素,都可由几何图元、几何约束、造型方法等组合而成。
例如,我们要为装修设计行业开发一种参数化吊顶设计工具,就可为吊顶里面的“角线”创建出一个超集对象。创建“角线”超集对象的示例代码如下。它组合使用了通用参数化模型平台提供的“扫掠”造型函数,然后附加上“价格”等业务属性,就形成了一个“角线”超集对象。
function MoldLine CreateMoldLine(int moldBrandGoodsId,Path path){
//根据角线商品id,获取其轮廓线数据
Profile profile=getProfileById(moldBrandGoodsId);
double cost=getCostById(moldBrandGoodsId);
//创建角线几何体
SolidBody body=sweep(profile,path);
//创建角线参数化模型
MoldLine moldLine=new MoldeLine(body,cost);
本发明还提供一种基于云的通用参数化模型设计系统,包括:参数化模型通用数据结构、参数化模型中间数据结构和几何模型通用表达数据结构;
1.实现参数化模型通用数据结构
a)实现抽象参数化脚本语言
抽象参数化脚本语言,可以用任何一种现有的解释型计算机脚本语言来代替,也可以基于某种编译型的高级计算机语言来实现。这些高级语言通常都提供了基础数据类型、函数、表达式的定义,以及基础数据类型的序列化/反序列化方法。对于函数和表达式,我们需要写出自己的序列化和反序列化方法。通常,对于函数而言,序列化时只要记录函数名、参数名、对应的参数值即可。反序列化时,可利用查表、反射等方法,找到对应的函数地址,执行即可。对于表达式,可以按设定的语法序列化为一个字符串,然后实现一个表达式解析器即可。基于使用的技术栈不同,有很多现成的组件可用。
抽象参数化脚本语言还需要处理函数之间的计算顺序。函数之间根据返回值和参数的依赖关系形成了一个有向无环图,我们可以用拓扑排序的方法来决定函数的计算顺序。
b)实现计算机辅助设计领域语言
如前所述,我们需要定义几何图元、几何约束、造型方法这三大类要素。
几何图元相当于在抽象参数化脚本语言的基础数据类型之上,再扩展出新的几何数据类型。我们只需要定义点、向量、直线、圆弧、平面、柱面、样条曲线曲面等常用的几何类型,并定义出它们的序列化/反序列化方法即可。
几何约束是一个函数,我们可以定义出平行、垂直、角度等几何约束对应的函数。函数名就是几何约束的类型,函数的参数可包括所参与的图元,以及约束的具体数值。例如,对于“直线平行”约束,它的函数只有两个参数:所参与的两条直线。对于“平面距离”约束,它的函数有三个参数:所参与的两个平面,以及平面之间的距离。函数的具体实现,可以通过“移动几何图元的位置来满足约束所要求的条件”的方式来进行。也可以将多个几何约束放在一起,用数值法或者符号推导法等几何约束求解算法来计算。几何约束计算函数的伪代码示例如下:
几何造型方法也是一个函数。常用的几何造型方法有拉伸、扫掠、旋转、放样、布尔操作等。我们可以自己实现这些方法,也可以调用业界现有的几何建模引擎包来实现。几何造型通常是计算密集型操作。我们可以考虑将多个互不相干的造型方法并行计算,以提高计算效率。
一个通用参数化模型,就是包括参数、表达式、几何图元、几何约束、几何造型方法等在内的一组互相之间有依赖关系的函数的组合。在考虑模型嵌套的情况下,一个通用参数化模型的数据结构定义可如下伪代码所示:
c)实现细分领域设计语言超集
实现细分领域设计语言超集的方法,有点类似于使用高等语言编程的过程:用语言内置的表达式、操作符、数学函数组合出业务所需的函数。在这里,我们是用几何图元、几何约束、几何造型方法组合出领域设计语言函数。例如,我们可为吊顶设计工具组合出一个“角线”的函数:
function SolidBody CreateMoldLine(int moldBrandGoodsId,Path path){
//根据角线商品id,获取其轮廓线数据
Profile profile=getProfileById(moldBrandGoodsId);
double cost=getCostById(moldBrandGoodsId);
//创建角线几何体
SolidBody body=sweep(profile,path);
//创建角线参数化模型
MoldLine moldLine=new MoldeLine(body,cost);
实现“角线”函数时,用到的sweep函数,就是在步骤b)里面定义的“扫掠”造型函数。我们将几何造型、商品价格等信息组合在一起,形成了一个业务领域的“角线”参数化构件。
2.实现参数化模型中间数据结构
参数化模型中间数据结构,可看作通用参数化模型数据结构的一种更利于序列化的定义方式。这是因为,定义通用参数化模型数据结构时,我们通常会用到一些高级的数学、几何库,他们的包往往比较大,类层次结构复杂,且和具体的语言、运行环境相关。而参数化模型中间数据结构只用作数据传递,不用做几何计算,因此可以定义得比较简单。例如,一个点就记录x,y,z三个坐标即可。一个平面就记录面上一点,一个法向,加平面坐标系的x方向即可。
基于此中间数据结构,我们可以有多种方式来创建参数化模型:
i.利用高级语言或脚本语言写代码来生成中间数据结构,并将其转换为参数化模型。这种方式可用作编写通用参数化模型平台的单元测试,或者供有编程经验的用户来编程创建参数化模型
ii.开发参数化编辑器UI,将用户的交互操作记录下来,保存为参数化模型中间数据结构,在转换为参数化模型
iii.开发CAD软件插件,将它们的参数化模型转换为中间数据结构,再转换为通用参数化模型平台的参数化模型。
3.实现CAD软件参数化模型的双向数据交换
大多数CAD软件都提供了SDK,可进行插件二次开发。我们可为每一种要转换的参数化设计软件开发一个插件,根据SDK读取里面的几何图元、几何约束、造型方法等信息。通常,从这些要素的定义本身,我们就可以推断出它们的计算先后顺序。我们可以把读出来的几何图元、几何约束、造型方法等,及其他们的依赖关系,写成一个参数化模型中间数据结构。根据需要,这个数据结构可以写成二进制流,或纯文本形式。
在插件里,我们也可以根据一个现有的参数化模型中间数据结构文件,读取里面的几何图元、几何约束、造型方法、依赖关系等,将它们写为CAD软件的模型数据。这样,只要一个CAD软件实现了读/写参数化模型中间数据结构的插件,它就能和任一个也实现了这种插件的CAD软件交换参数化模型。
如附图3所示为我们将某CAD软件中的参数化门模型转换为通用参数化模型的效果。转换前和后的模型,拥有同样的可调整参数,可实现同样的形变。
4.实现模型转换、存储、计算服务
参数化模型转换服务主要负责把参数化模型中间数据结构转换为通用参数化模型数据结构。此通用参数化模型数据可保存在MongoDb等数据库里。需要计算参数化模型时,再从数据库加载通用参数化模型,解析出里面的参数、表达式、函数,利用拓扑排序算法决定函数的计算顺序,依次执行这些函数。计算几何约束函数和几何造型函数时,我们可以调用几何约束求解器、几何建模引擎这些第三方几何计算函数库,来帮助我们完成工作。
参数化模型转换、存储、计算这些服务具有大数据量传输、计算密集型等特点,我们可采取数据压缩、并行计算、计算缓存、模型简化等各种方法,提升服务的性能和稳定性。
5.实现几何模型通用表达数据结构,对接渲染、施工图、算量等外部服务
一个通用参数化模型的计算结果,可用几何模型通用表达数据结构来表示。
我们可定义一个“几何对象”的基类,里面定义包围盒、id等通用接口。在派生类里,再定义各种具体的几何对象的实现方法。按CAD软件的一般使用场景,几何对象可分为实体几何模型、面体几何模型、网格几何模型等多种。对每种几何模型,都使用业界通行的方法来表示。如用CSG、边界表达法等来表达实体几何模型、用顶点坐标数组、顶点序号数组等表示三角网格模型,等等。此外,我们还可根据自身的业务特点,扩展出特殊的几何对象表达方法。例如为了减少模型的传输大小,我们可将造型方法函数的输入参数记录下来,表达此几何模型是“用这种造型方法造出来的”、为了表达已经存在于商品库中的一个几何模型,我们可以用一个商品id表达此几何对象,等等。但无论是哪一种几何对象,它们都要实现包围盒、id等接口,并提供如何绘制自身的方法。
几何对象还有实例化、组合、绑定材质等需求,因此我们可设计能方便组合各种几何对象的,并实现实例化,材质绑定的通用几何图元对象。
将此几何模型通用表达数据结构作为和渲染、施工图、算量等服务的标准接口数据结构,可轻松实现和这些服务的对接。因为这些第三方服务往往不需要知道参数化模型是如何参变的,它们只要知道一个参数化模型取某一组参数后的几何外观、层次结构、业务属性(如灯光的亮度)等信息。
实施例1:如附图6所示,在机械设计领域:
可在常用的机械设计软件如Autodesk Inventor,Solidworks,CATIA,CReo,NX上利用其SDK开发一个插件,将该软件的参数化模型转换为参数化模型中间数据。对AutodeskInventor这种提供了可读写Inventor文件的SDK(Inventor Server)的软件,可开发一个独立运行的应用程序,将该软件的参数化模型转换为参数化模型中间数据。由于这些软件一般都提供了“倒角”,“倒圆”,“打孔”等特征操作,我们可将这些特征的参数和几何图元输入都收集起来,总结出一组通用的特征中间数据结构。据此,则可实现比通用参数化模型更高一层次的机械参数化模型的数据交换。
在通用参数化模型平台上同样实现这些特征参数化设计函数,则可将这些参数化模型都导入到通用参数化模型平台。通用参数化模型平台提供一系列的查询及计算函数后,可将这些用参数化机械零件、装配件传输到浏览器/客户端/移动端等前端来显示。
在浏览器/PC软件/移动App中,用户可以从一个参数化模型库中调出零件或装配件参数化模型,并调节它们的参数。这些前端软件就把模型对应的参数化模板id和调节后的参数发送到通用参数化模型平台计算。计算得到的结果回到前端重新显示。
在浏览器/PC软件/移动App中,用户也可以点击“出渲染效果图”,“出二维工程图”,“出BOM表”等按钮,前端软件即将包含参数化模型的设计方案数据发送给通用参数化模型平台,由通用参数化模型平台调用渲染服务、二维工程图服务、算量清单服务等,生成产品效果图、二维工程图、BOM表
在浏览器/PC软件/移动App中,用户也可在一个UI编辑界面,绘制机械零件或装配件的参数化模型,此UI编辑器将设计数据传输到通用参数化模型平台,生成通用参数化模型。由于可依据此通用参数化模型平台开发出建筑、装修、家具设计等设计软件。用户将可以一键把机械零件参数化模型发送到建筑、装修、家具设计方案。如建筑里的暖通设备、装修里的家电、家具设计中的五金件等。
在浏览器/PC软件/移动App中,用户也可在一个代码编辑界面,使用参数化脚本语言编程,来设计参数化机械零件和装配件。他既可以使用拉伸、旋转等通用参数化模型平台定义的设计元素,也可以使用“倒角”,“倒圆”,“打孔”等机械设计领域的参数化设计元素。
实施例2:如附图7所示,在建筑设计领域:
可在常用的建筑设计软件如Revit,Archicad上利用其SDK开发一个插件,将该软件的参数化模型转换为参数化模型中间数据。由于这些软件一般都提供了“墙”,“梁”,“板”,“柱”,“楼梯”等内置构件,我们可将这些构件的参数和几何图元输入都收集起来,总结出一组通用的构件中间数据结构。据此,则可实现比通用参数化模型更高一层次的建筑参数化模型的数据交换。
在通用参数化模型平台上同样实现这些构件参数化设计函数,则可将这些参数化模型都导入到通用参数化模型平台。通用参数化模型平台提供一系列的查询及计算函数后,可将这些用参数化建筑构件传输到浏览器/客户端/移动端等前端来显示。
在浏览器/PC软件/移动App中,用户可以从一个参数化模型库中调出构件参数化模型,并调节它们的参数。这些前端软件就把模型对应的参数化模板id和调节后的参数发送到通用参数化模型平台计算。计算得到的结果回到前端重新显示。
在浏览器/PC软件/移动App中,用户也可以点击“出渲染效果图”,“出二维工程图”,“出BOM表”等按钮,前端软件即将包含参数化模型的设计方案数据发送给通用参数化模型平台,由通用参数化模型平台调用渲染服务、二维工程图服务、算量清单服务等,生成方案效果图、二维施工图、算量清单报表
在浏览器/PC软件/移动App中,用户也可在一个UI编辑界面,绘制建筑设计方案中的参数化模型,此UI编辑器将设计数据传输到通用参数化模型平台,生成通用参数化模型。
在浏览器/PC软件/移动App中,用户也可在一个代码编辑界面,使用参数化脚本语言编程,来设计参数化建筑构件。他既可以使用拉伸、旋转等通用参数化模型平台定义的设计元素,也可以使用“墙”,“梁”,“板”,“柱”,“楼梯”等建筑设计领域的参数化设计元素。
实施例3:如附图8所示,在装修设计领域:
装修设计领域用到的三维模型常常来自3ds Max,Sketchup等传统上非参数设计占主导的三维设计软件,也用到一些来自Revit等参数化设计软件的模型。对于Revit软件模型,可依照建筑设计领域的方法照样实施。对来自3ds Max,Sketchup的模型,一方面,近年来在3ds Max 2018版以后,以及Viz Pro等Sketchup插件里,都提供了不同程度的参数化设计能力,我们可以把这些模型尽可能地转为参数化模型。另一方面,对于3ds Max和Sketchup的非参数化模型,我们可与扩展出多边形网格、边界表达等数据结构,将它们扩展加入参数化模型中间数据结构中,仍然把这些模型传输到通用参数化模型平台。虽然这些模型缺少了“调节参数改变形状”的能力,但它们依然可以享受并行计算、云端存储、前端显示、出高清效果图、施工图、算量清单等能力。
对于装修设计领域而言,用户往往需要设计吊顶、墙板等参数化模型。因此我们可以抽象出“角线”,“踢脚线”,“筒灯”等装修设计元素,扩展到参数化模型中间数据结构中。
在浏览器/PC软件/移动App中,用户可以从一个模型库中调出模型,这些模型可能既有非参数化模型,又有参数化模型。对于参数化模型,用户可调节它们的参数。这些前端软件就把模型对应的参数化模板id和调节后的参数发送到通用参数化模型平台计算。计算得到的结果回到前端重新显示。
在浏览器/PC软件/移动App中,用户也可以点击“出渲染效果图”,“出二维工程图”,“出BOM表”等按钮,前端软件即将包含所有模型的设计方案数据发送给通用参数化模型平台,由通用参数化模型平台调用渲染服务、二维工程图服务、算量清单服务等,生成方案效果图、二维施工图、算量清单报表
在浏览器/PC软件/移动App中,用户也可在一个UI编辑界面,绘制装修设计方案中的参数化模型,如吊顶、墙板、背景墙等,此UI编辑器将设计数据传输到通用参数化模型平台,生成通用参数化模型。
在浏览器/PC软件/移动App中,用户也可在一个代码编辑界面,使用参数化脚本语言编程,来设计家居参数化模型。他既可以使用拉伸、旋转等通用参数化模型平台定义的设计元素,也可以使用“角线”,“踢脚线”,“筒灯”等装修设计领域的参数化设计元素。
实施例4:如附图9所示,在家具设计领域:
可在常用的家具设计软件如TopSolid上,利用其SDK开发一个插件,将该软件的参数化模型转换为参数化模型中间数据。对于一些新一代板式家具(定制)云设计软件,则可以参数化模型中间数据为数据协议,通过云服务的形式直接将这些设计软件的家具数据转换为参数化模型中间数据。这些家具设计软件通常定义了“板件”或“插销”,“滑道”等常用五金件参数化模型,我们可以在参数化模型中间数据结构中也扩展出这些元素。
在通用参数化模型平台上同样实现“板件”,“插销”,“滑道”等参数化设计元素,则可将这些参数化模型都导入到通用参数化模型平台。通用参数化模型平台提供一系列的查询及计算函数后,可将这些用参数化家具模型传输到浏览器/客户端/移动端等前端来显示。
在浏览器/PC软件/移动App中,用户可以从一个参数化模型库中调出家具参数化模型或其子部件如各种五金件的参数化模型,并调节它们的参数。这些前端软件就把模型对应的参数化模板id和调节后的参数发送到通用参数化模型平台计算。计算得到的结果回到前端重新显示。
在浏览器/PC软件/移动App中,用户也可以点击“出渲染效果图”,“出二维工程图”,“出BOM表”等按钮,前端软件即将包含参数化模型的设计方案数据发送给通用参数化模型平台,由通用参数化模型平台调用渲染服务、二维工程图服务、算量清单服务等,生成家具效果图、二维工程图、BOM表
在浏览器/PC软件/移动App中,用户也可在一个UI编辑界面,绘制家具设计方案中的参数化模型,此UI编辑器将设计数据传输到通用参数化模型平台,生成通用参数化模型。
在浏览器/PC软件/移动App中,用户也可在一个代码编辑界面,使用参数化脚本语言编程,来设计家具参数化模型。他既可以使用拉伸、旋转等通用参数化模型平台定义的设计元素,也可以使用“板件”,“插销”,“滑道”等家具设计领域的参数化设计元素。
可以理解的是,对本领域技术人员来说,对本发明的技术方案及发明构思加以等同替换或改变都应属于本发明所附的权利要求的保护范围。
Claims (4)
1.一种基于云的通用参数化模型解析方法,其特征在于,所述方法包括:
步骤1:导入或导出任意CAD软件的参数化模型,先定义一个通用参数化模型中间数据结构,再基于CAD软件开发一个插件,或利用数据读写SDK开发一个应用,将CAD软件参数化模型中的各种元素读出,并解析出它们之间的依赖关系,写成符合中间数据结构的数据,同时创建出通用参数化模型;
步骤2:从多种渠道创建通用参数化模型,包括以下步骤:
a. 利用多种高级语言实现通用参数化模型的创建;
b. 将创建好的通用参数化模型按照类别统一存储在数据库中,对于不同的应用按id加载这些参数化模型,并施加不同的参数,得到不同的计算结果,存储在数据库中待用的参数化模型形成参数化模板;
c. 提供一个创建参数化模板的API,将参数化模型中间数据中记录的元素一一映射为在步骤a中高级语言定义的函数,并设置好函数输入参数和返回值之间的关系,完成通用参数化模板的创建;
步骤3:在云端计算、存储和查询参数化模型,将参数化模板存储在云端数据库中,并为每个参数化模板在数据库中记录一些元信息,提供一个查询参数化模型元信息的API供前端查询,同时提供一个计算参数化模型的API,通过用户提供参数化模板的id和一组参数的取值,计算出该参数化模型在取这组值时的形状和外观;
步骤4:在前端显示参数化模型,通用参数化模型平台会把计算出的模型几何及材质信息传输到前端进行显示,前端将接收到的信息通过进一步调用相应的解析程序进行解析,然后在浏览器或客户端中进行显示;
步骤5:利用第三方云服务,扩展参数化模型平台的业务支持能力,将通用参数化模型平台与第三方服务约定数据接口,从参数化模型的计算结果中抽取相应信息,传输给第三方服务,并将第三方服务计算的结果返回给前端进行显示;
步骤6:支持各细分领域的参数化设计软件,基于参数化模型通用数据结构扩展出适应各个细分行业的参数化设计语言超集,实现各细分行业的具体设计需求。
2.根据权利要求1所述的基于云的通用参数化模型解析方法,其特征在于:所述步骤1中的通用参数化模型中间数据结构由参数、几何图元、几何约束、几何造型方法以及这些元素之间的依赖关系组成。
3.根据权利要求1所述的基于云的通用参数化模型解析方法,其特征在于:所述步骤2中还可通过一个带UI的编辑器,将用户的交互过程记录为参数化模型中间数据,再转换为通用参数化模型;或通过一种参数化模型脚本语言来生成通用参数化模型,该种脚本语言,可用任意一种现存的解释型脚本语言,也可用高级语言重新定义而成,该种脚本语言用脚本的方式生成参数化模型中间数据,再转换为通用参数化模型;也可用一段实现通用参数化模型的高级语言代码来生成通用参数化模型。
4.根据权利要求1所述的基于云的通用参数化模型解析方法,其特征在于:所述步骤3中还可提供一个计算一组参数化模型的API,同时计算多个参数化模型并返回,从而减少网络请求的次数,提高前端应用的响应速度。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010141840.5A CN111324965B (zh) | 2020-03-04 | 2020-03-04 | 一种基于云的通用参数化模型解析方法及设计系统 |
PCT/CN2020/088236 WO2021174660A1 (zh) | 2020-03-04 | 2020-04-30 | 一种基于云的通用参数化模型解析方法及设计系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010141840.5A CN111324965B (zh) | 2020-03-04 | 2020-03-04 | 一种基于云的通用参数化模型解析方法及设计系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111324965A CN111324965A (zh) | 2020-06-23 |
CN111324965B true CN111324965B (zh) | 2023-04-21 |
Family
ID=71165552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010141840.5A Active CN111324965B (zh) | 2020-03-04 | 2020-03-04 | 一种基于云的通用参数化模型解析方法及设计系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111324965B (zh) |
WO (1) | WO2021174660A1 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651903A (zh) * | 2020-07-07 | 2020-09-11 | 中国科学院近代物理研究所 | 一种粒子加速器工程优化方法和系统 |
CN112381229B (zh) * | 2020-11-03 | 2024-01-02 | 中国直升机设计研究所 | 一种基于三维数模的知识集成系统及方法 |
CN112327719B (zh) * | 2020-11-19 | 2022-10-25 | 山东高速信息集团有限公司 | 一种智慧园区中台统一应用接口库的实现方法及系统 |
CN112465953A (zh) * | 2020-12-02 | 2021-03-09 | 杭州群核信息技术有限公司 | 一种基于模板的快速参数化建模方法 |
CN112449022B (zh) * | 2020-12-08 | 2023-07-18 | 和利时卡优倍科技有限公司 | 云边协同方法、装置、系统及电子设备 |
CN112560156A (zh) * | 2020-12-24 | 2021-03-26 | 杭州群核信息技术有限公司 | 一种基于几何约束的家具动态设计展示方法及系统 |
CN112818538B (zh) * | 2021-01-29 | 2023-07-07 | 北京仿真中心 | 一种想定参数层次设计方法 |
CN113076574B (zh) * | 2021-04-20 | 2023-05-02 | 西安交通大学 | 一种轻量化跨平台的在线参数化建模方法 |
CN113434934A (zh) * | 2021-06-28 | 2021-09-24 | 杭州群核信息技术有限公司 | 家居布局摆放方法、装置和存储介质 |
CN113450458B (zh) * | 2021-06-28 | 2023-03-14 | 杭州群核信息技术有限公司 | 家居参数化模型的数据转化系统、方法、装置和存储介质 |
CN113535159A (zh) * | 2021-07-20 | 2021-10-22 | 中船第九设计研究院工程有限公司 | 一种基于ruby语言的工厂设施双向参数化建模方法 |
CN113572846A (zh) * | 2021-07-27 | 2021-10-29 | 广州引力波信息科技有限公司 | 一种跨平台数据交换插件系统 |
CN113627010A (zh) * | 2021-08-05 | 2021-11-09 | 浙江吉利控股集团有限公司 | 一种自适应实例化方法及自适应实例化系统 |
CN113935087B (zh) * | 2021-09-22 | 2023-04-11 | 深圳市和一广告装饰工程有限公司 | 一种装修方案分析方法及系统 |
CN113902877B (zh) * | 2021-09-30 | 2024-05-17 | 中北大学 | 一种基于revit族图元模型互导的方法 |
CN114491922A (zh) * | 2021-12-09 | 2022-05-13 | 上海望友信息科技有限公司 | 元器件建模及参数化的方法、系统、电子设备及存储介质 |
CN114926595A (zh) * | 2022-07-21 | 2022-08-19 | 深圳小库科技有限公司 | 一种多格式三维模型的生成方法、装置、设备及存储介质 |
CN115311429B (zh) * | 2022-08-09 | 2023-05-02 | 北京飞渡科技股份有限公司 | 一种基于Revit的数据导出方法及系统 |
CN115062362B (zh) * | 2022-08-11 | 2022-11-08 | 杭州片段网络科技有限公司 | 基于FreeCAD内核的纸盒刀版开发方法、装置及相关设备 |
CN115291842B (zh) * | 2022-08-24 | 2024-01-30 | 金航数码科技有限责任公司 | 一种cad结构件轻量化转换与在线浏览方法及系统 |
CN117725767A (zh) * | 2024-02-18 | 2024-03-19 | 粤港澳大湾区数字经济研究院(福田) | 参数化构件模型自动生成方法、插件、系统、终端及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377796A (zh) * | 2008-09-23 | 2009-03-04 | 武汉大学 | 一种基于过程恢复的异构cad系统间参数化特征模型的数据交换方法 |
CN102129718A (zh) * | 2011-03-16 | 2011-07-20 | 西安电子科技大学 | 一种无失真的异构cad模型转换方法 |
CN103092594A (zh) * | 2011-11-07 | 2013-05-08 | 金蝶软件(中国)有限公司 | 模型转换方法及装置 |
CN104392037A (zh) * | 2014-11-18 | 2015-03-04 | 衢州学院 | 一种城市场景参数化建模系统 |
CN105975723A (zh) * | 2016-05-27 | 2016-09-28 | 北京航空航天大学 | 一种用于航天器研制过程中异构cad模型的数据交换方法 |
CN106406906A (zh) * | 2016-10-10 | 2017-02-15 | 云南大学 | 一种基于特定领域建模的模型驱动开发方法 |
CN107992651A (zh) * | 2017-11-20 | 2018-05-04 | 中铁第四勘察设计院集团有限公司 | 一种参数化二维成图方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2940611A1 (en) * | 2014-05-01 | 2015-11-04 | Fujitsu Limited | Flexible CAD format |
CN105426527A (zh) * | 2015-12-16 | 2016-03-23 | 北京吉威时代软件股份有限公司 | 一种信息化测绘生产装备集成过程中统一数据建模的方法 |
US10515479B2 (en) * | 2016-11-01 | 2019-12-24 | Purdue Research Foundation | Collaborative 3D modeling system |
CN107424212B (zh) * | 2017-07-31 | 2020-09-18 | 东风设计研究院有限公司 | Dgrvt文件格式及基于该文件格式的数据集成系统和方法 |
CN110598259A (zh) * | 2019-08-15 | 2019-12-20 | 杭州群核信息技术有限公司 | 一种基于参数化的2d铺贴设计方法、电子设备及存储介质 |
CN110705078B (zh) * | 2019-09-25 | 2023-04-21 | 哈尔滨工程大学 | 一种核动力装置的仿真模型开发系统及分析方法 |
-
2020
- 2020-03-04 CN CN202010141840.5A patent/CN111324965B/zh active Active
- 2020-04-30 WO PCT/CN2020/088236 patent/WO2021174660A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377796A (zh) * | 2008-09-23 | 2009-03-04 | 武汉大学 | 一种基于过程恢复的异构cad系统间参数化特征模型的数据交换方法 |
CN102129718A (zh) * | 2011-03-16 | 2011-07-20 | 西安电子科技大学 | 一种无失真的异构cad模型转换方法 |
CN103092594A (zh) * | 2011-11-07 | 2013-05-08 | 金蝶软件(中国)有限公司 | 模型转换方法及装置 |
CN104392037A (zh) * | 2014-11-18 | 2015-03-04 | 衢州学院 | 一种城市场景参数化建模系统 |
CN105975723A (zh) * | 2016-05-27 | 2016-09-28 | 北京航空航天大学 | 一种用于航天器研制过程中异构cad模型的数据交换方法 |
CN106406906A (zh) * | 2016-10-10 | 2017-02-15 | 云南大学 | 一种基于特定领域建模的模型驱动开发方法 |
CN107992651A (zh) * | 2017-11-20 | 2018-05-04 | 中铁第四勘察设计院集团有限公司 | 一种参数化二维成图方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111324965A (zh) | 2020-06-23 |
WO2021174660A1 (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111324965B (zh) | 一种基于云的通用参数化模型解析方法及设计系统 | |
Fu et al. | IFC model viewer to support nD model application | |
US5712964A (en) | Computer graphics data display device and method based on a high-speed generation of a changed image | |
EP1804187B1 (en) | Process for displaying objects in a PLM database and apparatus implementing this process | |
Qin et al. | A framework of web-based conceptual design | |
Li et al. | Multivisual animation character 3D model design method based on VR technology | |
US10628997B2 (en) | Method for generating three-dimensional models from constrained sketches and an instruction set | |
KR20180112582A (ko) | 웹 기반의 3d 콘텐츠 전시 시스템 | |
Xu et al. | Developing an extended IFC data schema and mesh generation framework for finite element modeling | |
Walczak et al. | Inference-based creation of synthetic 3D content with ontologies | |
Simões et al. | Photorealism and Kinematics for Web-based CAD data | |
CN115168657A (zh) | 数据存储方法、设备及存储介质 | |
Quammen | Scientific Data Analysis and Visualization with Python, VTK, and ParaView. | |
Zhang et al. | Immersive product configurator for conceptual design | |
Schmitt | Classes of design-classes of tools | |
Mao et al. | A Framework for generalization of 3D city models based on CityGML and X3D | |
Zhang | Research on 3D Variable Design of Corrugated Box Based on SolidWorks | |
CN117708962B (zh) | 一种基于Rhinoceros二三维一体化设计的方法及系统 | |
Ren et al. | Modeling of irregular structures for the construction simulation in virtual reality environments based on web | |
Anderson et al. | The activepolygon polygonal algorithm for haptic force generation | |
Penev | Computer Graphics And Geometric Modelling–A Hybrid Approach | |
Havemann et al. | Towards a new shape description paradigm using the Generative Modeling Language | |
Flotyński et al. | Ontology-Based Creation of Extended Reality | |
Cheng et al. | Multi-resolution Modeling for Virtual Design | |
Романюк et al. | INTERACTIVE SHAPE MODELING USING FUNCTIONALLY DEFINED OBJECTS |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |