[发明专利]受限情况下的三维模型生成方法、系统、装置及存储介质在审
申请号: | 202210971994.6 | 申请日: | 2022-08-13 |
公开(公告)号: | CN115578544A | 公开(公告)日: | 2023-01-06 |
发明(设计)人: | 肖霞;朱晶;张成;陈俊;袁鹏 | 申请(专利权)人: | 重庆三原色节能建筑工程有限公司 |
主分类号: | G06T19/20 | 分类号: | G06T19/20;G06T17/10;G06F30/13 |
代理公司: | 重庆大学专利中心 50201 | 代理人: | 黄涛 |
地址: | 401120 重庆市渝*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 受限 情况 三维 模型 生成 方法 系统 装置 存储 介质 | ||
1.受限情况下的三维模型生成方法,其特征在于,包括以下策略:
步骤S1获取用于拉伸层实体的基面的轮廓,再获取轮廓所有点的集合;
步骤S2获取点集中的左上角点、右上角点、左下角点和右下角点,将四个角连接组成一个外接矩形;
步骤S3取出轮廓的边的集合,并判断边的数量是否大于四,如果否则退出并保持基面轮廓不变,如果是则继续;
步骤S4依照各条边在集合里的顺序,循环遍历轮廓的所有边,首先判断当前边是否为影响拉伸操作的超短边,是则继续,否则返回取下一条边;遍历结束后得到处理后的轮廓的边的集合,并以此形成新的用于拉伸的面的轮廓;
步骤S5获取当前边、集合中的上条边以及集合中的下条边;
步骤S6取出当前边的起点和终点,判断当前边的起点和终点是否在轮廓的外接矩形的同一条边上,具体可以通过点到线的距离是否为0进行判别,如果是则步骤S4进入下一次循环,如果否则继续;
步骤S7取出上条边的起点和终点,判断上条边的起点和终点是否在外接矩形的同一条边上,如果是则继续,如果否则转至步骤S22;
步骤S8取出下条边的起点和终点,判断下条边的起点和终点是否在外接矩形的同一条边上,如果是则继续,如果否则转至步骤10;
步骤S9将集合中上条边替换为以上条边的起点为起点,以下条边的终点为终点的直线,并删除下条边和当前边,再转至步骤S4进入下条边的循环;
步骤S10获取上上条边和下下条边的起点和终点,并以下下条边的起点朝下下条边的反方向移动当前边的长度的点为直线的起点,以下下条边的终点作为直线的终点重新定义一条直线称第一直线;
步骤S11获取第一直线与上条边的交点,通常通过软件自带的指令函数完成,例如Revit软件中的InterSec函数,如果第一直线与上条边有交点则继续,如果无交点则转步骤S16;
步骤S12将下下条边替换为所定义的第一直线;
步骤S13判断交点是否与上条边的起点重合,如果是则继续,如果否则转至步骤S15;
步骤S14从集合中删除上条边、当前边以及下条边,并转至步骤S4进入下一次循环;
步骤S15将上条边替换为以上条边的起点为起点,以交点为终点的直线,并且从集合中删除下条边和当前边,并转至步骤S4进入下一次循环;
步骤S16将上条边的起点作为直线的起点,将上条边的终点朝上条边的朝向方向移动下条边的距离的点作为直线的终点,重新定义一条直线称第二直线;
步骤S17获取第二直线与下下条边的交点,如果第二直线与下下条边有交点,则继续,如果没有交点则至步骤S4进入下一次循环;
步骤S18将下条边替换为第二直线;
步骤S19判断交点与下下条边的终点是否重合,如果是则继续,如果否则转到步骤S21;
步骤S20删除集合中的下下条边、当前边和下条边,并转至步骤S4进入下一次循环;
步骤S21将下下条边替换为以交点为起点,以下下条边的终点为终点的直线,同时删除下条边以及当前边,并转至步骤S4进入下一次循环;
步骤S22获取上上条边和下下条边的起点和终点;
步骤S23判断下一条边的起点和终点是否在外接矩形的同一条边上,如是则继续,如果否则转至步骤36;
步骤S24以上上条边的起点为直线的起点,以上上条边的终点朝上上条边的朝向方向移动当前边的长度的点作为直线的终点,重新定义一条直线称第三直线;
步骤S25获取第三直线与上条边的交点,如果有交点则继续,如果无则转至步骤S30;
步骤S26将上上条边替换为定义的直线;
步骤S27判断该交点与下条边的起点是否重合,如果是则继续,如果否则转至S29;
步骤S28从集合中删除下条边、当前边以及上条边,并转至步骤S4进入下一次循环;
步骤S29将下条边替换为以交点为起点,以下条边的终点为终点的直线,并在删除集合中上条边和当前边后,转至步骤S4进入下一次循环;
步骤S30以下条边的起点朝下条边的朝向相反的方向移动上条边的长度的点作为直线的起点,以下条边的终点作为直线的终点重新定义一条直线称为第四直线;
步骤S31获取第四直线与下下条边的交点,如果有交点则继续,如果无交点则转至步骤是S4进入下一次循环;
步骤S32将下条边替换为定义第四直线;
步骤S33判断该交点与上上条边的起点是否重合,如果重合则继续,如果否则转至步骤35;
步骤S34删除上上条边、当前边以及上条边并转至步骤S4进入下一次循环;
步骤S35将上上边替换为以上上条边的起点为起点,以交点为终点的直线,同时从集合中删除上条边和当前边,转至步骤是S4进入下一次循环;
步骤S36判断是否上上条边的起点和下下条边的终点在一条直线上,且上上条边的终点和下下条边的起点在一条直线上,如果是则继续,如果否则转至步骤S38;
步骤S37从集合中删除下下条边、当前边、上条边以及下条边,并替换上上条边为以上上条边的起点为起点,下下条边的终点为终点的直线,在转至步骤S4进入下一次循环;
步骤S38判断上条边的长度是否大于下条边的长度,如果是则继续,如果否则转至步骤S24;
步骤S39以下下条边的起点朝下下条边的反方向移动当前边的长度的点为直线的起点,以下下条边的终点朝下下条边的反方向移动当前边的长度的点作为为直线的终点重新定义一条直线称第五直线;
步骤S40获取第五直线与上条边的交点,如果有交点则继续,如果无则转至步骤S45;
步骤S41将下下条边替换第五直线;
步骤S42判断该交点与上条边的起点是否重合,如果是则继续,如果否则转至步骤S44;
步骤S43删除集合中的上条边、当前边以及下条边,然后转至步骤S4进入下一次循环;
步骤S44将上条边替换为以上条边的起点为起点,以交点为终点的直线,并在删除集合中的下条边和当前边后转至步骤S4进入下一次循环;
步骤S45以上条边的起点为直线的起点,以上条边的终点朝上条边的朝向方向移动下条边的长度的点作为直线的终点重新定义一条直线记为第六直线;
步骤S46获取第六直线与下下条边的交点,如果有交点则继续,如果无交点则转至步骤S4进入下一次循环;
步骤S47将上条边替换为第六直线;
步骤S48判断该交点与下下条边的终点是否重合,如果是则继续,如果否则转至步骤S50;
步骤S49从集合中删除下下条边、当前边以及下条边并转至步骤S4进入下一次循环;
步骤S50将下下边替换为以交点为起点,以下下条边的终点为终点的直线,删除下条边、删除当前边并从集合中删除下条边和当前边后再并转至步骤S4进入下一次循环。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆三原色节能建筑工程有限公司,未经重庆三原色节能建筑工程有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210971994.6/1.html,转载请声明来源钻瓜专利网。