CN110942128B - 一种基于AutoCAD的绘制二维码方法及系统 - Google Patents
一种基于AutoCAD的绘制二维码方法及系统 Download PDFInfo
- Publication number
- CN110942128B CN110942128B CN201911244355.4A CN201911244355A CN110942128B CN 110942128 B CN110942128 B CN 110942128B CN 201911244355 A CN201911244355 A CN 201911244355A CN 110942128 B CN110942128 B CN 110942128B
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- data array
- code data
- line segment
- abscissa
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06046—Constructional details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种基于AutoCAD的绘制二维码方法及系统,该方法包括如下步骤:在Windows系统中注册用于生成由0、1码组成的二维码数据阵列动态链接库;读取文本字符串;调用二维码数据阵列动态链接库将读取的文本字符串转换成由0、1码组成的二维码数据阵列;根据二维码数据阵列在CAD中绘制二维码。其可以在CAD图中生成包含信息比较全面的二维码,以满足设计、施工、档案管理工作的需要。
Description
技术领域
本发明涉及计算机辅助设计领域,尤其涉及一种基于AutoCAD的绘制二维码方法及系统。
背景技术
目前互联网上发布有个别免费软件可以在图纸上添加二维码处理一部分图纸信息,这类软件为非定制的软件而能够处理的信息不全面,且受Windows和CAD版本兼容性的制约,使用不方便。
如果需要全面解决图纸资料信息管理问题,一般都要针对特定的设计部门或工程项目特点定制专门的软件,在CAD图中生成包含信息比较全面的二维码,以满足设计、施工、档案管理工作的需要。
发明内容
本发明的目的在于克服现有技术之缺陷,提供了一种基于AutoCAD的绘制二维码方法及系统,其可以在CAD图中生成包含信息比较全面的二维码,以满足设计、施工、档案管理工作的需要。
本发明是这样实现的:本发明提供了一种基于AutoCAD绘制二维码的方法,包括如下步骤:
在Windows操作系统中注册用于生成由0、1码组成的二维码数据阵列动态链接库QRBarCode.dll;
读取文本字符串;
调用二维码数据阵列动态链接库QRBarCode.dll将读取的文本字符串转换成由0、1码组成的二维码数据阵列;
根据二维码数据阵列在CAD中绘制二维码。
进一步地,创建AutoCAD菜单及主控模块,利用菜单宏命令调用主控模块,主控模块根据菜单宏命令首先调用字符文本信息获取模块获取制作二维码的文本字符串,然后,主控模块控制二维码数据阵列生成子模块调用二维码数据阵列动态链接库QRBarCode.dll将读取的文本字符串转换成由0、1码组成的二维码数据阵列;最后,主控模块调用二维码绘制模块根据二维码数据阵列在CAD中绘制二维码,实现CAD图纸信息二维码图形的自动生成;文本字符串通过文本文件的形式传送给二维码数据阵列生成子模块;二维码数据阵列以文件的形式传送给二维码绘制模块。菜单是用于人机对话的,用户通过屏幕菜单操作应用程序;主控模块用于根据用户意图适时调用其他各个模块。
进一步地,创建一个主进程外COM服务器,将调用QRBarCode.dll阵列函数的二维码数据阵列生成子模块封装为COM服务器的相关接口,供主控模块调用。COM即组件对象模型,是Component Object Model取前三个字母的缩写简单地说,COM是一种跨应用和语言共享二进制代码的方法。这里的服务器是指用于完成特定功能的程序。
进一步地,调用二维码数据阵列动态链接库QRBarCode.dll将读取的文本字符串转换成由0、1码组成的二维码数据阵列,具体包括如下步骤:
二维码数据阵列生成子模块读取文本字符串,调用动态链接库QRBarCode.dll内部封装的阵列函数,将读取的文本字符串转换成由0、1码组成的二维码数据阵列,并将该二维码数据阵列中0、1数据依次取出,存储到指定的数据文件,供二维码绘制模块读取;
二维码数据阵列动态链接库QRBarCode.dll内部封装函数的返回值为文本字符串转换为二维码的01码数据阵列。
进一步地,利用AutoCAD中内嵌的编程环境编制宏代码,获取准备生成二维码的文本字符串,将文本字符串输出至指定的文本文件,供二维码数据阵列生成子模块读取。这里的宏代码特指AutoCAD环境里的主控程序代码。
进一步地,根据二维码数据阵列在CAD中绘制二维码,具体包括如下步骤:
预设二维码绘制基准点坐标以及二维码图形边长,二维码绘制基准点为二维码图的左上角位置;
读取二维码数据阵列文件,用二维码图形边长数值除以数据阵列的边长数值得到的比值作为绘制每一笔的线段长度和线段的宽度,将每一笔线段的长度定义为步长,二维码数据阵列格式为等边矩阵结构,即行和列数量相等,数据阵列的边长为数据阵列的行或列数;
依次读取二维码数据阵列文件的每个字符,如果读取的是字符1,则在CAD中绘制一段黑色线段,如果读取的是字符0,则不作处理,直至生成完整的图纸信息二维码图形;
线段在二维码中的相对坐标通过以下步骤确定:通过当前的行数和列数以及字符1在该行、列中的顺序号,确定绘制线段两端点的相对坐标,行序号确定相对纵坐标,列序号确定相对横坐标,线段的第一端点相对坐标的确定方法为:字符1位于数据阵列中的列顺序号每增加1,其在二维码图中对应线段的第一个端点横坐标增大1个步长,字符1位于数据阵列中的行顺序号每增加1,其在二维码图中对应线段的第一个端点纵坐标减小1个步长;线段的第二端点相对坐标的确定方法为:线段第二端点横坐标与第一端点横坐标相同,线段第二端点纵坐标为第一端点纵坐标加一个步长;每条线段的CAD绘图绝对横坐标为二维码中相对横坐标加基准点横坐标,CAD绘图绝对纵坐标为二维码中相对纵坐标加基准点纵坐标。
进一步地,文本信息从当前工程设计图纸中获取或通过对话框获取;二维码绘制基准点坐标根据当前图纸图幅通过计算获取或通过对话框获取。
本发明公开了一种基于AutoCAD绘制二维码的系统,包括主控模块、字符文本信息获取模块、二维码数据阵列生成子模块、二维码绘制模块,
所述主控模块用于根据AutoCAD菜单宏命令,调用字符文本信息获取模块、二维码数据阵列生成子模块、二维码绘制模块;
所述字符文本信息获取模块用于读取文本字符串,可从当前工程设计图中直接提取,或通过人机对话框获取。
所述二维码数据阵列生成子模块用于调用二维码数据阵列动态链接库QRBarCode.dll,将读取的文本字符串转换成由0、1码组成的二维码数据阵列;
所述二维码绘制模块用于根据二维码数据阵列在CAD中绘制二维码。
进一步地,二维码绘制模块根据二维码数据阵列在CAD中绘制二维码,具体包括如下步骤:
预设二维码绘制基准点坐标以及二维码图形边长,二维码绘制基准点为二维码图的左上角位置;
读取二维码数据阵列文件,用二维码图形边长数值除以数据阵列的边长数值得到的比值作为绘制每一笔的线段长度和线段的宽度,将每一笔线段的长度定义为步长,二维码数据阵列格式为等边矩阵结构,即行和列数量相等,数据阵列的边长为数据阵列的行或列数;
依次读取二维码数据阵列文件的每个数码,如果读取的是字符1,则在CAD中绘制一段黑色线段,如果读取的是字符0,则不作处理,直至生成完整的图纸信息二维码图形;
线段在二维码中的相对坐标通过以下步骤确定:通过当前的行数和列数以及字符1在该行、列中的顺序号,确定绘制线段两端点的相对坐标,行序号确定相对纵坐标,列序号确定相对横坐标,线段的第一端点相对坐标的确定方法为:字符1位于数据阵列中的列顺序号每增加1,其在二维码图中对应线段的第一个端点横坐标增大1个步长,字符1位于数据阵列中的行顺序号每增加1,其在二维码图中对应线段的第一个端点纵坐标减小1个步长;线段的第二端点相对坐标的确定方法为:线段第二端点横坐标与第一端点横坐标相同,线段第二端点纵坐标为第一端点纵坐标加一个步长;每条线段的CAD绘图绝对横坐标为二维码中相对横坐标加基准点横坐标,CAD绘图绝对纵坐标为二维码中相对纵坐标加基准点纵坐标。
进一步地,所述二维码数据阵列生成子模块用于调用二维码数据阵列动态链接库QRBarCode.dll将读取的文本字符串转换成由0、1码组成的二维码数据阵列,具体包括如下步骤:
二维码数据阵列生成子模块读取文本字符串,调用动态链接库QRBarCode.dll内部封装的阵列函数,将读取的文本字符串转换成由0、1码组成的二维码数据阵列,并将该二维码数据阵列中0、1数据依次取出,存储到指定的数据文件,供二维码绘制模块读取。
本发明的有益效果为:本发明的基于AutoCAD的绘制二维码方法,包括如下步骤:在Windows系统中注册用于生成由0、1码组成的二维码数据阵列动态链接库QRBarCode.dll;读取文本字符串;调用二维码数据阵列动态链接库QRBarCode.dll将读取的文本字符串转换成由0、1码组成的二维码数据阵列;根据二维码数据阵列在CAD中绘制二维码。本发明基于AutoCAD平台采用上述步骤将任意文本字符串绘成二维码图形,其可以在CAD图中生成包含信息比较全面的二维码,以满足设计、施工、档案管理工作的需要。
附图说明
图1为本发明的算法结构框图;
图2为本发明的图纸信息二维码阵列数据示例(由0、1码组成的图纸信息二维码阵列数据示例,纯文本文件格式);
图3为本发明在CAD中生成的图纸信息二维码图形示例。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参见图1至图3,本实施例公开了一种基于AutoCAD的绘制二维码方法,包括如下步骤:
创建AutoCAD菜单及主控模块,按结构框图1所示的顺序调用上述各模块,实现CAD图纸信息二维码的自动生成。主控模块采用64位的宏代码,与32位的宏代码向下兼容,适用于32位和64位系统。
在Windows系统中注册二维码数据阵列动态链接库:选择与中文字符兼容性比较强的用于生成由0、1码组成的二维码数据阵列动态链接库QRBarCode.dll,通过调用该动态链接库可将任意字符串转换成由0、1码组成的二维码数据阵列。在Windows系统中注册该动态链接库。QRBarCode.dll是在32位系统下封装的动态链接库。本模块创建一个主进程外COM服务器(EXE),将调用32位QRBarCode.dll阵列函数的子模块封装为COM服务器的相关接口,供主控模块调用。
创建二维码文本信息的获取模块:利用AutoCAD中内嵌的编程环境编制宏代码,获取准备生成二维码的文本信息字符串。文本信息可以从当前工程设计图纸中获取,也可以通过对话框获取。将文本字符串输出至指定的文本文件,供二维码阵列数据生成子模块读取。
本发明的用途是在CAD工程设计图纸上绘制关于设计信息的二维码。选择AutoCAD作为本发明的工作平台。
创建二维码阵列数据生成子模块:二维码数据阵列动态链接库QRBarCode.dll内部封装函数的返回值为文本字符串转换为二维码的01码数据阵列。子模块的功能就是自动读取文本字符串调用QRBarCode.dll内部封装的阵列函数,生成阵列数据,并将该阵列数据中0、1数据依次取出,存储到指定的数据文件,供绘制二维码模块读取。文本字符串可以由任意的中英文字符组成,如汉字、字母、数字等。
创建绘制二维码模块:根据二维码数据阵列在CAD中绘制二维码。
进一步地,根据二维码数据阵列在CAD中绘制二维码,具体包括如下步骤:
在CAD屏幕上指定绘制二维码图的坐标点以及二维码图的尺寸大小;
预设二维码绘制基准点坐标以及二维码图形边长,二维码绘制基准点为二维码图的左上角位置;
读取二维码数据阵列文件,用二维码图形边长数值除以数据阵列的边长数值得到的比值作为绘制每一笔的线段长度和线段的宽度,将每一笔线段的长度定义为步长,二维码数据阵列格式为等边矩阵结构,即行和列数量相等,数据阵列的边长为数据阵列的行或列数;
依次读取二维码数据阵列文件的每个数码,如果读取的是字符1,则在CAD中绘制一段黑色线段,如果读取的是字符0,则不作处理,直至生成完整的图纸信息二维码图形;
线段在二维码中的相对坐标通过以下步骤确定:通过当前的行数和列数以及字符1在该行、列中的顺序号,确定绘制线段两端点的相对坐标,行序号确定相对纵坐标,列序号确定相对横坐标,线段的第一端点相对坐标的确定方法为:字符1位于数据阵列中的列顺序号每增加1,其在二维码图中对应线段的第一个端点横坐标增大1个步长,字符1位于数据阵列中的行顺序号每增加1,其在二维码图中对应线段的第一个端点纵坐标减小1个步长;线段的第二端点相对坐标的确定方法为:线段第二端点横坐标与第一端点横坐标相同,线段第二端点纵坐标为第一端点纵坐标加一个步长;每条线段的CAD绘图绝对横坐标为二维码中相对横坐标加基准点横坐标,CAD绘图绝对纵坐标为二维码中相对纵坐标加基准点纵坐标。在CAD中依次将数据中的1用黑色线段绘制即仅在数据阵列中的1码所处位置推算出的两个坐标点绘制线段,0不绘制即空白,生成完整的图纸信息二维码图形。
进一步地,文本信息从当前工程设计图纸中获取或通过对话框获取;二维码绘制基准点坐标根据当前图纸图幅通过计算获取或通过对话框获取。
进一步地,创建AutoCAD菜单及主控模块,利用菜单宏命令调用主控模块,主控模块根据菜单宏命令首先调用字符文本信息获取模块获取制作二维码的文本字符串,然后,主控模块控制二维码数据阵列生成子模块调用二维码数据阵列动态链接库QRBarCode.dll将读取的文本字符串转换成由0、1码组成的二维码数据阵列;最后,主控模块调用二维码绘制模块根据二维码数据阵列在CAD中绘制二维码,实现CAD图纸信息二维码图形的自动生成;文本字符串通过文本文件的形式传送给二维码数据阵列生成子模块;二维码数据阵列以文件的形式传送给二维码绘制模块。
进一步地,创建一个主进程外COM服务器,将调用QRBarCode.dll阵列函数的二维码数据阵列生成子模块封装为COM服务器的相关接口,供主控模块调用。
进一步地,调用二维码数据阵列动态链接库QRBarCode.dll将读取的文本字符串转换成由0、1码组成的二维码数据阵列,具体包括如下步骤:
二维码数据阵列生成子模块读取文本字符串,调用动态链接库QRBarCode.dll内部封装的阵列函数,将读取的文本字符串转换成由0、1码组成的二维码数据阵列,并将该二维码数据阵列中0、1数据依次取出,存储到指定的数据文件,供二维码绘制模块读取。如图2所示就是将文本字符代入二维码动态链接库函数生成的二维码数据整列,可通过数组变量或数据文件存储。由0、1码组成,行、列数相同,行、列数的值与文本字符串的长度有关。
如在VB6 IDE中编制子程序,调用二维码数据阵列动态链接库QRBarCode.dll,将文本文件内容转换成01码组成的数据阵列,数据阵列存储到固定路径、固定文件名的文本文件。
二维码数据阵列动态链接库QRBarCode.dll内部封装函数GetArray的返回值为文本字符串转换为二维码的01码数据阵列。子程序的功能就是将该阵列中0、1码数据取出,存储到指定的文件中。
因为主控模块(含获取用于绘制二维码的字符的模块)以及绘制二维码图形的绘图模块内嵌于AutoCAD环境中,而因二维码动态链接库的调用只能于AutoCAD环境之外,将字符转为二维码数据阵列的模块也只能位于AutoCAD环境之外;AutoCAD环境内、外的数据调用借用数据文件的方式处理过程比较简单。
二维码数据阵列的行列数与需要转换为二维码的字符串长度对应,其实就是一个二维数组,存于数组变量中,可将数组中的0、1码取出存于数据文件中,数据文件中的数据的行、列数与二维码数据阵列完全一致。
进一步地,利用AutoCAD中内嵌的编程环境编制宏代码,获取准备生成二维码的文本字符串,将文本字符串输出至指定的文本文件,供二维码数据阵列生成子模块读取。
进一步地,文本信息从CAD中当前工程设计图纸中获取或通过对话框获取;二维码绘制基准点坐标根据当前图纸图幅通过计算获取或通过对话框获取。文本信息是指当前工程设计图纸中的一些图纸信息,比如设计单位名称、图名、图号、制图时间、图纸版本等图纸信息,直接从图中提取即可。如果需要在二维码图中绘制当前工程设计图中没有的信息,可通过对话框的方式获取。
实施例二
本发明公开了一种基于AutoCAD绘制二维码的系统,包括主控模块、字符文本信息获取模块、二维码数据阵列生成子模块、二维码绘制模块,
所述主控模块用于根据AutoCAD菜单宏命令,调用字符文本信息获取模块、二维码数据阵列生成子模块、二维码绘制模块;
所述字符文本信息获取模块用于读取文本字符串;
所述二维码数据阵列生成子模块用于调用二维码数据阵列动态链接库QRBarCode.dll,将读取的文本字符串转换成由0、1码组成的二维码数据阵列;
所述二维码绘制模块用于根据二维码数据阵列在CAD中绘制二维码。
进一步地,根据二维码数据阵列在CAD中绘制二维码,具体包括如下步骤:
二维码绘制模块根据二维码数据阵列在CAD中绘制二维码,具体包括如下步骤:
预设二维码绘制基准点坐标以及二维码图形边长,二维码绘制基准点为二维码图的左上角位置;
读取二维码数据阵列文件,用二维码图形边长数值除以数据阵列的边长数值得到的比值作为绘制每一笔的线段长度和线段的宽度,将每一笔线段的长度定义为步长,二维码数据阵列格式为等边矩阵结构,即行和列数量相等,数据阵列的边长为数据阵列的行或列数;
依次读取二维码数据阵列文件的每个数码,如果读取的是字符1,则在CAD中绘制一段黑色线段,如果读取的是字符0,则不作处理,直至生成完整的图纸信息二维码图形;
线段在二维码中的相对坐标通过以下步骤确定:通过当前的行数和列数以及字符1在该行、列中的顺序号,确定绘制线段两端点的相对坐标,行序号确定相对纵坐标,列序号确定相对横坐标,线段的第一端点相对坐标的确定方法为:字符1位于数据阵列中的列顺序号每增加1,其在二维码图中对应线段的第一个端点横坐标增大1个步长,字符1位于数据阵列中的行顺序号每增加1,其在二维码图中对应线段的第一个端点纵坐标减小1个步长;线段的第二端点相对坐标的确定方法为:线段第二端点横坐标与第一端点横坐标相同,线段第二端点纵坐标为第一端点纵坐标加一个步长;每条线段的CAD绘图绝对横坐标为二维码中相对横坐标加基准点横坐标,CAD绘图绝对纵坐标为二维码中相对纵坐标加基准点纵坐标。
本实施例公开的是二维码绘制基准点为二维码图的左上角位置的方案,当二维码绘制基准点位置不同时,读取数据阵列的起始点也就不同了,坐标的确认方法也会作出相应调整,但原理相同,而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
进一步地,所述二维码数据阵列生成子模块用于调用二维码数据阵列动态链接库QRBarCode.dll将读取的文本字符串转换成由0、1码组成的二维码数据阵列,具体包括如下步骤:
二维码数据阵列生成子模块读取文本字符串,调用动态链接库QRBarCode.dll内部封装的阵列函数,将读取的文本字符串转换成由0、1码组成的二维码数据阵列,并将该二维码数据阵列中0、1数据依次取出,存储到指定的数据文件,供二维码绘制模块读取。
本发明可用于32位和64位系统CAD的二次开发,针对特定的设计部门或工程项目特点定制专门的软件,在CAD图中生成包含信息比较全面的二维码,图中如果有该图中重要信息二维码,工程技术人员可通过专门的扫码仪器或手机快速读取这些重要信息,可与对应的管理程序对接,以满足后续设计、施工、档案管理工作的需要。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种基于AutoCAD的绘制二维码方法,其特征在于,包括如下步骤:
注册用于生成由0、1码组成的二维码数据阵列动态链接库;
读取文本字符串;
调用二维码数据阵列动态链接库将读取的文本字符串转换成由0、1码组成的二维码数据阵列;
根据二维码数据阵列在CAD中绘制二维码;
具体包括如下步骤:
预设二维码绘制基准点坐标以及二维码图形边长;
读取二维码数据阵列文件,用二维码图形边长数值除以数据阵列的边长数值得到的比值作为绘制每一笔的线段长度和线段的宽度,将每一笔线段的长度定义为步长,二维码数据阵列格式为等边矩阵结构,即行和列数量相等,数据阵列的边长为数据阵列的行或列数;
依次读取二维码数据阵列文件的每个字符,如果读取的是字符1,则在CAD中绘制一段黑色线段,如果读取的是字符0,则不作处理,直至生成完整的图纸信息二维码图形;
线段在二维码中的相对坐标通过以下步骤确定:通过当前的行数和列数以及字符1在该行、列中的顺序号,确定绘制线段两端点的相对坐标,行序号确定相对纵坐标,列序号确定相对横坐标,线段的第一端点相对坐标的确定方法为:字符1位于数据阵列中的列顺序号每增加1,其在二维码图中对应线段的第一个端点横坐标增大1个步长,字符1位于数据阵列中的行顺序号每增加1,其在二维码图中对应线段的第一个端点纵坐标减小1个步长;线段的第二端点相对坐标的确定方法为:线段第二端点横坐标与第一端点横坐标相同,线段第二端点纵坐标为第一端点纵坐标加一个步长;每条线段的CAD绘图绝对横坐标为二维码中相对横坐标加基准点横坐标,CAD绘图绝对纵坐标为二维码中相对纵坐标加基准点纵坐标。
2.根据权利要求1所述的方法,其特征在于:创建AutoCAD菜单及主控模块,利用菜单宏命令调用主控模块,主控模块根据菜单宏命令首先调用字符文本信息获取模块获取制作二维码的文本字符串,然后,主控模块控制二维码数据阵列生成子模块调用二维码数据阵列动态链接库将读取的文本字符串转换成由0、1码组成的二维码数据阵列;最后,主控模块调用二维码绘制模块根据二维码数据阵列在CAD中绘制二维码,实现CAD图纸信息二维码图形的自动生成;文本字符串通过文本文件的形式传送给二维码数据阵列生成子模块;二维码数据阵列以文件的形式传送给二维码绘制模块。
3.根据权利要求2所述的方法,其特征在于:创建一个主进程外COM服务器,将调用阵列函数的二维码数据阵列生成子模块封装为COM服务器的相关接口,供主控模块调用。
4.根据权利要求1或2所述的方法,其特征在于:调用二维码数据阵列动态链接库将读取的文本字符串转换成由0、1码组成的二维码数据阵列,具体包括如下步骤:
二维码数据阵列生成子模块读取文本字符串,调用动态链接库内部封装的阵列函数,将读取的文本字符串转换成由0、1码组成的二维码数据阵列,并将该二维码数据阵列中0、1数据依次取出,存储到指定的数据文件,供二维码绘制模块读取;
二维码数据阵列动态链接库内部封装函数的返回值为文本字符串转换为二维码的01码数据阵列。
5.根据权利要求1或2所述的方法,其特征在于:利用AutoCAD中内嵌的编程环境编制宏代码,获取准备生成二维码的文本字符串,将文本字符串输出至指定的文本文件,供二维码数据阵列生成子模块读取。
6.根据权利要求1所述的方法,其特征在于:二维码绘制基准点为二维码图的左上角位置。
7.根据权利要求1所述的方法,其特征在于:文本信息从当前工程设计图纸中获取或通过对话框获取;二维码绘制基准点坐标根据当前图纸图幅通过计算获取或通过对话框获取。
8.一种基于AutoCAD的绘制二维码系统,其特征在于:包括主控模块、字符文本信息获取模块、二维码数据阵列生成子模块、二维码绘制模块,
所述主控模块用于根据AutoCAD菜单宏命令,调用字符文本信息获取模块、二维码数据阵列生成子模块、二维码绘制模块;
所述字符文本信息获取模块用于读取文本字符串;
所述二维码数据阵列生成子模块用于调用二维码数据阵列动态链接库,将读取的文本字符串转换成由0、1码组成的二维码数据阵列;
所述二维码绘制模块用于根据二维码数据阵列在CAD中绘制二维码,具体包括如下步骤:
预设二维码绘制基准点坐标以及二维码图形边长;
读取二维码数据阵列文件,用二维码图形边长数值除以数据阵列的边长数值得到的比值作为绘制每一笔的线段长度和线段的宽度,将每一笔线段的长度定义为步长,二维码数据阵列格式为等边矩阵结构,即行和列数量相等,数据阵列的边长为数据阵列的行或列数;
依次读取二维码数据阵列文件的每个字符,如果读取的是字符1,则在CAD中绘制一段黑色线段,如果读取的是字符0,则不作处理,直至生成完整的图纸信息二维码图形;
线段在二维码中的相对坐标通过以下步骤确定:通过当前的行数和列数以及字符1在该行、列中的顺序号,确定绘制线段两端点的相对坐标,行序号确定相对纵坐标,列序号确定相对横坐标,线段的第一端点相对坐标的确定方法为:字符1位于数据阵列中的列顺序号每增加1,其在二维码图中对应线段的第一个端点横坐标增大1个步长,字符1位于数据阵列中的行顺序号每增加1,其在二维码图中对应线段的第一个端点纵坐标减小1个步长;线段的第二端点相对坐标的确定方法为:线段第二端点横坐标与第一端点横坐标相同,线段第二端点纵坐标为第一端点纵坐标加一个步长;每条线段的CAD绘图绝对横坐标为二维码中相对横坐标加基准点横坐标,CAD绘图绝对纵坐标为二维码中相对纵坐标加基准点纵坐标。
9.根据权利要求8所述的系统,其特征在于:二维码绘制基准点为二维码图的左上角位置。
10.根据权利要求8所述的系统,其特征在于:所述二维码数据阵列生成子模块用于调用二维码数据阵列动态链接库将读取的文本字符串转换成由0、1码组成的二维码数据阵列,具体包括如下步骤:
二维码数据阵列生成子模块读取文本字符串,调用动态链接库内部封装的阵列函数,将读取的文本字符串转换成由0、1码组成的二维码数据阵列,并将该二维码数据阵列中0、1数据依次取出,存储到指定的数据文件,供二维码绘制模块读取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911244355.4A CN110942128B (zh) | 2019-12-06 | 2019-12-06 | 一种基于AutoCAD的绘制二维码方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911244355.4A CN110942128B (zh) | 2019-12-06 | 2019-12-06 | 一种基于AutoCAD的绘制二维码方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110942128A CN110942128A (zh) | 2020-03-31 |
CN110942128B true CN110942128B (zh) | 2022-03-29 |
Family
ID=69910054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911244355.4A Active CN110942128B (zh) | 2019-12-06 | 2019-12-06 | 一种基于AutoCAD的绘制二维码方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110942128B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112966318B (zh) * | 2021-04-12 | 2022-06-10 | 青矩技术股份有限公司 | 一种显示cad文件中字符的方法及终端设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012226525A (ja) * | 2011-04-19 | 2012-11-15 | Shinryo Corp | 施工管理システムおよび施工管理方法 |
CN105930891A (zh) * | 2016-04-18 | 2016-09-07 | 闫河 | 生成二维码的方法 |
CN107025287A (zh) * | 2017-04-12 | 2017-08-08 | 上海应用技术大学 | 一种AutoCAD图纸信息存储方法 |
CN109033571A (zh) * | 2018-07-09 | 2018-12-18 | 毛丽红 | 基于cad的自动绘图模块以及绘图方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4716453B1 (ja) * | 2010-07-13 | 2011-07-06 | 健治 吉田 | プログラム、情報処理装置、情報処理システム |
-
2019
- 2019-12-06 CN CN201911244355.4A patent/CN110942128B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012226525A (ja) * | 2011-04-19 | 2012-11-15 | Shinryo Corp | 施工管理システムおよび施工管理方法 |
CN105930891A (zh) * | 2016-04-18 | 2016-09-07 | 闫河 | 生成二维码的方法 |
CN107025287A (zh) * | 2017-04-12 | 2017-08-08 | 上海应用技术大学 | 一种AutoCAD图纸信息存储方法 |
CN109033571A (zh) * | 2018-07-09 | 2018-12-18 | 毛丽红 | 基于cad的自动绘图模块以及绘图方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110942128A (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111402390A (zh) | 模型渲染方法、装置、设备及存储介质 | |
US10991065B2 (en) | Methods and systems for processing graphics | |
CN107273543B (zh) | 一种dgn数据格式的转换方法 | |
CA2266724C (en) | System for translating visual display object files and method of operation thereof | |
JP5671320B2 (ja) | 情報処理装置及びその制御方法並びにプログラム | |
CN105550247A (zh) | 基于svg标准可自定义图符的电力系统图形显示方法 | |
CN113918195A (zh) | 应用界面更新方法、装置、电子设备及可读存储介质 | |
CN110942128B (zh) | 一种基于AutoCAD的绘制二维码方法及系统 | |
CN104391991A (zh) | 一种从AutoCAD数据到GIS空间数据的转换方法 | |
CN111915690A (zh) | 一种基于矢量瓦片的热力图数据缩编方法 | |
CN106293658B (zh) | 一种界面组件生成方法及其设备 | |
CN116521181B (zh) | 基于游戏系统的脚本数据处理方法、装置、设备及介质 | |
CN110286901B (zh) | 一种基于cad的脚本生成方法、系统及存储介质 | |
CN111159278A (zh) | 数据展示方法及装置、电子设备和计算机可读存储介质 | |
CN115657899A (zh) | 图标处理方法、装置、电子设备及存储介质 | |
CN114259730A (zh) | 一种Cocos预制体的高效率导出方法、系统及介质 | |
CN113987242A (zh) | 一种文件图片可视化方法、装置、设备及介质 | |
KR101179644B1 (ko) | 2d 모바일 기기를 위한 3d 렌더러 장치 | |
CN107451167A (zh) | 站内点击位的点击数据获取方法和系统 | |
CN112612427A (zh) | 一种车辆停靠点数据处理方法、装置、存储介质及终端 | |
KR100657116B1 (ko) | 3차원 오브젝트 애니메이션 구현 방법 및 그 시스템 | |
CN112101055A (zh) | 一种扫码属性的配置与管理方法及系统 | |
CN118193475A (zh) | 文件转换方法、装置、电子设备及可读存储介质 | |
CN118094666A (zh) | 一种基于软件即服务的Web CAD构建方法 | |
CN115344252A (zh) | 可视化大屏的生成方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |