C# | 批量将CAD图幅网格外扩生成新图框(附源代码下载)

本文介绍如何使用C#批量处理CAD图幅,通过选择集过滤和对象外包矩形获取图框坐标,根据偏移距离创建新图框。详细步骤包括选择过滤、坐标获取、新图框构建及内存中多段线对象的创建。程序执行后,原始图框会外扩形成有重叠的新图框。
摘要由CSDN通过智能技术生成

在这里插入图片描述

之前遇见一个客户问题,要将每一个图幅网格进行向外偏移一定距离,保证每张图幅都有一部分重叠度。

认真思考了一下就是向图面添加由多段线构成的正四边形、我的设计思路是这样的:
首先进行选择集过滤,因为在图形中不只有图框线,还有注记等其他实体,将其他实体过滤掉、只选择图框线;
第二、对选择的图形进行循环,获取每个图框的ObjectId,根据ObjectId获取实体的外包矩形,得到左下角点和右上角点,因为是正四边形,外包矩形和图幅网格图形一致,这样就拿到了图框的左下角点和右上角点的坐标;
第三、根据偏移的距离构造出新图框的左下角点和右上角点,并交会出新图框的另外两个角点的坐标;
第四、在内存中新建Polyline对象,将点按顺序依次连接并闭合;最后、向图面添加实体,提交数据。
在这里插入图片描述

程序编写流程

下图是目前原始图框各点和外扩后图框各点之间的对应关系图,黑色边框是目前原始图框边线,minPoint和maxPoint分别为图框的左下角点和右上角点。根据偏移距离构造出新的图框(红色框线)。

构建新图框示意图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值