CN112598783B - 三维几何数据计算方法及三维几何数据计算网络架构 - Google Patents
三维几何数据计算方法及三维几何数据计算网络架构 Download PDFInfo
- Publication number
- CN112598783B CN112598783B CN202011500902.3A CN202011500902A CN112598783B CN 112598783 B CN112598783 B CN 112598783B CN 202011500902 A CN202011500902 A CN 202011500902A CN 112598783 B CN112598783 B CN 112598783B
- Authority
- CN
- China
- Prior art keywords
- data
- calculation
- dimensional geometric
- geometric data
- preprocessing
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 138
- 238000000034 method Methods 0.000 claims abstract description 70
- 238000007781 pre-processing Methods 0.000 claims abstract description 55
- 230000000977 initiatory effect Effects 0.000 claims abstract description 26
- 230000008569 process Effects 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种三维几何数据计算方法及网络架构,属于计算机远程计算与三维几何形体计算及应用领域。所述方法包括:S1)前端接收用户上传的几何数据文件,对所述几何数据文件进行预处理,获得预处理参数,并根据所述预处理参数向服务端发起三维几何数据计算请求;S2)所述服务端接收所述发起三维几何数据请求的预处理参数,启动预设程序进行所述预处理参数的几何运算,生成包含运算结果的文件,并将所述文件发送到发起计算请求的前端;其中,所述几何运算在所述Rhino原生软件上执行;S3)所述前端对所述包含运算结果的文件进行解析,获得完整的运算结果,完成三维几何数据计算。解决了现有通过Rhino3dmIO server工具包发起三维数据计算请求耗时很长的问题。
Description
技术领域
本发明涉及计算机远程计算与三维几何形体计算及应用领域,具体地涉及一种三维几何数据计算方法及一种三维几何数据计算网络架构。
背景技术
在工业生产和建筑行业,经常会用到几何数据处理软件进行工作辅助,但是目前市场上缺乏较为优质的三维几何形体计算库,现有的几何运算库计算效率都偏低,尤其是在城市级别的WebGIS(网络地理信息系统)平台中,大部分的平台只停留在三维可视化,较少涉及到复杂三维几何数据计算的内容。Rhino应用程序是一款强大的三维建模软件,由于Nurbs(一种建模方式)建模方式可以用数学表达式直接构建,使得Nurbs建模能够比传统的Mesh网格建模方式更好地控制物体表面的曲线度,从而能够基于精确的计算,创建出准确度更高、更为生动的造型。但是在现有WebGIS平台中,开发者主要通过Rhino提供的Rhino3dmIO server工具包进行三维几何形体的计算,因为所有的函数调用指令都需要传输到安装于本地的RhinoCompute服务器,其传输效率过于低,使得计算时间特别长,导致前端显示不够流畅,用户体验极差。为了解决通过Rhino3dmIO server工具包发起计算请求耗时很长的问题,需要一种新的基于Web的三维几何数据计算的方法。
发明内容
本发明实施方式的目的是提供一种三维几何数据计算的方法,以至少解决上述的Rhino3dmIO server工具包发起计算请求耗时很长的问题。
为了实现上述目的,本发明第一方面提供一种三维几何数据计算的方法,所述方法基于Web和Rhino实现,所述方法包括:S1)前端接收用户上传的几何数据文件,对所述几何数据文件进行预处理,生成预处理参数,并根据所述预处理参数向服务端发起三维几何数据计算请求,所述三维几何数据计算请求包含所述预处理参数;S2)所述服务端根据所述计算请求启动预设程序对所述预处理参数进行三维几何数据计算,生成运算结果文件,并将所述运算结果文件发送到发起所述计算请求的前端;其中,所述三维几何数据计算在所述Rhino原生软件上执行;S3)所述前端对所述运算结果文件进行解析,获得三维几何数据计算结果。
可选的,步骤S1)中,所述预处理参数为geom参数,所述预处理参数的生成过程包括:响应于用户资料上传完成信号,获取用户上传的资料,并将所述资料存储在变量roadData中;判断所述roadData变量的坐标系是否为投影坐标系,若否,通过proj4库将所述roadData变量转换为投影坐标系;将转换为投影坐标系的roadData变量通过JSON.stringify方法,转换成字符串格式的convertedRoad变量;利用axios库的post方法将所述convertedRoad变量设置为geom参数。
可选的,步骤S1)中,所述根据预处理参数向服务端发起三维几何数据计算请求,包括:根据POST方式和所述geom参数向所述服务端发起三维几何数据计算请求;确定所述三维几何数据计算请求传输完成,生成用于等待所述服务端返回结果的Promise对象。
可选的,步骤S2)中,所述三维几何数据计算在所述Rhino原生软件上执行,其中,所述Rhino原生软件启动规则包括:调用AppDomain功能;利用所述AppDomain功能调用Rhino原生软件上的RhinoCommon计算库。
可选的,步骤S2)中,所述启动预设程序对所述预处理参数进行三维几何数据计算,生成运算结果文件,包括:启动所述预设程序,读取所述预处理参数;根据用户上传数据的数据格式对应的操作平台进行对所述预处理参数的解析,将所述预处理参数转换为RhinoCommon常用的几何模型格式;通过RhinoCommon对获得的RhinoCommon常用的几何模型格式数据进行几何计算,获得计算结果;根据用户上传数据的数据格式对应的格式转换工具将所述计算结果转换为用户上传数据的格式;将所述运算结果文件发送到发起所述三维几何数据计算请求的前端。
可选的,步骤S3)中,所述前端对所述运算结果文件进行解析,获得三维几何数据计算结果;回收转换为用户上传数据的数据格式的计算数据,并在数据传输完成后处理Promise对象的状态转变;解析所述计算数据,并将所述计算数据存储在变量newData中;根据用户对于计算结果的使用需求处理所述newData变量,获得用户需求数据。
本发明第二方面提供一种三维几何数据计算的网络架构,所述网络架构包括:前端,用于引导用户上传几何数据文件,对所述几何数据文件进行预处理,生成预处理参数,并根据所述预处理参数向服务端发起三维几何数据计算请求;服务端,根据所述计算请求启动预设程序对所述预处理参数进行三维几何数据计算,生成运算结果文件,并将所述运算结果文件发送到发起所述计算请求的前端;所述前端还用于对所述运算结果文件进行解析,获得三维几何数据计算结果。
可选的,所述服务端的操作系统为Windows系统,且所述服务端安装有Rhino软件。
可选的,所述服务端利用RhinoCommon的计算库调用Rhino原生软件进行所述预处理参数的三维几何数据计算。
另一方面,本发明提供一种计算机可读储存介质,该计算机可读存储介质上储存有指令,其在计算机上运行时使得计算机执行上述的三维几何数据计算的方法。
通过上述技术方案,前端进行用户需要计算的二维几何数据的预处理和上传,通过POST方法进行网络服务请求,服务端利用RhinoCommon的计算库直接调用Rhino原生软件进行计算,取代原有需要发送请求的过程。获得计算结果后将包含计算结果的数据文件传回到前端,供用户使用。因为取代了原有Rhino3dmIO发送请求至计算引擎的过程,使得整个计算过程耗时很短,解决了通过Rhino3dmIO server工具包发起计算请求耗时很长的问题。
本发明实施方式的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施方式的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施方式,但并不构成对本发明实施方式的限制。在附图中:
图1是本发明一种实施方式提供的三维几何数据计算方法的步骤流程图;
图2是本发明一种实施方式提供的前端发起计算请求的步骤流程图;
图3是本发明一种实施方式提供的服务端进行三维几何数据计算的步骤流程图;
图4是本发明一种实施方式提供的可执行文件执行逻辑示意图;
图5是本发明一种实施方式提供的三维几何数据计算网络架构的结构示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
图5是本发明一种实施方式提供的三维几何数据计算网络架构的结构示意图。如图5所示,本发明实施方式提供一种三维几何数据计算网络架构,所述网络架构包括:前端,用于引导用户上传几何数据文件,对所述几何数据文件进行预处理,获得预处理参数,并根据所述预处理参数向服务端发起计算请求;服务端,用于接收所述发起请求的预处理参数,启动预设程序进行所述预处理参数的几何运算,生成包含运算结果的文件,并将所述文件发送到发起计算请求的前端;所述前端还用于对所述包含运算结果的文件进行解析,获得完整的运算结果。
图1是本发明一种实施方式提供的三维几何数据计算方法的方法流程图。如图1所示,本发明实施方式提供一种三维几何数据计算的方法,所述方法基于Web和Rhino实现。现有几何运算库的计算效率都偏低,导致涉及复杂三维运算的平台很少,Rhino应用程序是一款强大的三维建模软件,包含了所有的Nurbs(Non-Uniform Rational B-Spline非均匀有理B样条曲线)建模功能。由于Nurbs建模方式可以用数学表达式直接构建,使得Nurbs建模能够比传统的Mesh(网格建模)方式更好地控制物体表面的曲线度,从而能够基于精确的计算,创建出准确度更高、更为生动的造型,目前Rhino是工业界、建筑界中最流行的软件之一。为了实现利用Rhino三维几何形体计算的功能进行软件共享,Rhino提供了Rhino3dmIOserver工具包,开发者可以直接调用Rhino3dmIO进行三维几何形体的计算。但由于所有的函数调用指令都需要传输到安装于本地的RhinoCompute服务器,其传输效率过于低。本发明提出三维几何数据计算的方法将利用RhinoCommon的计算库直接调用Rhino原生软件进行计算,取代Rhino3dmIO发送请求的过程,极大缩短计算时间。为了便于方案解释,以下将由数据格式为GeoJSON的二维集合数据进行方案解释,但本方法处理文件不限于GeoJSON格式,具体的,如图2,所述方法包括:
步骤S10:前端接收用户上传的几何数据文件,对所述几何数据文件进行预处理,获得预处理参数,并根据所述预处理参数向服务端发起计算请求。
步骤S101:引导用户上传二维几何数据的GeoJSON文件。
具体的,在用户有三维几何数据计算需求时,需要通过用户侧拥有的前端进行请求发起,为了提高用户使用便捷性,优选的,用户在前端界面在界面引导下进行需要三维几何数据计算的文件上传,即触发onload(加载)事件将存储于本地的二维几何数据GeoJSON文件上传到前端。
步骤S102:对用户上传的GeoJSON文件中的几何数据进行预处理。
具体的,当前端识别到onload事件被触发后,将用户上传的二维几何数据文件保存在变量roadData(导入数据)中,然后进行roadData变量中包含的二维几何数据的坐标系类型判断,坐标系类型包含投影坐标系和地理坐标系,其中,地理坐标系为球面坐标,而投影坐标系为平面坐标。对于Rhino软件来说,进行二维几何数据的三维几何形体计算主要在投影坐标系规则下进行,所以为了便于后期服务端进行二维几何数据的三维几何形体计算,优选的,需要保证上传到服务端的数据的坐标系为投影坐标系,若用户上传的数据本身坐标系便为投影坐标系,则上传数据可以直接作为计算数据,若用户上传的数据本身坐标系不为投影坐标系,则需要将用户的上传的数据的坐标系转换为投影坐标系。优选的,在前端预设proj4(一种用于坐标系转换的Javascript库)库,当判断roadData变量中包含的二维几何数据的坐标系类型不为投影坐标系时,借助proj4库的函数,将用户上传的数据的坐标系转换为投影坐标系。
步骤S103:将roadData变量转换为convertedRoad变量。
具体的,前端需要通过Web传输用户发起请求的数据到服务端进行三维几何数据计算,若直接传输包含用户上传的二维几何数据文件保存的roadData变量,将会因为服务端无法根据roadData变量直接进行三维几何数据计算而出现错误,为了成功进行几何数据传输,优选地将roadData变量转换为convertedRoad(转换数据)变量。前端经过roadData变量中包含的二维几何数据的坐标系类型判断以及坐标系转换后,将坐标系为投影坐标系的roadData变量通过JSON.stringify(一种转换函数)方法转换为字符串格式的convertedRoad变量。
步骤S104:通过POST方法发起三维几何数据计算请求。
具体的,因为在前端向服务端发起三维几何数据计算请求时,不仅需要发送请求消息,还需要传送需要计算的二维几何数据,为了便于前端向服务端同时发送请求消息和二维几何数据附件进行三维几何数据计算请求,优选的,选用POST(一种用来向目的服务器发出请求,并附有请求实体的方法)方法进行前端的服务请求。则首先通过预设axios库(基于Promise的HTTP库)将步骤S103中获取的convertedRoad变量设置为geom(几何)参数,作为发起运算请求的数据实体,并通过POST方法向服务端发起请求。完成请求传输后,POST方法会返回一个Promise对象,用于等候服务端返回结果。
步骤S20:服务端接收发起请求的预处理参数,启动预设程序进行预处理参数的几何运算,生成包含运算结果的文件,并将文件发送到发起计算请求的前端;具体的,如图3,包括以下步骤:
步骤S201:创建适用于解析用户上传数据格式的中间件。
具体的,在POST方法中,前端是通过geom参数向服务端发起请求,若直接用geom参数进行数据提取,则提取出来的仅是空的请求报文,无法提取发起请求的数据实体。为了便于后期Rhino软件直接调用用户上传数据的详细参数,也为了对接Rhino软件计算时需要的参数类型,优选的,创建能够解析用户上传数据格式的中间件,以将前端发起请求的geom参数包含的用户上传数据实体解析为详细参数。就本实施例而言,基于body-parser(一类处理request的body的中间件函数)库的json方法,创建能够解析json格式数据的中间件。当用户通过网页访问发起计算请求时,基于express.js库(一个Node.js的Web应用框架)的use方法,调用上述创建的中间件,将JSON格式的请求体解析到请求对象请求的body(数据实体)属性中。
步骤S202:保存前端发起请求的geom参数的属性。
具体的,根据步骤S201中基于express.js库的post方法设置接收到前端发起的POST请求,将JSON格式的请求体解析到请求对象请求的body(数据实体)属性,然后执行预设回调函数将前端上传的geom参数属性进行保存。
步骤S203:将geom参数保存到服务端。
具体的,保存geom参数属性信息后,执行基于fs库(file system library,读写本地文件)的writeFile方法,将解析后的geom参数的数据保存到服务端的文件当中,便于后期服务发起计算执行时直接调用数据信息。
步骤S204:进行三维几何数据计算,并获得计算结果。
具体的,由于现有Rhino3dmIO发送请求至计算引擎的速度过于缓慢,因此,本发明采用的方法是利用RhinoCommon的计算库(RhinoCommon.dll),直接调用Rhino原生软件进行计算,取代原有需要发送请求的过程,该计算速度可从原来的46s,降为1s。基于child_process(子进程新建)库的exec方法,调用Rhino原生软件,提取步骤S205中存储的解析后的geom参数的数据,进行对应的几何运算,获得运算结果。然后将运算结果通过Json转换工具转换为GeoJSON数据文件,并根据步骤S102中的proj4库将计算出来的GeoJSON数据文件进行对应的投影坐标系加入,便于用户获取结果参数信息。然后通过sendFile方法,将上述获得的结果数据发送回前端。
优选的,服务器的操作系统安装为Windows系统,并正在系统中安装Rhino软件,获得Rhino软件的使用资格。
在本发明实施例中,为了计算步骤的快速开启,将执行提取Rhino原生软件的RhinoCommon.dll编写为可执行文件,即扩展名为exe的文件,该可执行文件将读取步骤S205中存储的解析后的geom参数的数据,进行对应的几何运算,获得运算结果。优选的,为了便于上述可执行文件正确运行,将服务端的操作系统安装为Windows系统,在服务端获取到完成的二维几何数据参数后,自动执行上述可执行文件,进行参数提取和计算,并获得计算结果。为使得在exe进程中能顺利调用RhinoCommon,在执行代码中,需要调用AppDomain()功能,利用其可动态加载的特性,使得可执行文件可以顺利加载RhinoCommon.dll。AppDomain()是.NET环境中为应用程序执行的独立环境,每一个AppDomain可以单独运行、停止。因此,RhinoCommon.dll在AppDomain()运行成功后,可以为exe执行文件提供必须要的API方法。exe文件执行过程中,通过.NET反射机制,在服务器中读取原数据文件。通过NewtonJson.NET解析,并转译为RhinoCommon常用的几何模型格式后,可利用RhinoCommon进行复杂几何计算。
在一种可能的实施方式中,如图4,将数据运算逻辑编译为一个exe可执行文件,植入到服务端中,该可执行文件的运行逻辑为:在执行三维几何数据计算过程中,首先基于NewtonJson.NET,将GeoJSON格式文件转换为RhinoCommon可读取的几何数据格式;然后利用.NET环境中的动态加载机制AppDomain(),将RhinoCommon.dll的加载语句放在AppDomain()中,为其提供一个可独立运行、停止的环境。调用Rhino原生软件中RhinoCommon.dll中的几何运算方法,进行几何计算,并输出结果数据。再次利用NewtonJson.NET,将结果数据转换成GeoJSON数据文件,加入与前端对应的投影坐标系。输出数据文件至服务端;通过send方法,把数据文件传送回前端;
步骤S30:前端对所述包含运算结果的文件进行解析,获得完整的运算结果,完成三维几何数据计算。
具体的,服务端传回前端的计算结果包括表示完成状态的信号。若完成状态信号显示成功,则回传数据包括计算结果数据,且步骤S104中生成的Promise对象的状态将被改变为操作成功的状态,并同时执行then()方法,跳过用于错误捕获的catch()方法。此时,then()方法的唯一的输入参数为一个以返回结果为输入参数的函数,该函数在Promise对象的状态转变为操作成功后将被执行,即对服务端传送过来的几何计算结果所进行的任何处理,都应该在then()方法的函数参数内完成。在then()的函数参数中,将返回的计算结果保存在新的变量newData里。然后前端根据用户对于数据的需求,在newData变量的基础上进行加工和处理,提取其中的计算结果数据,然后转换为用户需要的参数信息,供用户使用。
若完成状态信号显示失败,则then()方法被跳过,catch()方法将被执行以进行错误捕获。
本发明实施方式还提供一种计算机可读储存介质,该计算机可读存储介质上储存有指令,其在计算机上运行时使得计算机执行上述的三维几何数据计算的方法。
本领域技术人员可以理解实现上述实施方式的方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上结合附图详细描述了本发明的可选实施方式,但是,本发明实施方式并不限于上述实施方式中的具体细节,在本发明实施方式的技术构思范围内,可以对本发明实施方式的技术方案进行多种简单变型,这些简单变型均属于本发明实施方式的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施方式对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施方式的思想,其同样应当视为本发明实施方式所公开的内容。
Claims (6)
1.一种三维几何数据计算方法,所述方法基于Web和Rhino实现,其特征在于,所述方法包括:
S1)前端接收用户上传的几何数据文件,对所述几何数据文件进行预处理,生成预处理参数,并根据所述预处理参数向服务端发起三维几何数据计算请求,所述三维几何数据计算请求包含所述预处理参数;其中,
所述预处理参数为geom参数,所述预处理参数的生成过程包括:
响应于用户资料上传完成信号,获取用户上传的资料,并将所述资料存储在变量roadData中;
判断所述roadData变量的坐标系是否为投影坐标系,若否,通过proj4库将所述roadData变量转换为投影坐标系;
将转换为投影坐标系的roadData变量通过JSON.stringify方法,转换成字符串格式的convertedRoad变量;
利用axios库的post方法将所述convertedRoad变量设置为geom参数;
所述根据预处理参数向服务端发起三维几何数据计算请求,包括:
根据POST方式和所述geom参数向所述服务端发起三维几何数据计算请求;
通过所述POST方式发起三维几何数据计算请求的同时,返回一个Promise对象,用于等待所述服务端回传计算结果数据;
S2)所述服务端根据所述三维几何数据计算请求启动预设程序对所述预处理参数进行三维几何数据计算,生成运算结果文件,并将所述运算结果文件发送到发起所述三维几何数据计算请求的前端;其中,所述三维几何数据计算在所述Rhino原生软件上执行;其中,
所述三维几何数据计算在所述Rhino原生软件上执行,其中,所述Rhino原生软件启动规则包括:
调用AppDomain功能;
利用所述AppDomain功能调用Rhino原生软件上的RhinoCommon计算库;
所述启动预设程序对所述预处理参数进行三维几何数据计算,生成运算结果文件,包括:
启动所述预设程序,读取所述预处理参数;
根据用户上传数据的数据格式对应的操作平台进行对所述预处理参数的解析,将所述预处理参数转换为RhinoCommon常用的几何模型格式;
通过RhinoCommon对获得的RhinoCommon常用的几何模型格式数据进行几何计算,获得计算结果;
根据用户上传数据的数据格式对应的格式转换工具将所述计算结果转换为用户上传数据的数据格式;
将所述运算结果文件发送到发起所述三维几何数据计算请求的前端;
S3)所述前端对所述运算结果文件进行解析,获得三维几何数据计算结果。
2.根据权利要求1所述的三维几何数据计算方法,其特征在于,步骤S3)中,所述前端对所述运算结果文件进行解析,获得三维几何数据计算结果,包括:
回收转换为用户上传数据的数据格式的计算数据,并在数据传输完成后处理Promise对象的状态变化;
解析所述计算数据,并将所述计算数据存储在newData变量中;
根据用户对于计算结果的使用需求处理所述newData变量,获得用户需求数据。
3.一种三维几何数据计算系统,其特征在于,所述系统包括:
前端,用于引导用户上传几何数据文件,对所述几何数据文件进行预处理,生成预处理参数,并根据所述预处理参数向服务端发起三维几何数据计算请求;其中,
所述预处理参数为geom参数,所述预处理参数的生成过程包括:
响应于用户资料上传完成信号,获取用户上传的资料,并将所述资料存储在变量roadData中;
判断所述roadData变量的坐标系是否为投影坐标系,若否,通过proj4库将所述roadData变量转换为投影坐标系;
将转换为投影坐标系的roadData变量通过JSON.stringify方法,转换成字符串格式的convertedRoad变量;
利用axios库的post方法将所述convertedRoad变量设置为geom参数;
所述根据预处理参数向服务端发起三维几何数据计算请求,包括:
根据POST方式和所述geom参数向所述服务端发起三维几何数据计算请求;
通过所述POST方式发起三维几何数据计算请求的同时,返回一个Promise对象,用于等待所述服务端回传计算结果数据;
服务端,根据所述计算请求启动预设程序对所述预处理参数进行三维几何数据计算,生成运算结果文件,并将所述运算结果文件发送到发起所述计算请求的前端;其中,
所述三维几何数据计算在所述Rhino原生软件上执行,其中,所述Rhino原生软件启动规则包括:
调用AppDomain功能;
利用所述AppDomain功能调用Rhino原生软件上的RhinoCommon计算库;
所述启动预设程序对所述预处理参数进行三维几何数据计算,生成运算结果文件,包括:
启动所述预设程序,读取所述预处理参数;
根据用户上传数据的数据格式对应的操作平台进行对所述预处理参数的解析,将所述预处理参数转换为RhinoCommon常用的几何模型格式;
通过RhinoCommon对获得的RhinoCommon常用的几何模型格式数据进行几何计算,获得计算结果;
根据用户上传数据的数据格式对应的格式转换工具将所述计算结果转换为用户上传数据的数据格式;
将所述运算结果文件发送到发起所述三维几何数据计算请求的前端;
所述前端还用于对所述运算结果文件进行解析,获得三维几何数据计算结果。
4.根据权利要求3所述的几何数据计算系统,其特征在于,所述服务端的操作系统为Windows系统,且所述服务端安装有Rhino原生软件。
5.根据权利要求3所述的几何数据计算系统,其特征在于,所述服务端利用RhinoCommon 计算库调用Rhino原生软件进行所述预处理参数的三维几何数据计算。
6.一种计算机可读储存介质,该计算机可读存储介质上储存有指令,其在计算机上运行时使得计算机执行权利要求1或2中任一项权利要求所述的三维几何数据计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011500902.3A CN112598783B (zh) | 2020-12-17 | 2020-12-17 | 三维几何数据计算方法及三维几何数据计算网络架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011500902.3A CN112598783B (zh) | 2020-12-17 | 2020-12-17 | 三维几何数据计算方法及三维几何数据计算网络架构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112598783A CN112598783A (zh) | 2021-04-02 |
CN112598783B true CN112598783B (zh) | 2023-08-25 |
Family
ID=75199171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011500902.3A Active CN112598783B (zh) | 2020-12-17 | 2020-12-17 | 三维几何数据计算方法及三维几何数据计算网络架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112598783B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101432729A (zh) * | 2004-08-21 | 2009-05-13 | 科-爱克思普莱斯公司 | 用于扩展式企业商务的方法、系统以及设备 |
CN104750913A (zh) * | 2015-03-05 | 2015-07-01 | 中国电建集团昆明勘测设计研究院有限公司 | 一种实现dwg三维模型自动转换为x三维模型的方法 |
CN106407266A (zh) * | 2016-08-25 | 2017-02-15 | 中广核工程有限公司 | 一种三维计算结果格式化提取方法和装置 |
CN110689615A (zh) * | 2019-10-18 | 2020-01-14 | 中交 (天津) 生态环保设计研究院有限公司 | 一种参数化三维地质建模方法、系统及信息数据处理终端 |
CN110717214A (zh) * | 2019-10-18 | 2020-01-21 | 中交 (天津) 生态环保设计研究院有限公司 | 一种基于图形化编程的疏浚工程建构筑物参数化建模方法 |
CN111311663A (zh) * | 2020-02-17 | 2020-06-19 | 清华大学深圳国际研究生院 | 一种实时大场景三维语义建模的方法 |
CN111507503A (zh) * | 2020-02-28 | 2020-08-07 | 中国城市规划设计研究院 | 供水管网参数确定方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120762A1 (en) * | 2001-08-28 | 2003-06-26 | Clickmarks, Inc. | System, method and computer program product for pattern replay using state recognition |
-
2020
- 2020-12-17 CN CN202011500902.3A patent/CN112598783B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101432729A (zh) * | 2004-08-21 | 2009-05-13 | 科-爱克思普莱斯公司 | 用于扩展式企业商务的方法、系统以及设备 |
CN104750913A (zh) * | 2015-03-05 | 2015-07-01 | 中国电建集团昆明勘测设计研究院有限公司 | 一种实现dwg三维模型自动转换为x三维模型的方法 |
CN106407266A (zh) * | 2016-08-25 | 2017-02-15 | 中广核工程有限公司 | 一种三维计算结果格式化提取方法和装置 |
CN110689615A (zh) * | 2019-10-18 | 2020-01-14 | 中交 (天津) 生态环保设计研究院有限公司 | 一种参数化三维地质建模方法、系统及信息数据处理终端 |
CN110717214A (zh) * | 2019-10-18 | 2020-01-21 | 中交 (天津) 生态环保设计研究院有限公司 | 一种基于图形化编程的疏浚工程建构筑物参数化建模方法 |
CN111311663A (zh) * | 2020-02-17 | 2020-06-19 | 清华大学深圳国际研究生院 | 一种实时大场景三维语义建模的方法 |
CN111507503A (zh) * | 2020-02-28 | 2020-08-07 | 中国城市规划设计研究院 | 供水管网参数确定方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于WebGL和AJAX的WEB3D应用研究――以在线3D协作交互式设计为例;殷周平;吴勇;;安庆师范学院学报(自然科学版)(第01期);第58-61页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112598783A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111209005B (zh) | 程序文件的编译方法、装置和计算机可读存储介质 | |
CN111259037B (zh) | 一种基于规则配置的数据查询方法、装置、存储介质及终端 | |
CN110389755B (zh) | 代码处理方法及装置、电子设备和计算机可读存储介质 | |
CN111581920A (zh) | 文档转换方法、装置、设备及计算机存储介质 | |
US10545732B1 (en) | Model configuration using partial model data | |
WO2023130933A1 (zh) | 模型处理方法、代码获得方法、装置以及电子设备 | |
CN111309751A (zh) | 大数据处理方法及装置 | |
CN110888672B (zh) | 一种基于元数据架构的表达式引擎实现方法及系统 | |
CN115437808A (zh) | 联邦学习平台之间的互通方法、装置、设备、介质及产品 | |
CN113806429A (zh) | 基于大数据流处理框架的画布式日志分析方法 | |
CN114741085A (zh) | 数据处理方法、装置、设备及存储介质 | |
US20140033167A1 (en) | Method and system for generating a manifestation of a model in actionscript | |
CN111796727A (zh) | 一种界面数据处理方法及装置 | |
CN112598783B (zh) | 三维几何数据计算方法及三维几何数据计算网络架构 | |
CN110941655A (zh) | 一种数据格式转换方法及装置 | |
CN116483481A (zh) | 一种固件库调用方法、装置、设备及存储介质 | |
CN115756433A (zh) | 代码平台的迁移方法、装置、电子设备及可读存储介质 | |
CN115935909A (zh) | 一种文件生成方法、装置及电子设备 | |
CN112764763B (zh) | 一种代码转换方法、系统、设备及计算机可读存储介质 | |
CN113485690A (zh) | 一种api接口可视化实体转换方法 | |
CN110465093B (zh) | 一种基于Unity的包体冗余资源分析方法及其装置 | |
CN111782196A (zh) | 基于mvp架构的开发方法及装置 | |
CN113238817A (zh) | 一种接口透传方法、装置、电子设备和存储介质 | |
CN112860239A (zh) | 一种数据类型转换方法、装置、电子设备及存储介质 | |
CN117455416B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |