一种基于B/S架构的云CAD平台的二次开发方法技术

技术编号:33649334 阅读:15 留言:0更新日期:2022-06-02 20:26
本发明专利技术提供了一种基于B/S架构的云CAD平台的二次开发方法,该方法通过在云CAD工作空间设定的UI条件下启动集成开发环境,进行程序编辑;响应于用户在集成开发环境的编辑操作,启动同步运行的代码校验模块和场景空间;进一步检测到用户的编辑完成信号后,由所属代码校验模块对集成开发环境中的代码进行语法校验;进而将通过校验的代码发送至服务器端,由服务器端开展代码解析和执行,并实时返回执行结果,即时将执行结果表征的模型在场景空间中面向用户展示。采用该方案克服了现有开发技术实用性不足的缺陷,无需额外搭建开发环境,灵活组织API,且便捷高效地实现程序的调试和执行,执行安全性高,具备多用户使用时互不影响的特性。性。性。

【技术实现步骤摘要】
一种基于B/S架构的云CAD平台的二次开发方法


[0001]本专利技术涉及系统的二次开发及优化
,尤其涉及一种基于B/S架构的云CAD 平台的二次开发方法。

技术介绍

[0002]CAD(ComputerAidedDesign)作为计算机辅助设计工具,利用计算机及其图形设备 帮助设计人员进行多类型的设计工作,广泛应用于不同领域的工程和产品设计中。CAD 工具的二次开发属于计算机辅助设计领域内颇受重视的研究方向之一。
[0003]随着CAD平台的不断发展,其二次开发技术也需要适时更新,传统的CAD系统多为 单机版建模工具软件,其二次开发的工作方式为:以LIB/DLL库的形式开放适量的几何建 模API接口,用户可以基于其开放的接口,实现自己的功能,再编译为对应的功能库或可 执行程序。然而,近年来云CAD系统技术得到快速发展,其实现原理具有B/S架构的特点, 通常交互和显示服务在浏览器或移动终端中进行,而相关的几何运算在服务器端进行。该 架构特点下,传统的二次开发方式无法适配云CAD系统的运行需求,主要体现为:
[0004]1).用户在浏览器端,无法直接操作、修改编辑服务端程序;
[0005]2).服务器端程序需要一直运行,供很多用户同时使用,不适于有编译导致的中断重 启过程;
[0006]3).无法保障二次开发过程中平台系统的安全性,用户程序需要在独立环境中执行, 且无法避免某一用户的程序对其他用户的使用或者系统内部运作产生影响;
[0007]4).难以充分发挥云平台功能便利的优势,无法实现程序在不同用户间的便捷分享。
[0008]公开于本专利技术
技术介绍
部分的信息仅仅旨在加深对本专利技术的一般
技术介绍
的理解,而 不应当被视为承认或以任何形式暗示该信息构成己为本领域技术人员所公知的现有技术。

技术实现思路

