一种CAD图纸下室内装饰装修专业工种对象叠加编辑及报价联动系统及其方法与流程

摘要: 本发明涉及计算机辅助设计、工程算量、装饰装修报价和web图形渲染,具体涉及一种cad图纸下室内装饰装修专业工种对象叠加编辑及报价联动系统及其方法。背景技术:1、...
一种CAD图纸下室内装饰装修专业工种对象叠加编辑及报价联动系统及其方法与流程

本发明涉及计算机辅助设计、工程算量、装饰装修报价和web图形渲染,具体涉及一种cad图纸下室内装饰装修专业工种对象叠加编辑及报价联动系统及其方法。

背景技术:

1、室内装饰装修工程通常需要根据cad图纸进行空间识别、专业工种布置、工程量统计、报价编制和客户沟通。现有方案中,cad图纸往往仅作为阅读和参照文件,报价人员需要人工统计房间、设备、点位、管线、面积、回路等信息,再录入报价表格或报价模板;上述工作方式容易造成图纸布置、工程量来源、报价项与客户展示页面的数据不一致,后续复核溯源难度大。

2、部分现有系统能够解析cad图纸或基于bim模型生成工程量和报价,但其重点通常在于cad构件识别、bim构件统计或报价模板匹配。对于室内装饰装修场景,空调、照明、水电、地暖、弱电、消防、安防、暖通、新风、隔墙、吊顶、地面、墙面等专业工种对象并不等同于普通cad线段或图层;这些对象需要在cad图纸上持续编辑,保存业务参数和连接关系,并在对象变化后实时或准实时联动工程量和报价项。

3、在web cad工作台中,cad底图通常由cad渲染器、canvas或webgl渲染,而专业工种对象层可能由svg、html或其他前端图形层渲染。由于cad底图和对象层的渲染周期、坐标转换和刷新机制不同,用户在缩放、平移、切换楼层、切换设计方案或重新加载图纸时,专业工种对象层容易与cad底图出现错位、抖动、延迟或点击命中偏移,影响对象编辑和工程量计算的准确性。在web cad工作台的实际实现中,cad底图的渲染器内部维护相机矩阵,提供基于三维投影的坐标变换接口;前端叠加层在调用这些接口时,必须确保在正确的相机状态下调用,否则返回坐标与实际像素位置不符。当cad渲染器尚未完成初始化或相机参数无效时,三维投影接口可能返回非有限数(infinity或nan),前端若缺少可靠的降级处理机制,会造成对象显示位置错误,甚至对象直接消失。

4、此外,现有工程量计算与报价生成通常在前后端分别执行,叠加层数据、交互手柄和报价项来自不同计算路径,容易因时序不一致导致显示数据与报价数据不对应。客户展示报价通常由报价表或静态网页生成,难以保证展示报价中的cad模块截图、专业报价分组、客户自理项、展示项交互状态和原始cad对象层来自同一数据源。当报价人员修改cad对象或专业报价项后,客户展示页面可能仍停留在旧状态,导致客户看到的报价与实际图纸布置不一致。

5、随着硬件加速图形渲染技术,例如浏览器图形库、硬件加速图形api的发展,部分web cad工作台开始将专业工种对象层或cad底图交由硬件加速渲染管线(gpu渲染管线)渲染以获得更流畅的交互。但硬件加速渲染管线依赖图形上下文,例如webgl/webgpu上下文的稳定可用性:图形上下文初始化失败、编译着色器失败、上下文丢失或图形驱动异常时,渲染管线可能无法输出任何画面。若专业工种对象层完全依赖硬件加速渲染管线,一旦该管线不可用,专业对象将无法显示、无法编辑,工程量和报价联动也随之中断。因此,在引入硬件加速渲染管线的同时,仍需要解决硬件加速渲染管线与备用渲染管线之间的共存、切换与相机状态同步问题,并保证展示模块截图采集在渲染管线失败时仍可完成报价导出。

