- 博客(48)
- 收藏
- 关注
原创 王炸——自研 DWG 图纸解析
文章摘要 本文探讨了自研DWG图纸解析技术的重要性与实现路径。面对商业授权成本高、开源方案功能局限和国产化需求三大挑战,作者团队投入一个月时间研发自主DWG解析能力。技术实现上采用文档对象图作为中间表示,构建了完整的读写闭环,解决了多版本兼容、数据压缩和文件容器等核心难题。相比ODA商业方案和LibreDWG开源方案,自研技术路线在授权成本、可控性和版本支持方面具有优势,特别适合需要长期演进和供应链安全的国产化场景。文章详细对比了三种技术路线的七个关键维度,为工程软件开发者提供了实用的技术选型参考。
2026-05-24 11:30:21
512
1
原创 读懂 CAD 图纸的 AI:语义 + 实例双维度精准解析
建议从识别准确性(复杂图纸、长尾类别与高混淆族群的稳定性)、解析完整性(语义标签与实例 ID 双输出的字段完备率与回写成功率)、工程适配性(接口标准化程度、批处理吞吐、运维监控与模型版本治理)三个维度综合评估,并与业务侧定义的验收阈值(如关键构件召回率下限、误报率上限)对齐。:将规范条文转化为可执行的识别规则,实现对象级的自动化合规校验。通过识别图纸中的设备设施,自动提取其类型、位置、编号等信息,并与现有台账关联比对,实现“图模一致性”校验及缺失属性的批量回填,为数字交付与智慧运维提供可靠的基线数据。
2026-04-08 11:37:47
996
原创 基于 SWIG 的 C++ Embind 绑定自动化技术说明
本文介绍了基于SWIG扩展的Emscripten Embind模块实现,用于自动化生成C++到WebAssembly的绑定代码。该方案解决了手写embind代码的工程痛点,包括绑定代码手动维护成本高、接口演进同步困难、以及TypeScript文档缺失等问题。核心功能包括:通过SWIG生成可重复构建的绑定代码,支持智能指针、异步导出、模板类自定义封装等特性,并自动将Doxygen注释注入embind的文档字符串。实现基于-em语言模块,主要逻辑位于embind.cxx,构建流水线从C++头文件经SWIG生成绑
2026-03-29 14:44:51
417
原创 webassembly之typescript支持
WebAssembly技术让前端能写出高性能代码,但对于习惯写C++代码的人员来说,生成的javascript代码没有智能提示,没有类型检查,写代码就变的非常痛苦,大部分时间都花费在调试上,工作效率很低,让人在WebAssembly技术上望而却步。好在最新的emsdk已经支持了typescript,对于习惯了强类型语言的人来说非常友好。然目前网上这方面的资料太少了,本文也是摸索了很久才验证成功。字少都是干货。
2024-10-24 00:42:45
883
原创 关于在线CAD编辑的解决方案思考
对于MVT的矢量切片,JSMap的逻辑是在上层基本完全复刻CAD的基本对象,在对象中添加一个渲染方法,最终是将生成的SVG对象传入到Canvas中。梦想控件 在线CAD有两种方式,一种是比较古老的Com组件(不能跨平台、依赖IE)和最新使用threejs来实现的在线CAD的渲染,支持将CAD的渲染图层嵌入到mapbox-js的自定义图层中渲染(主要是接管WebGL的上下文),其渲染的样式由mxCAD基于threejs来来实现其渲染,其原理还是使用在前端来实现自定义渲染。本文简单的测试了一下。
2023-04-19 08:52:28
2664
2
原创 PixiJS 渲染优化
最近做在线CAD可视化与编辑,对前端的可视化渲染技术进行了选型,对于二维CAD来说一般用canvas就够了,但是canvas每一次平移,缩放,更新数据都需要重新计算渲染所有的图形数据,数据一多就显得非常卡。如果使用三维webgl,在没有任何第三方的开源封装技术下,通过webgl去实现二维也是会遇到很多问题。基于此,找到了PixiJS这个支持canvas和webgl渲染的引擎,关键是非常快(之前在github看到过一个在线的程序测试,有十几种渲染引擎的测试,我对比过确实是最强的,这个网站忘记在哪里了)
2023-04-16 17:14:13
3481
5
原创 skia 之canvas
canvas是skia的核心部分,skia的逻都是围绕skcanvas对象来组织管理的,通过skcanvas可以指定不同的渲染上下文、draw call(绘制命令)、以及绘制状态管理(如绘图矩阵、操作栈等)skcanvas的状态skcanvas和 skpaint共同提供了sksurface和skbasedevice上绘制的状态,skcanvas保存了所有操作的堆栈,通过 save和restore这两个方法来管理skcanvas的操作状态信息。Backendskcanvas是可以指定在特定的像素上.
2022-03-26 08:41:59
3020
原创 实现类CAD的交互式命令系统
看一段操作:上面这个动画是我自己花了一周实现CAD绘图系统,里面实现了类CAD的交互命令交互式命令操作流程通过在命令栏或者菜单触发命令来启动相关功能,在命令执行过程中,命令栏提示当前命令的输入状态,当用户根据命令提示中的输入信息完成相应的操作(如在地图中点击某个点或者输入某个字符串)之后继续命令的下一步操作,直到命令的结束。这种操作方式在设计类、地图类软件中经常用到,如AutoCAD,ARCGIS软件中,实现方式也有很多种。也各有优缺点,本文主要介绍类CAD系统中的交互命令实现。在AutoC
2022-01-04 16:35:19
1898
原创 单文件打包工具介绍
单文件打包的软件具有单文件、免安装、拷贝方便的特点,对于研发人员来说,也相对于对程序进行了一个简单的加密(防止别人看到软件使用了那些库,解决一些开源协议、闭源SDK的使用问题)单文件打包的两种方式使用类似于winrar的压缩为exe这种方式原理就是类似于winrar的自解压(即压缩包也可以像setup程序一样,双击后显示一个软件许可,然后自动解压在指定目录,最后自动运行软件,不明白的可以直接度娘"自解压"),实现了数据和程序的打包。非常的方便。但是使用winrar自带的功能还是比较麻烦的,这里介绍一
2022-01-03 13:11:14
2253
原创 cario windows 下编译
cario windows 下编译什么是Cairocairo是一个小型的2D图形库,支持Linux、Windows、macOS X等平台。封装了一部分在当前平台上的图形API,或是直接访问底层接口。他支持win32、x-window、svg、opengl等多种输出设备。cario的编译相对比较简单,但是在windows下遇到各种问题,就是没有很好的解决办法你需要准备什么MSYS2在windows下模拟liunx的环境的软件,MSYS 是用于辅助 Windows 版 MinGW 进行命令
2020-06-27 09:25:34
1866
基于UE官方像素流改造的UE部署程序
2024-03-14
webgpu C++ 学习示例程序
2024-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