本发明专利技术公开了一种基于AutoCAD平台提取室内分布图纸中器件连接关系的方法,其具体包括:步骤1、读取并存储连线信息;步骤2、计算并获取器件的最值点;步骤3、计算并获取连线两端相连的器件;步骤4、自定义器件端口编号并存储器件信息。本发明专利技术很好地解决了基于AutoCAD平台室内分布图纸中器件连接关系的提取问题,提高了提取图纸信息的效率。
Method for extracting device connection relation in indoor distribution drawing based on AutoCAD platform
The invention discloses a method for device connection of the indoor distribution drawings extraction based on AutoCAD platform, which includes: Step 1, read and store connection information; the value of step 2, calculate and acquire device; step 3, calculate and obtain the connection device connected to two ends; step 4, custom device port the number and memory information. The invention solves the problem of extracting the connection relation of the device in the indoor distribution drawing based on the AutoCAD platform, and improves the efficiency of drawing information.
【技术实现步骤摘要】
本专利技术涉及AutoCAD程序架构和ObjectARX的二次开发技术,特别涉及一种基于AutoCAD平台提取室内分布图纸中器件连接关系的方法。
技术介绍
AutoCAD是美国Autodesk公司研制开发的一款计算机辅助设计软件;是目前Windows系统中应用最广泛、使用人数最多的CAD软件。ObjectARX本质上是Windows系统的一个动态链接库(DLL),可直接共享AutoCAD的地址空间,也可直接利用AutoCAD的核心数据结构和代码,使得二次开发者可以直接访问AutoCAD的数据库结构、图形系统以及CAD几何造型核心。在AutoCAD平台上绘制室内分布图纸时,经常将一个复杂的器件图形组合成一个图块,并将器件的一些信息作为属性存在于图块中,图块的使用可提高绘制重复图形的效率,大大减少重复性操作,节省存储空间,便于修改AutoCAD图纸。提取室内分布图纸中器件之间的连接关系,需要获得连线的起始位置和实际长度信息及其与之相连器件的唯一属性标识及编号等信息,将这些信息压入到自定义的容器对象中,也可将容器对象中的数据以Excel表格或其他形式提取出来。如果人工进行提取操作,工作量大,从而耗费大量的时间,且效率低下。有鉴于此,有必要提出了一种基于AutoCAD平台提取室内分布图纸中器件连接关系的方法,以解决上述问题。
技术实现思路
本专利技术目的在于:解决了AutoCAD平台下室内分布图纸中器件连接关系的提取问题,并将结果存储在容器对象中,便于后续的数据库操作。本专利技术的技术方案是:一种基于AutoCAD平台提取室内分布图纸中器件连接关系的方法,其特征在于,器件在图纸中都以图块的形式表示,该方法包括:步骤1、读取并存储连线信息:在AutoCAD平台上打开室内分布图纸,选定操作区域,从操作区域中获取全部连线的起点位置ps、终点位置pe和实际长度L,创建用于存放器件连接关系的容器,并将连线起点位置ps的x轴坐标psx和y轴坐标psy及实际长度L存储到所述容器中;步骤2、计算并获取器件的最值点:从所述操作区域内过滤出所有器件,根据单个器件的形状计算出器件的最小外接矩形,并记录最小外接矩形的一对对角顶点,即获得最小外接矩形在x轴上的最小值xmin,最大值xmax、y轴上的最小值ymin,最大值ymax,重复本步骤,获取所有器件的最值点;步骤3、计算并获取连线两端相连的器件:3.1、获取与连线起点相连的器件:对于单个器件,连线起点位置ps的x轴坐标为psx,y轴坐标为psy;1)若连线起点位置ps既不满足xmin≤psx≤xmax也不满足ymin≤psy≤ymax,则确定该器件与所述连线起点不相连;2)若连线起点位置ps满足xmin≤psx≤xmax但不满足ymin≤psy≤ymax,则所述连线起点与器件最小外接矩形的最短距离为:dmin=(|ymin-psy|,|ymax-psy)min3)若连线起点位置ps不满足xmin≤psx≤xmax但满足ymin≤psy≤ymax,则所述连线起点与器件最小外接矩形的最短距离为:dmin=(|xmin-psx|,|xmax-psx)min4)若连线起点位置ps即满足xmin≤psx≤xmax也满足ymin≤psy≤ymax,则所述连线起点与器件最小外接矩形的最短距离为:dmin=(dxmin,dymin)min其中dxmin=(|xmin-psx|,|xmax-psx|)min,dymin=(|ymin-psy|,|ymax-psy|)min5)若满足dmin<<(xmax-xmin,ymax-ymin)min,则确定该器件就是与所述连接起点相连的器件,否则说明该器件与所述连线起点不相连;重复步骤3.1,直到获取与连线起点相连的器件;3.2、获取与连线终点相连的器件:对于单个器件,连线终点位置pe的x轴坐标pex,y轴坐标为pey;1)若连线终点位置pe既不满足xmin≤pex≤xmax也不满足ymin≤pey≤ymax,则确定该器件与所述连线终点不相连;2)若连线终点位置pe满足xmin≤pex≤xmax但不满足ymin≤pey≤ymax,则所述连线终点与器件最小外接矩形的最短距离为:dmin=(|ymin-pey|,|ymax-pey|)min3)若连线终点位置pe不满足xmin≤pex≤xmax但满足ymin≤pey≤ymax,则所述连线终点与器件最小外接矩形的最短距离为:dmin=(|xmin-pex|,|xmax-pex|)min4)若连线终点位置pe即满足xmin≤pex≤xmax也满足ymin≤pey≤ymax,则所述连线终点与器件最小外接矩形的最短距离为:dmin=(dxmin,dymin)min其中dxmin=(|xmin-pex|,|xmax-pex|)min,dymin=(|ymin-pey|,|ymax-pey|)min5)若满足dmin<<(xmax-xmin,ymax-ymin)min,则确定该器件就是与所述连接终点相连的器件,否则说明该器件与所述连线终点不相连;重复步骤3.2,直到获取与连线终点相连的器件;步骤4、自定义器件端口编号并存储器件信息:通过与连线相连接的器件与原图纸库中的器件作对比,判定该器件是否为图纸库中原有的器件,若是则按照步骤4.1对器件端口进行编号,若否则按照步骤4.2对器件端口进行编号;4.1、对图纸数据库中原有的器件编号:对于图纸库中原有的器件,通过比较库中器件基点与端口的位置,确定器件基点与各端口的相对位置关系,通过这种相对位置关系确定每个端口在图纸中的位置,并对各个端口进行编号,编号规则为输入端口的编号为0,以输入端口为参考,以顺时针方向对其它端口进行递增编号;4.2、对图纸数据库中后添加的器件编号:1)对于所有的连线,利用步骤3中连线和器件相连接的判断方法,通过与连线相连的器件,获取与该器件相连接的所有连线,并记录与该器件相连的端口点坐标;2)以最小外接矩形的中心点作为顺时针旋转的中心点O,以中心点O作一条平行于x轴的单位向量然后依次计算和的夹角,其中Ai表示第i个端口点,其中i≥1,角度范围为0°~360°,根据夹角的大小,将各端口点通过顺时针旋转方向进行排序;3)以中心点O到器件最小外接矩形的左下角的顶点A(xmin,ymin)为起始矢量顺时针旋转,将第一个旋转到的端口点编号为0,依次顺时针旋转对其他接口递增编号;4.3、存储器件信息:读取全部连线起点相连器件的唯一属性标识,并与连线连接的端口编号一起存储到所述容器中;读取全部连线终点相连器件的唯一属性标识,并与连线连接的端口编号一起存储到所述容器中。进一步地,步骤1中:在室内分布图纸中,连线的实际长度、衰耗信息以文本的形式存放在连线周围,从而作为连线的标注属性信息,计算所述操作区域中的文本位置pt到所述连线的垂直距离dt,若满足dt<ht/2,其中ht为文本的高度,则该文本中的内容是连线的标注属性信息,从其中可获取所述连线的实际长度L。本专利技术的有益效果是:本专利技术与现有技术在AutoCAD平台下室内分布图纸中器件连接关系的提取方面具有以下积极效果:能够之间将连线的起点位置、连线的实际长度、连线两端相连器件的唯一属性标识及编号本文档来自技高网...
【技术保护点】
一种基于AutoCAD平台提取室内分布图纸中器件连接关系的方法,其特征在于,器件在图纸中都以图块的形式表示,该方法包括:该方法包括:步骤1、读取并存储连线信息:在AutoCAD平台上打开室内分布图纸,选定操作区域,从操作区域中获取全部连线的起点位置ps、终点位置pe和实际长度L,创建用于存放器件连接关系的容器,并将连线起点位置ps的x轴坐标psx和y轴坐标psy及实际长度L存储到所述容器中;步骤2、计算并获取器件的最值点:从所述操作区域内过滤出所有器件,根据单个器件的形状计算出器件的最小外接矩形,并记录最小外接矩形的一对对角顶点,即获得最小外接矩形在x轴上的最小值xmin,最大值xmax、y轴上的最小值ymin,最大值ymax,重复本步骤,获取所有器件的最值点;步骤3、计算并获取连线两端相连的器件:3.1、获取与连线起点相连的器件:对于单个器件,连线起点位置ps的x轴坐标为psx,y轴坐标为psy;1)若连线起点位置ps既不满足xmin≤psx≤xmax也不满足ymin≤psy≤ymax,则确定该器件与所述连线起点不相连;2)若连线起点位置ps满足xmin≤psx≤xmax但不满足ymin≤psy≤ymax,则所述连线起点与器件最小外接矩形的最短距离为:dmin=(|ymin‑psy|,|ymax‑psy|)min3)若连线起点位置ps不满足xmin≤psx≤xmax但满足ymin≤psy≤ymax,则所述连线起点与器件最小外接矩形的最短距离为:dmin=(|xmin‑psx|,|xmax‑psx|)min4)若连线起点位置ps即满足xmin≤psx≤xmax也满足ymin≤psy≤ymax,则所述连线起点与器件最小外接矩形的最短距离为:dmin=(dxmin,dymin)min其中dxmin=(|xmin‑psx|,|xmax‑psx|)min,dymin=(|ymin‑psy|,|ymax‑psy|)min5)若满足dmin<<(xmax‑xmin,ymax‑ymin)min,则确定该器件就是与所述连接起点相连的器件,否则说明该器件与所述连线起点不相连;重复步骤3.1,直到获取与连线起点相连的器件;3.2、获取与连线终点相连的器件:对于单个器件,连线终点位置pe的x轴坐标pex,y轴坐标为pey;1)若连线终点位置pe既不满足xmin≤pex≤xmax也不满足ymin≤pey≤ymax,则确定该器件与所述连线终点不相连;2)若连线终点位置pe满足xmin≤pex≤xmax但不满足ymin≤pey≤ymax,则所述连线终点与器件最小外接矩形的最短距离为:dmin=(|ymin‑pey|,|ymax‑pey|)min3)若连线终点位置pe不满足xmin≤pex≤xmax但满足ymin≤pey≤ymax,则所述连线终点与器件最小外接矩形的最短距离为:dmin=(|xmin‑pex|,|xmax‑pex|)min4)若连线终点位置pe即满足xmin≤pex≤xmax也满足ymin≤pey≤ymax,则所述连线终点与器件最小外接矩形的最短距离为:dmin=(dxmin,dymin)min其中dxmin=(|xmin‑pex|,|xmax‑pex|)min,dymin=(|ymin‑pey|,|ymax‑pey|)min5)若满足dmin<<(xmax‑xmin,ymax‑ymin)min,则确定该器件就是与所述连接终点相连的器件,否则说明该器件与所述连线终点不相连;重复步骤3.2,直到获取与连线终点相连的器件;步骤4、自定义器件端口编号并存储器件信息:通过与连线相连接的器件与原图纸库中的器件作对比,判定该器件是否为图纸库中原有的器件,若是则按照步骤4.1对器件端口进行编号,若否则按照步骤4.2对器件端口进行编号;4.1、对图纸数据库中原有的器件编号:对于图纸库中原有的器件,通过比较库中器件基点与端口的位置,确定器件基点与各端口的相对位置关系,通过这种相对位置关系确定每个端口在图纸中的位置,并对各个端口进行编号,编号规则为输入端口的编号为0,以输入端口为参考,以顺时针方向对其它端口进行递增编号;4.2、对图纸数据库中后添加的器件编号:1)对于所有的连线,利用步骤3中连线和器件相连接的判断方法,通过与连线相连的器件,获取与该器件相连接的所有连线,并记录与该器件相连的端口点坐标;2)以最小外接矩形的中心点作为顺时针旋转的中心点O,以中心点O作一条平行于x轴的单位向量然后依次计算和的夹角,其中Ai表示第i个端口点,其中i≥1,角度范围为0°~360°,根据夹角的大小,将各端口点通过顺时针旋转方向进行排序;3)以中心点O到器件最小外接矩形的左下角的顶点A(xmin,ymin)为起始矢量顺时针旋转,将第一个旋转到的端口点...
【技术特征摘要】
1.一种基于AutoCAD平台提取室内分布图纸中器件连接关系的方法,其特征在于,器件在图纸中都以图块的形式表示,该方法包括:该方法包括:步骤1、读取并存储连线信息:在AutoCAD平台上打开室内分布图纸,选定操作区域,从操作区域中获取全部连线的起点位置ps、终点位置pe和实际长度L,创建用于存放器件连接关系的容器,并将连线起点位置ps的x轴坐标psx和y轴坐标psy及实际长度L存储到所述容器中;步骤2、计算并获取器件的最值点:从所述操作区域内过滤出所有器件,根据单个器件的形状计算出器件的最小外接矩形,并记录最小外接矩形的一对对角顶点,即获得最小外接矩形在x轴上的最小值xmin,最大值xmax、y轴上的最小值ymin,最大值ymax,重复本步骤,获取所有器件的最值点;步骤3、计算并获取连线两端相连的器件:3.1、获取与连线起点相连的器件:对于单个器件,连线起点位置ps的x轴坐标为psx,y轴坐标为psy;1)若连线起点位置ps既不满足xmin≤psx≤xmax也不满足ymin≤psy≤ymax,则确定该器件与所述连线起点不相连;2)若连线起点位置ps满足xmin≤psx≤xmax但不满足ymin≤psy≤ymax,则所述连线起点与器件最小外接矩形的最短距离为:dmin=(|ymin-psy|,|ymax-psy|)min3)若连线起点位置ps不满足xmin≤psx≤xmax但满足ymin≤psy≤ymax,则所述连线起点与器件最小外接矩形的最短距离为:dmin=(|xmin-psx|,|xmax-psx|)min4)若连线起点位置ps即满足xmin≤psx≤xmax也满足ymin≤psy≤ymax,则所述连线起点与器件最小外接矩形的最短距离为:dmin=(dxmin,dymin)min其中dxmin=(|xmin-psx|,|xmax-psx|)min,dymin=(|ymin-psy|,|ymax-psy|)min5)若满足dmin<<(xmax-xmin,ymax-ymin)min,则确定该器件就是与所述连接起点相连的器件,否则说明该器件与所述连线起点不相连;重复步骤3.1,直到获取与连线起点相连的器件;3.2、获取与连线终点相连的器件:对于单个器件,连线终点位置pe的x轴坐标pex,y轴坐标为pey;1)若连线终点位置pe既不满足xmin≤pex≤xmax也不满足ymin≤pey≤ymax,则确定该器件与所述连线终点不相连;2)若连线终点位置pe满足xmin≤pex≤xmax但不满足ymin≤pey≤ymax,则所述连线终点与器件最小外接矩形的最短距离为:dmin=(|ymin-pey|,|ymax-pey|)min3)若连线终点位置pe不满足x...
【专利技术属性】
技术研发人员:马秀荣,李俊胜,单云龙,孙万飞,
申请(专利权)人:天津理工大学,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。