6、综上所述,亟需一种能够在cad图纸上建立可编辑的专业工种对象层,并通过统一的相机投影同步机制、服务端渲染清单统一架构、双渲染管线容错切换以及全链路数据快照技术,将cad视图、对象编辑、工程量计算、报价生成及客户展示导出实现深度联动的系统及方法

技术实现思路

1、(一)解决的技术问题

2、本发明的目的在于提供一种cad图纸下室内装饰装修专业工种对象叠加编辑及报价联动系统及其方法,用于解决现有技术中cad图纸、专业工种对象、工程量、报价项和客户展示报价相互割裂,以及web cad底图与前端专业对象层在视图变化过程中容易错位的技术问题。

3、(二)技术方案

4、为实现上述目的,本发明提供如下技术方案:一种cad图纸下室内装饰装修专业工种对象叠加编辑及报价联动系统,包括cad文件导入模块、cad工作台模块、专业工种对象层模块、相机投影同步模块、对象编辑模块、工程量计算模块、报价生成模块以及快照与展示导出模块;

5、所述cad文件导入模块,用于加载或转换cad图纸文件,获得cad基础渲染视图、图纸坐标系、cad图元、空间区域或楼层数据;

6、所述cad工作台模块,用于建立cad工作台视图,并维护所述cad工作台视图的相机状态,所述相机状态至少包括相机位置、缩放值、视口尺寸、投影边界以及图纸单位与屏幕像素之间的比例;

7、所述专业工种对象层模块,用于在所述cad基础渲染视图之上建立专业工种对象层,所述专业工种对象层包括至少一种专业工种对象;所述专业工种对象包括对象类型、图纸坐标、几何参数、业务参数、连接关系、报价属性和交互手柄集合;所述图纸坐标以坐标空间标识字段标注坐标单位,所述交互手柄集合包含所述专业工种对象在图纸坐标系中的至少一个可选择或可拖拽锚点;

8、所述相机投影同步模块,接收来自cad工作台模块的相机状态,用于根据所述相机状态采集基础视图快照和当前视图快照,基于所述基础视图快照和当前视图快照计算所述专业工种对象层的同步变换;所述同步变换采用两阶段策略:第一阶段,在视图连续变化期间,先将所述同步变换作为临时变换施加于专业工种对象层,使对象层视觉上即时跟随cad底图;第二阶段,在满足刷新条件时,根据当前相机状态将每个专业工种对象从图纸坐标系重新投影到屏幕坐标系并清除所述临时变换;所述重新投影优先采用相机矩阵变换,当相机矩阵变换不可用或返回非有限值时退回基于图纸单位像素比的线性缩放变换;

9、所述对象编辑模块,用于响应用户在cad工作台视图中的操作,对所述专业工种对象进行新增、选择、拖动、连接、绑定、删除或参数修改,并更新所述专业工种对象在图纸坐标系中的位置、几何参数或连接关系;

10、所述工程量计算模块,用于根据所述专业工种对象的图纸坐标、几何参数、业务参数、连接关系、回路关系、点位属性或空间分区生成工程量,并与报价生成模块共同将计算结果封装为渲染清单,所述渲染清单包含专业工种叠加层数据、文字标注、交互手柄集合、报价项集合、坐标空间标识和设计警告列表;

11、所述报价生成模块,用于将所述工程量映射为报价项、报价分组或专业报价汇总;所述报价项包含cad算量溯源字段,所述cad算量溯源字段记录生成该报价项的专业工种对象标识、工程量类型和计算参数;

12、所述快照与展示导出模块,用于将cad图纸源、cad区域数据、专业工种对象层、报价项、报价分组、展示模块截图、客户展示配置和导出状态保存为同一版本的项目快照,并基于所述项目快照生成网页报价、客户展示报价、表格报价或分享链接;所述表格报价随每个报价项附带cad算量溯源字段,使报价项可关联回项目快照中的对应专业工种对象。

