CAD图纸内嵌二维码应用得越来越多,实现方式可谓多种多样,例如:特殊字符串、代理图形、嵌入光栅图像或OLE对象等方式。CAD天生对图形的处理效率优于图像和TrueType字体,因此用原生图元绘制和更新较为轻巧。
复杂图元,有图块和编组等方式管理,其中图块的整体性较好,可以设定为不被分解,并能附着文本属性,便于管理,而编组的整体性则一般,较易被拆散。
新生成二维码不需要考虑块的重用,根据数据生成图块即可,块名容易做到唯一,但画图时往往习惯于复制并修改少量信息的模式。
为适应修改的需求,我们最终选择在块内附着必要属性用于存放信息:
属性1,存放快速验证用哈希值,虽然存在碰撞可能,但选择适当的哈希函数即可,使得全局更新可快速完成,
属性2,存放二维码原始数据,
属性3,存放选项,可由多个子选项组成,比如纠错等级LMQH、是否反显、脱字符方式等,以特定方式组合。
不同数据的图块共用一套模板,需要使用匿名图块,其可通过剪贴板进行复制粘贴产生不重复的块名,以防不同数据的块共用一个定义。
多个二维码图块可通过同一命令刷新外观,因此需检测是否出现同一块名存在多种数据的现象。配合块属性导入导出功能,也可批量提取和设置二维码块数据。
实际应用时,仅需要刷新图块命令即可,创建图块不如复制块直截了当。(附效果图)
,