[0009]为解决上述问题,本专利技术提供了一种基于B/S架构的云CAD平台的二次开发方法, 在一个实施例中,所述方法包括:
[0010]步骤S1、启动本地浏览器的CAD工作空间的集成开发环境;
[0011]步骤S2、响应于用户在集成开发环境的编程操作,启动具备同步运行需求的代码校 验模块和场景空间,所述场景空间包括开放建模接口调用模块,通过该模块用户能够根据 功能需要,选择接口通过编程组合搭配使用,以实现预期的建模任务;
[0012]步骤S3、检测到用户的编辑完成信号后,由所述代码校验模块对集成开发环境中的 代码进行语法校验;
[0013]步骤S4、将通过校验的代码发送至服务器端,由服务器端开展代码解析和执行,并 实时返回执行结果;
[0014]步骤S5,将执行结果返回到本地CAD工作空间,将表征所述执行结果的模型在场 景空间中展示。
[0015]进一步的,所述方法还包括:
[0016]场景空间中的几何元素支持实时拾取,拾取到的元素信息通过CAD工作空间的输出 控制台展示,以作为用户编辑程序时引用指定几何元素的依据。
[0017]进一步的,所述方法还包括:
[0018]通过设置的UI操作控件启动程序自管理模式,所述程序自管理模式支持将用户编辑 的程序进行保存和发布操作,其中,被保存或发布的程序与原始程序存在修改同步性。
[0019]进一步的,在所述步骤S3中,由所述代码校验模块对集成开发环境中的代码进行语 法校验的过程,包括:
[0020]在客户端或浏览器端对用户编辑的程序代码进行语法检查,支持对多种语言类型的 代码语法错误进行提示,提示信息直接显示在集成开发环境中;
[0021]存在语法错误的程序代码无法被传达至服务器端执行后续执行操作。
[0022]进一步的,在所述步骤S4中,将通过校验的代码发送至服务器端后,包括:
[0023]调用服务器端的解析功能模块将代码解析转换为Abstract Syntax Tree中间结构,进 而经过翻译层转换为建模引擎执行支持的python脚本数据。
[0024]进一步的,在所述步骤S4中,服务器调用执行驱动服务实现程序代码的执行,包括: 提供选择入口供用户选择通过覆盖模式或追加模式对程序代码进行执行处理;
[0025]若当前任务需要多次测试、调整程序参数或逻辑,通过覆盖模式执行,执行结果会 覆盖当前场景空间的模型;
[0026]若基于程序继续修改编辑设定的图像场景,通过追加模式根据当前三维场景中的模 型继续做针对性的特征编辑。
[0027]进一步的,在所述覆盖模式下,支持以某个模型文档为基础将已经建好的模型导入 到当前文档中的操作,将建模与编程有机结合,后续编程直接在该基础模型对应的代码上 继续进行。
[0028]进一步的,将用户编辑的程序进行保存操作的过程中,包括:将需要保存的目标程 序结合当前用户的账户信息关联存储到相应的平台服务器数据库中,该程序可通过集成开 发环境中的访问入口进行访问,访问界面采用程序列表的形式,一个程序可以用在多个建 模文档中。
[0029]进一步的,将用户编辑的程序进行发布操作的过程中,包括:
[0030]用户选择发布某程序后,提交该程序到CAD平台,由平台检查程序符合基本可执行 要求后,将程序状态置为已发布;
[0031]针对已发布状态的程序,设置具备共享权限CAD平台的命令界面,所述命令界面用 于用户直接使用该程序,并通过集成开发环境中的发布程序访问入口调出发布程序列表;
[0032]被调用的已发布程序,其输入参数通过命令界面面向共享对象展现,执行后结果更 新到三维场景中。
[0033]与最接近的现有技术相比,本专利技术还具有如下有益效果:
[0034]本专利技术提供的一种于B/S架构的云CAD平台的二次开发方法,该方法通过在云CAD 工作空间设定的UI条件下启动集成开发环境,进行程序编辑;能够在浏览器中快速开始 开
发,无需费力搭建开发环境;
[0035]响应于用户在集成开发环境的编辑操作,启动同步运行的代码校验模块和场景空间; 进一步检测到用户的编辑完成信号后,由所属代码校验模块对集成开发环境中的代码进行 语法校验;语言范畴是系统定义可控的,支持语法检查、语义检查、运行时检查,有效控 制程序代码编辑失误影响正常执行的概率;
[0036]进而将通过校验的代码发送至服务器端,由服务器端开展代码解析和执行,并实时返 回执行结果,即时将执行结果表征的模型在场景空间中面向用户展示。能够适用于当前云 CAD的运行模式,执行无需编译打包,无需重启服务器,在系统指定环境中执行,没有 暴露系统内部如何工作,执行安全性高,集成开发环境与三维场景并列,程序执行结果直 接反馈到三维场景中,用户能够即时观察三维场景中的执行结果和输出控制台的反馈信息。
[0037]本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显 而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要 求书以及附图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于B/S架构的云CAD平台的二次开发方法,其特征在于,所述方法包括:步骤S1、启动本地浏览器的CAD工作空间的集成开发环境;步骤S2、响应于用户在集成开发环境的编程操作,启动具备同步运行需求的代码校验模块和场景空间,所述场景空间包括开放建模接口调用模块,通过该模块用户能够根据功能需要,选择接口通过编程组合搭配使用,以实现预期的建模任务;步骤S3、检测到用户的编辑完成信号后,由所述代码校验模块对集成开发环境中的代码进行语法校验;步骤S4、将通过校验的代码发送至服务器端,由服务器端开展代码解析和执行,并实时返回执行结果;步骤S5,将执行结果返回到本地CAD工作空间,将表征所述执行结果的模型在场景空间中展示。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:场景空间中的几何元素支持实时拾取,拾取到的元素信息通过CAD工作空间的输出控制台展示,以作为用户编辑程序时引用指定几何元素的依据。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:通过设置的UI操作控件启动程序自管理模式,所述程序自管理模式支持将用户编辑的程序进行保存和发布操作,其中,被保存或发布的程序与原始程序存在修改同步性。4.根据权利要求1所述的方法,其特征在于,在所述步骤S3中,由所述代码校验模块对集成开发环境中的代码进行语法校验的过程,包括:在客户端或浏览器端对用户编辑的程序代码进行语法检查,支持对多种语言类型的代码语法错误进行提示,提示信息直接显示在集成开发环境中;存在语法错误的程序代码无法被传达至服务器端执行后续执行操作。5.根据权利要求1所述的方法,其特征在于,在所述步骤S4中,将通过校验的代码发送至服务器端后,包括:调用...

【专利技术属性】
技术研发人员:梅敬成武伟苏新新许晓伟
申请(专利权)人:山东华云三维科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1