13、优选的,所述基础视图快照和当前视图快照均包括相机中心坐标、画布宽度、画布高度、x方向图纸单位像素比和y方向图纸单位像素比;所述相机投影同步模块根据基础视图快照与当前视图快照计算得到x方向缩放因子、y方向缩放因子、x方向平移量以及y方向平移量,并生成二维矩阵变换或者等效的缩放平移变换。

14、优选的,所述系统还包括帧调度模块,所述帧调度模块用于按帧调度所述专业工种对象层的同步变换施加与重投影任务;

15、所述帧调度模块维护输入类、相机类和后台类的分层优先级,在同一帧内先执行输入类任务再执行相机类任务,后台类任务在帧预算耗尽时让位至后续帧;同一键的重复任务在同一帧内合并为一次执行,以限定同一任务的最小执行间隔;

16、所述相机投影同步模块在检测到用户停止平移或缩放操作后的预设时间窗口内执行一次重投影任务,将专业工种对象从图纸坐标系重新投影到屏幕坐标系并清除临时同步变换。

17、优选的,所述工程量计算模块和报价生成模块以服务端渲染清单的形式输出计算结果;

18、所述服务端渲染清单包含专业工种叠加层数据、文字标注、交互手柄集合、报价项集合、坐标空间标识、设计警告列表和正规化视图参数;所述服务端渲染清单由服务端基于接收到的专业工种对象层数据一次性生成并返回,使前端的叠加层渲染、交互手柄定位和报价项展示均来源于同一次计算;

19、所述对象编辑模块根据所述交互手柄集合在cad工作台视图中生成对应的可点击或可拖拽锚点,在用户点击或拖拽所述锚点时将屏幕坐标转换为图纸坐标,更新对应专业工种对象的图纸坐标或几何参数,并触发工程量计算模块重新计算相关工程量和报价生成模块更新对应报价项;所述锚点的屏幕位置由当前相机状态根据交互手柄的图纸坐标实时重投影得到。

20、优选的,所述项目快照包括项目基本信息、cad图纸文件源、cad资产信息、cad区域数据、cad图元或线段数据、楼层信息、设计方案信息、手动墙体或门窗信息、专业工种对象层、报价项、报价分组、客户自理配置、专业报价选择状态、展示模块选择状态、展示标题、分享图像、账号标识或项目标识中的至少一种。

21、优选的,所述项目快照中的cad图纸源包含cad文件内容哈希值和文件清单标识符;所述cad文件内容哈希值由cad图纸文件的原始内容或转换后内容计算得到,用于在加载或恢复项目快照时验证当前可用cad文件与快照记录的版本一致;当cad文件内容哈希不一致时,系统提示用户重新上传或确认图纸版本,以防止专业工种对象层与错误版本的cad底图叠加显示。

22、优选的,所述专业工种对象层包括第一渲染管线与备用渲染管线:

23、所述第一渲染管线为硬件加速图形渲染管线,所述备用渲染管线为矢量图形叠加渲染管线;

24、所述系统在所述第一渲染管线可用时将所述专业工种对象层交由所述第一渲染管线渲染,在所述第一渲染管线初始化失败、运行异常、上下文丢失或编译失败时切换至所述备用渲染管线,使所述专业工种对象层在渲染管线切换期间保持可见;所述切换由与所述第一渲染管线对应的相机状态桥接单元触发,所述相机状态桥接单元在检测到所述第一渲染管线的失败信号时,恢复所述备用渲染管线对专业工种对象层的所有权并保持所述专业工种对象层与cad基础渲染视图的对齐;

25、所述相机状态桥接单元从cad基础渲染视图的查看器读取当前相机状态,并通过写入接口将所述当前相机状态写入所述第一渲染管线,当所述第一渲染管线不可用时保持所述备用渲染管线与cad基础渲染视图之间的相机投影同步;所述快照与展示导出模块在采集所述展示模块截图时优先从所述第一渲染管线采集当前帧图像,当所述第一渲染管线不可用或当前帧图像不可用时,回退从所述备用渲染管线对应的渲染源采集图像;所述展示模块截图的采集不因所述第一渲染管线的失败而中断报价导出。

