[发明专利]利用Region类代替AutoCAD面域进行图形计算的方法有效
| 申请号: | 201410775243.2 | 申请日: | 2014-12-15 |
| 公开(公告)号: | CN104463928B | 公开(公告)日: | 2018-01-05 |
| 发明(设计)人: | 周志军;陈翰新;向泽君;张平;朱清海;刘远凯;何德平;潘成军;谢征海;周召兵;冯永能;刘洪海;王昌翰;张凤英;杨本廷;朱伟;冉瑞华;廖中林;刘洋河;肖兴国;滕德贵;岳仁宾;黄建;潘攀;邱友荣;范华锋;邹方猛;秦亚华;田世华;胡一勤;吴昊;覃渝;余亨源;陈剑坤;沈翠;陈小丽;刘小云;刘超;吴秀娟;徐娟 | 申请(专利权)人: | 重庆市勘测院 |
| 主分类号: | G06T11/00 | 分类号: | G06T11/00 |
| 代理公司: | 重庆市前沿专利事务所(普通合伙)50211 | 代理人: | 陈红 |
| 地址: | 400020 *** | 国省代码: | 重庆;85 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 利用 region 代替 autocad 进行 图形 计算 方法 | ||
1.一种利用Region类代替AutoCAD面域进行图形计算的方法,其特征在于,包括以下步骤:
S1,获取AutoCAD线图形对象,并对线图形对象重采样,以坐标点集P的方式表达所述线图形对象,所述线图形对象包括局部不闭合、回头线、自相交的线图形,具体包括以下步骤:
S21,定义类型为AcadEntity的图形对象obj,定义类型为AcadSelectionSet的选择集Sset;
S22,应用AcadSelectionSet.SelectOnScreen()方法在AutoCAD绘图区域选择对象,通过对Sset选择集遍历查找,逐一读取选择集里的图形对象;
S23,如果obj(i).objectName为“AcDbPolyLine”,则通过obj(i).Coordinates方法逐一读取多段线的节点坐标构建点集P,其中,i代表对象的序号;
如果obj(i).objectName为曲线,包括AcDbCircle、AcDbARC、AcDbELLIPSE及AcDbSPLINE,则通过调用AutoCAD内置命令“_divide”对所述曲线对象进行曲线分割处理,分割处理完成后各曲线对象则行成了一系列有序的点队列,点队列里的点的类型为AcadPoint,通过AcadPoint.Coordinates方法逐一读取点队列里的点的坐标值构建点集P;
S2,组建面域构造函数,将步骤S1重采样得到的点集P输入面域构造函数,完成Region类面域的构造;
S3,基于Region类面域实现相关图形计算方法。
2.根据权利要求1所述的利用Region类代替AutoCAD面域进行图形计算的方法,其特征在于,所述面域函数的构造方法包括以下步骤:
S31,定义类型为PointF()的点集P,给点集P赋值;
S32,定义类型为GraphicsPath的多边形Grphs,调用GraphicsPath的AddPolygon方法生成Grphs;
S33,初始化面域Region(),输入多边形Grphs,完成面域构造。
3.根据权利要求1所述的利用Region类代替AutoCAD面域进行图形计算的方法,其特征在于,所述与面域有关的图形计算包括面积计算、布尔运算及点与面域的位置关系判断。
4.根据权利要求3所述的利用Region类代替AutoCAD面域进行图形计算的方法,其特征在于,所述面积计算的方法为:通过面域的Region.GetRegionScans方法对Region面域进行矩阵变换,分解成多个小矩形的集合,最后通过各小矩形的面积累加得到面域的面积;
其中,在进行矩阵变换时,由于GetRegionScans方法在处理面域边界数据时视为整型对待,因此处理结果会损失精度,为了保证面积计算的准确性,在构建面域时,将点集P的值放大N倍,最后将计算结果缩小N*N倍,所述N为正整数。
5.根据权利要求4所述的利用Region类代替AutoCAD面域进行图形计算的方法,其特征在于,所述N=10000。
6.根据权利要求3所述的利用Region类代替AutoCAD面域进行图形计算的方法,其特征在于,所述布尔运算包括交集、并集及差集计算,其中,交集计算采用Region.Intersect(Region)方法,并集计算采用Region.Union(Region)方法,差集计算采用Region.Xor(Region)方法。
7.根据权利要求3所述的利用Region类代替AutoCAD面域进行图形计算的方法,其特征在于,所述点与面域的位置关系判断方法为:采用Region.IsVisible(PointF)方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆市勘测院,未经重庆市勘测院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410775243.2/1.html,转载请声明来源钻瓜专利网。





