(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211152907.0
(22)申请日 2022.09.21
(71)申请人 金鹏装配式建 筑有限公司
地址 239000 安徽省滁州市南谯新区乌衣
工业园兴隆路43 0号
(72)发明人 易郴 陈甫亮 田武 李扬
廖智强
(74)专利代理 机构 滁州创科维知识产权代理事
务所(普通 合伙) 34167
专利代理师 原明月
(51)Int.Cl.
G06F 30/13(2020.01)
G06F 30/12(2020.01)
(54)发明名称
用于CAD中无法面域化的多段线重合判定方
法
(57)摘要
本发明公开了用于CAD中无法面域化的多 段
线重合判定方法, 涉及多段线重合分析技术领
域。 本发明包括: 获取多段线pl1、 多段线pl2的交
点集Ins; 判断交点的数量: 若交点数量为0, 则多
段线pl1、 多段线pl2不重合, 否则, 开始创建公共
区域; 若创建公共区域失败, 则多段线pl1、 多段
线pl2不重合, 若成功创建公共区域, 则进行以下
判断: 在面积比值达到9 0%以上时, 认定重合, 否
则不重合。 本发明通过采用模糊精度的算法, 大
致根据面积比去进行矩形重合判定。 使得整体系
统在处理不同的图纸时, 有较好的适应能力, 可
以获得较为准确的结果, 尽可能的减少不利因素
的干扰, 使得图纸上的矩形处理更加灵活, 适应
范围更广。
权利要求书2页 说明书6页 附图9页
CN 115481475 A
2022.12.16
CN 115481475 A
1.用于CAD中无法面 域化的多段线重合判定方法, 其特 征在于, 包括以下步骤:
步骤S1: 获取多段线pl1、 多段线pl2的交点 集Ins;
步骤S2: 判断交点的数量: 若交点数量为0, 则 多段线pl1、 多段线pl2不重合, 否则, 开始
创建公共区域;
步骤S3: 若创建公共区域失败, 则 多段线pl1、 多段线pl2不重合, 若成功创建公共区域,
则进行以下判断:
或
则多段线pl1、 多段线pl2重合, 否则不重合, 其
中, Area为公共区域的面积, pl1.A rea、 pl2.A rea为多段线pl1、 多段线pl2的面积。
2.根据权利要求1所述的用于CAD中无法面域化的多段线重合判定方法, 其特征在于,
所述步骤S2中, 创建公共区域时执 行以下算法:
S01: 以交点集Ins中的第一个点Ins[0]作为起始点Fp, 以起始点Fp初始化一个面积为0
的封闭矩形Rec;
S02: 在CAD二维环境中初始化 起始查找点Po, 令Po =Fp;
S03: 通过右手定则, 在方向 向量值集合VecLists中匹配正确的方向 向量Fv;
S04: 若匹配不到正确的方向 向量Fv, 则返回无 结果;
S05: 若匹配到正确的方向向量Fv, 则检索获取交点集Ins中位于方向向量Fv上的点, 并
将起始查找点Po的值更新 为该点;
S06: 判定更新后的起始查找点Po与起始点Fp是否一致, 如果一致, 则跳出循环, 返回封
闭矩形Rec;
S07: 更新后的起始查找点Po与 起始点Fp不一致, 则将更新后的起始查找点Po添加至封
闭矩形Rec的点 集合中, 继续循环S0 3‑S07。
3.根据权利要求2所述的用于CAD中无法面域化的多段线重合判定方法, 其特征在于,
所述S05中, 获取交点 集Ins中位于方向 向量Fv上的点时执 行以下算法:
S041: 分别提取多段线pl1、 多段线pl2的点 集合pl1pos、 点 集合pl2pos;
S042: 将交点 集Ins、 点集合pl1pos、 点 集合pl2pos合并, 去重后形成点 集合Allpos;
S043: 遍历点集合Allpos中的所有点, 分别计算点集合Allpos中的每一个点P与起始查
找点Po之间形成的向量C heckVector;
S044: 判断向量CheckVector与方向向量Fv是否平行且同向, 若是, 则将点集合Allpos
中对应的点添加至点 集合Mpos;
S045: 将点集合Mpos中与起始查找点Po距离最小的点定义为更新点Pg, 返回更新点Pg
至调用函数中, 并将起始查找点Po更新 为更新点Pg。
4.根据权利要求3所述的用于CAD中无法面域化的多段线重合判定方法, 其特征在于,
所述S045中, 若更新 点Pg与起始点Fp相同, 则返回形成的封闭矩形Rec;
否则, 将更新 点Pg添加至 封闭矩形Rec的点 集合中。
5.根据权利要求1所述的用于CAD中无法面域化的多段线重合判定方法, 其特征在于,
还包括在先分析, 在先分析步骤为:
S11: 在CAD中对多段线pl1、 多段线pl2进行面 域化操作;权 利 要 求 书 1/2 页
2
CN 115481475 A
2S12: 若多段线pl1、 多段线pl2面域化失败, 则进行步骤S1 ‑S3; 若多段线p l1、 多段线pl2
面域化成功, 则进行S13;
S13: 对多段线pl1、 多段线pl2纸箱 布尔操作剪切, 获得公共面积A rea;
S14: 若
或
则多段线pl1、 多段线pl2重合, 否则不
重合。
6.根据权利要求2所述的用于CAD中无法面域化的多段线重合判定方法, 其特征在于,
所述方向 向量值集合VecLists包括四个单位向量, 四个单位向量分别为:
单位向量VR: 水平向右、 单位向量VU: 水平向上、 单位向量VL: 水平向左、 单位向量VD: 水
平向下。
7.根据权利要求6所述的用于CAD中无法面域化的多段线重合判定方法, 其特征在于,
所述S03中, 通过右手定则, 在方向向量值集合VecLists中匹配正确的方向向量Fv的方法
为:
步骤S031: 令方向 向量Vec=单位向量VL, 暂定正确的方向 向量Fvo=单位向量VU;
步骤S032: 创建新点: 将起始查找点Po沿着方向向量Fvo的方向移动方向向量Fvo的长
度形成新 点CheckPoint;
步骤S033: 判断新 点CheckPoint是否在多段线pl1和多段线pl2内;
若新点CheckPoint在多段线pl1和多段线pl2内, 则暂定的方向向量Fvo即为匹配正确
的方向向量Fv;
否则, 匹配不到正确的方向 向量Fv并进行步骤S0 34;
步骤S034: 按照步骤S031原理依次令方向向量Vec=单位向量VR、 单位向量VU、 单位向
量VD, 对应的依次暂定正确的方向向量Fvo=单位向量VD、 单位向量VR、 单位向量VL, 再分别
重复步骤S032 ‑步骤S033原理, 若匹配到正确的方向向量Fv则结束, 若均匹配不到正确的方
向向量Fv, 则返回无 结果。
8.根据权利要求7 所述的用于 CAD中无法面 域化的多段线重合判定方法, 其特 征在于:
若匹配正确的方向向量Fv为单位向量VU, 则起始查找点Po对应的方向为单位向量VL对
应的方向;
若匹配正确的方向向量Fv为单位向量VD, 则起始查找点Po对应的方向为单位向量V R对
应的方向;
若匹配正确的方向向量Fv为单位向量VR, 则起始查找点Po对应的方向为单位向量VU对
应的方向;
若匹配正确的方向向量Fv为单位向量VL, 则起始查找点Po对应的方向为单位向量VD对
应的方向。
9.根据权利要求1所述的用于CAD中无法面域化的多段线重合判定方法, 其特征在于,
所述的方法用于建筑中判断墙体上方是否有梁, 判断墙体上方是否有梁时, 多段线1为墙
体, 多段线2为梁, 若 多段线1、 多段线2重合, 则墙 体上部有梁。权 利 要 求 书 2/2 页
3
CN 115481475 A
3
专利 用于CAD中无法面域化的多段线重合判定方法
文档预览
中文文档
18 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共18页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 17:36:54上传分享