26、一种cad图纸下室内装饰装修专业工种对象叠加编辑及报价联动方法,包括如下步骤:

27、加载或转换cad图纸文件,获得cad基础渲染视图和图纸坐标系;建立cad工作台视图并维护包含相机位置、缩放值、视口尺寸、投影边界、图纸单位像素比例的相机状态;

28、在cad基础渲染视图之上建立专业工种对象层,专业工种对象保存图纸坐标、几何参数、业务参数、连接关系、报价属性以及交互手柄集合;

29、响应用户的对象编辑操作,更新专业工种对象的图纸坐标、几何参数或者连接关系;

30、采集基础视图快照、当前视图快照,计算同步变换;视图连续变化阶段施加临时变换实现对象层视觉跟随cad底图;满足刷新条件时执行重投影,重投影优先调用相机矩阵变换,相机矩阵不可用时执行图纸单位像素比线性缩放变换,并清除临时变换;

31、依据专业工种对象属性生成工程量,封装生成渲染清单;将工程量映射生成携带cad算量溯源字段的报价项、报价分组以及专业报价汇总;

32、将cad图纸源、cad区域数据、专业工种对象层、报价项、展示模块截图、客户展示配置保存为同一版本项目快照,基于项目快照输出网页报价、客户展示报价、表格报价或者分享链接;

33、其中,客户展示报价页面具备展示项交互重算机制,响应用户对报价项启用、关闭操作重新计算页面展示总价,重算仅作用页面展示,不修改原始项目快照。

34、一种电子设备,包括处理器、存储器以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器执行时实现一种cad图纸下室内装饰装修专业工种对象叠加编辑及报价联动方法。

35、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现一种cad图纸下室内装饰装修专业工种对象叠加编辑及报价联动方法。

36、(三)有益效果

37、与现有技术相比,本发明提供了一种cad图纸下室内装饰装修专业工种对象叠加编辑及报价联动系统及其方法,具备以下有益效果:

38、1、本发明将cad图纸、专业工种对象、工程量、报价项以及客户展示报价统一构建为同一套数据闭环,减少人工转录操作,降低漏项、错项的发生概率。

39、2、本发明采用基础视图快照、当前视图快照、临时同步变换结合重投影刷新的技术手段,有效解决web cad底图与svg/html形式的前端专业工种对象层在缩放、平移或者重绘过程中出现的错位问题;通过临时同步变换实现视图变化过程中的即时跟随,再经重投影操作消除累计变换误差,保障对象层与cad底图的对齐精度。

40、3、专业工种对象以图纸坐标保存并携带业务语义,支持图纸重新加载、楼层切换、设计方案切换、数据导出以及恢复编辑,工程数据可复用。

41、4、在对专业工种对象完成编辑操作后,可以联动触发工程量以及报价项自动更新,依托cad算量溯源字段提升报价来源的可追溯性,便于复核校验。

42、5、可适配住宅装修、办公空间、商业门店、酒店、公寓、餐饮空间、展厅等各类室内装饰装修工程项目,能够覆盖空调、照明、水电、地暖、弱电、消防、安防、暖通、新风、隔墙、吊顶、地面、墙面多种专业工种对象的编辑与算量报价需求。

43、6、客户展示报价页面基于同一版本项目快照生成,展示模块截图、专业报价分组、客户自理项、展示项交互重算逻辑以及分享链接均与原始cad对象层、报价项数据保持同源一致,避免展示报价与图纸实际布置出现数据不一致。

44、7、本发明设置硬件加速的第一渲染管线与备用渲染管线,当硬件加速渲染管线发生异常时可以平滑切换至备用渲染管线,保障专业工种对象层持续可见,并且截图采集、报价导出流程不会因渲染管线故障发生中断,提升系统运行鲁棒性。