




个人介绍
一、 EasyBIM三维引擎 项目负责人 2022.7-2023.10
• 产品:参与三维引擎需求端的市场调研、解决方案设计及产品原型的设计;
• 研发:负责三维引擎的研发,基于D3D技术,定义摄像机,创建顶点、像素、几何图形和计算着色器,构建三维视图空间;自定义三维实体及构成实体的组件,实现在三维空间中的自由融合放样;提供三维计算和交互的数学工厂库供其他开发者调用;
• 难点:
1、对D3D技术的理解与应用,D3D是基于C++进行的编写,本项目实现了与C#的结合;
2、结合原本的EasyBIM二维视图引擎,同步三维视图,采用了基于模板方法模式的基类,实体类在构建二维形体时同时构建三维形体,实现了开闭原则;
3、在三维实体数量过大时,三角面片数量大于存储上限的问题;
4、过去的BIM软件图形引擎完成实体渲染很依赖于计算机性能,大多存在卡顿问题,基于D3D技术,可以动态实时计算顶点位置,并不存在任何卡顿现象
• 效果:
1、以毫秒级完成上亿个三角面片的顶点、图形和管线渲染,加载不存在任何卡顿问题;
2、支持任何材质、纹理的贴图形式,并支持各个角度的光影和投影渲染;
3、基于三维实体,可以自动剖切出实体的截面,设计师无需手动绘制剖面图;
二、 EasyBIM电气模块 项目负责人 2023.11-2024.12
• 产品:参与建筑电气现阶段的痛点研究及产品原型的设计;
• 研发:负责电气基础功能框架的构建,包括基于单例模式的随项目保存机制和随软件保存机制、基于观察者模式的订阅-通知机制、插件开发的MVVM模式等;负责部分电气基础功能模块的开发,包括族实例的布置模块、导线与电缆模块、CAD导入模块、智能化施工图设计模块、配电网络模型及其计算模块等;负责搭建基于腾讯云的Mysql数据库,用于实现用户登录注册、设备产品端的的数据存储和更新;负责搭建基于用户客户端的Sqlite数据库,用于保存用户设计的项目的各构件、视图、图层等数据;
• 难点:
1、采用基于模板方法模式的基类,并提供大量虚方法,包括移动、旋转、复制、拉伸、镜像、选中等,供其他开发者扩展,并在主程序中集中调用;
2、观察者模式机制的建立,基于每个实例的属性和行为建立发布者和订阅者,并支持继承基类的子类,用于自动化和智能化需求的实现;
3、建立基于MVVM模式的插件开发方式,并自动加载属性名称完成View-ViewModel之间的数据绑定,完成前后端的解耦,增加功能插件的可扩展性和可维护性;
4、基于腾讯云Mysql数据库,设计数据库表,用于存储用户数据和电气产品(断路器、电缆等)数据;基于表现层(UI)-业务逻辑层(BLL)-数据访问层(DAL)三层架构实现对数据库的即时增删改查,并建立缓存层防止数据库雪崩或击穿;
5、基于Sqlite,完成用户客户端本地数据库,采用.dat文件的方式读写数据流,并开发随项目保存和随软件保存的不同读写机制,将用户设计的图纸、模型的所有数据存储至本地;同时采取了防止崩溃强制存储的机制,在软件崩溃时将项目及时备份;
• 效果:
1、解决了传统建筑电气设计中,族的二维图例大小和三维实体大小不一致时的连线问题;
2、在二维平面中布置电线/电缆,三维自动生成并自动寻路,实现“画二维送三维”;
3、集成了多个效率工具,如电气空间下的逐点照度计算、基于梁自动布置探测器、车道自动布灯、智能连接功能等,能够提升设计师的设计效率、减少冗余工作;
三、 EasyBIM智能建造模块 技术负责人 2025.1-至今
• 产品:整合现阶段基于Revit的插件,如红瓦、管综易等市场上常见的翻模产品功能,并参与模块产品原型的设计;
• 研发:负责智能建造模块中的图层预设功能的开发,基于MVVM开发模式,在插件端进行各个专业的图层预设,用于翻模阶段在读取DWG文件后进行一键翻模;负责提供智能建造模块中的三维碰撞检测功能的基础数学方法,结合D3D引擎构建的模型实体,对空间三维实体的平行、相交、重合等空间关系进行判断和检测;负责将DWG中的块转换为EasyBIM中的族的功能开发,基于ODA技术读取块信息和块参数,通过手动选择绑定块需要转换的族,将族转换后自动布置到楼层中,并实时监听DWG参照中块位置等信息的变化,实时更新族信息;负责集成数学方法库,如返回相同图层的线围合成的矩形等,能够在保证时间复杂度的前提下,为水平风管、水管和桥架等线性图元的翻模提供基础;
• 难点:
1、图层预设功能需要整合各个专业的不同需求,分为二级菜单,在二级菜单下开发提供页面模板,供各专业实现不同的专业预设需求;
2、三维碰撞的检测需要高效的实现,基于D3D引擎,能够在时间复杂度O(logN)下快速完成空间三维实体相交的计算,计算的速度和效率远高于基于Revit的各个二次开发插件;
3、返回线的矩形围合易造成时间复杂度过高的现象,利用了深度优先搜索算法(DFS),将时间复杂度处理到O(logN)下,效率提升显著;
• 效果:
1、实现了将CAD块转换为EasyBIM族库的功能,并自动布置到楼层平面中,并且在DWG中的块位置、角度等信息变化后进行实时监听,同步在EasyBIM中更新族信息;
2、图层预设能够满足不同专业的定制化需求,如建筑专业的材料选择等;
3、提供了多种多样的三维方法库,包括空间三维直线、空间三维圆、空间三维弧线等的交点判断、相切判断等,为后续翻模功能的开发奠定基础;
工作经历
2022-07-12 -至今中国建筑西南设计研究院后端
基于C#和.Net技术,参与开发EasyBIM(二三维一体的施工图软件)软件,负责基于D3D11、SharpDX技术的三维引擎研发;负责建立基于模板方法模式和观察者模式机制的建筑电气模块的底层机制,并基于MVVM的WPF技术,负责建筑电气的主要功能研发;基于递归、DFS、二分法等图论算法,负责部分建筑电气模块的智能化功能的上层开发;基于ODA技术和D3D图形引擎,对智能建造(管线综合)模块进行技术支持;基于三层架构技术对云数据库和本地数据库进行搭建和应用;基于自研软件,进行过部分项目的照明模型和配电网络模型的设计及搭建
2016-07-04 -2019-06-30成都双流国际机场后端
网页开发,基于Java、vue.js、Mysql数据库,开发OA办公系统,技术栈有Redis、SSM架构、RabbitMQ消息中间件等
教育经历
2019-09-01 - 2022-06-22西南交通大学电气工程硕士
2012-09-01 - 2016-06-25西南交通大学电气工程本科