CN115393546A - 一种bim模型分拆展示的方法 - Google Patents
一种bim模型分拆展示的方法 Download PDFInfo
- Publication number
- CN115393546A CN115393546A CN202210892192.6A CN202210892192A CN115393546A CN 115393546 A CN115393546 A CN 115393546A CN 202210892192 A CN202210892192 A CN 202210892192A CN 115393546 A CN115393546 A CN 115393546A
- Authority
- CN
- China
- Prior art keywords
- coordinate system
- component
- axis
- relative coordinate
- grid
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004364 calculation method Methods 0.000 claims abstract description 37
- 150000001875 compounds Chemical class 0.000 claims description 28
- 101150096839 Fcmr gene Proteins 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 7
- 238000004590 computer program Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004880 explosion Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/08—Construction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- General Engineering & Computer Science (AREA)
- Architecture (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种BIM模型分拆展示的方法,包括建立相对坐标系,在相对坐标系中划分网格;根据计算策略计算包含至少两个构件的网格中每个构件与网格中心点之间的距离;将距离最小的构件作为目标构件,其他的构件作为剩余构件,确定中每个剩余构件与目标构件之间的初始距离,以使每个目标构件通过预设的构件移动策略根据初始距离进行移动;重复执行步骤,直至所有网格中包含的构件数量均小于等于1为止;确定按照移动策略移动之后每个构件在实际坐标系中的实际坐标值,以完成待分拆模型的分拆和展示,本发明在保留构件间相对位置关系的同时,使所有构件分拆后与相邻构件保持充分距离,对模型细节展示效果好。
Description
技术领域
本发明涉及一种BIM模型分拆展示的方法,属于建筑工程信息技术领域。
背景技术
近年来,建筑行业发展越来越迅速,建筑信息模型简称BIM技术(BuildingInformation Modeling)作为一种新兴的信息技术,已经广泛应用于建筑项目的各个领域,建筑学、工程学及土木工程的新工具。建筑信息模型或建筑资讯模型一词由Autodesk所创的。它是来形容那些以三维图形为主、物件导向、建筑学有关的电脑辅助设计。当初这个概念是由Jerry Laiserin把Autodesk、奔特力系统软件公司、Graphisoft所提供的技术向公众推广。通过对建筑三维模型的数据化、信息化整合,实现信息在项目策划、设计、施工和运维的全生命周期过程中进行共享和传递,为各方建设主体提供协同工作的基础,在提高生产效率、节约成本和缩短工期方面发挥重要作用。在通过BIM协同工作的过程中,往往采用的是适用于浏览器加载的轻量化BIM模型,但目前轻量化BIM引擎的展示功能较为单一,当需要查看模型中某个构件的细节时,只能在整体模型中对其进行放大,往往无法全面展示构件的全部细节。例如申请号为 CN201810913254.0,发明名称为“一种BIM展示的方法”的发明专利申请,以模型中心为球心,公开了一种BIM展示的方法,通过特殊模型的特性获取相关坐标,利用公式求出新坐标完成爆炸效果展示;在网页中导入Obj模型和stl 模型,通过Obj模型可以获取每个部件的中心坐标,通过stl模型可以获取模型整体的中心坐标,以整体坐标为中心点,设定部件爆炸距离,设定爆炸方向,通过公式获取每个部件爆炸后的坐标,将部件通过动画移动到指定坐标,完成爆炸效果。但这种方法展开效果较好,对远离球心的部件则展开效果并不明显,因此更适用于构件数量少、结构简单的BIM模型,同时可能模型的部件较紧凑,造成某个区域的部件较多,影响部件的展开效果。
发明内容
针对上述存在的技术问题,本发明提供了一种使BIM模型中部件的展开效果更好的BIM模型分拆展示的方法。
一种BIM模型分拆展示的方法,包括如下步骤:
以待拆分展示模型的外接长方体的最小角点为原点建立与BIM系统中实际坐标系平行的相对坐标系,根据预设的网格划分密度在相对坐标系中划分网格;
将包含至少两个构件的网格确定为目标网格,根据预设的曼哈顿距离计算策略计算目标网格中每个构件与目标网格中心点之间的曼哈顿距离;
将曼哈顿距离最小的构件作为目标构件,并安置在目标网格中;
将目标网格中除了目标构件其他的构件作为剩余构件,确定目标网格中每个剩余构件与目标构件之间的初始距离,以使每个目标构件通过预设的构件移动策略根据初始距离进行移动;
重复执行从将包含至少两个构件的网格确定为目标网格至确定目标网格中每个剩余构件与目标构件之间的初始距离,以使每个目标构件通过预设的构件移动策略根据初始距离进行移动的步骤,直至所有网格中包含的构件数量均小于等于1为止;
根据相对坐标系和实际坐标系之间的对应关系,确定按照构件移动策略移动之后每个构件在实际坐标系中的实际坐标值,以完成待分拆模型的分拆和展示。
对上述技术方案的进一步改进为:以待拆分展示模型的外接长方体的最小角点为原点建立与BIM系统中实际坐标系平行的相对坐标系的计算模型为:
式中,为构件i在相对坐标系下的x轴坐标;为构件i在相对坐标系下的y轴坐标;为构件i在相对坐标系下的z轴坐标;x(i)为构件i在实际坐标系下的x轴坐标;y(i)为构件i在实际坐标系下的y轴坐标;z(i)为构件i在实际坐标系下的z轴坐标;X0为待拆分展示模型的外接长方体在实际坐标系下的最小角点的x轴坐标;Y0为待拆分展示模型的外接长方体在实际坐标系下的最小角点的y轴坐标;Z0为待拆分展示模型的外接长方体在实际坐标系下的最小角点的 z轴坐标;N为待拆分展示模型中构件的总数;
其中待拆分展示模型的外接长方体的长作为x轴,待拆分展示模型的外接长方体的宽作为y轴,待拆分展示模型的外接长方体的高作为z轴。
进一步的,根据预设的网格划分密度在相对坐标系中划分网格还包括如下子步骤;
根据预设的网格划分密度在相对坐标系中划分网格,得到相对坐标系中x轴、 y轴和z轴方向的步长;其计算模型为:
式中,sx为相对坐标系下的x轴方向的步长;sy为相对坐标系下的y轴方向的步长;sz为相对坐标系下的z轴方向的步长;Lx为待拆分展示模型的外接长方体的长;Ly为待拆分展示模型的外接长方体的宽;Lz为待拆分展示模型的外接长方体的高;n为预设的网格划分密度。
进一步的,将包含至少两个构件的网格确定为目标网格,根据预设的曼哈顿距离计算策略计算目标网格中每个构件与目标网格中心点之间的曼哈顿距离之前还包括如下步骤:
根据相对坐标系中x轴、y轴和z轴方向的步长,计算每个构件所属网格编号,其计算模型为:
式中,为构件i在相对坐标系中x轴方向中的网格编号;为构件i在相对坐标系中y轴方向中的网格编号;为构件i在相对坐标系中z轴方向中的网格编号;为构件i在相对坐标下的x轴坐标;为构件i在相对坐标下的y轴坐标;为构件i在相对坐标下的z轴坐标;sx为相对坐标下的x轴方向的步长; sy为相对坐标下的y轴方向的步长;sz为相对坐标下的z轴方向的步长。
进一步的,预设的曼哈顿距离计算策略为:
式中d(i)为构件i距离目标网格中心点的曼哈顿距离,为构件i在相对坐标下的x轴坐标;为构件i在相对坐标下的y轴坐标;为构件i在相对坐标下的z轴坐标;为构件i在相对坐标系中x轴方向中的网格编号;为构件i在相对坐标系中y轴方向中的网格编号;为构件i在相对坐标系中z轴方向中的网格编号;sx为相对坐标下的x轴方向的步长;sy为相对坐标下的y轴方向的步长; sz为相对坐标下的z轴方向的步长。
进一步的,确定目标网格中每个剩余构件与目标构件之间的初始距离包括如下子步骤:计算目标网格中每个剩余构件与目标构件之间相对坐标系中x轴、 y轴和z轴方向的距离,其计算模型为:
式中,为剩余构件K与目标构件M在相对坐标系中x轴方向的初始距离;为剩余构件K与目标构件M在相对坐标系中y轴方向的初始距离;为剩余构件K与目标构件M在相对坐标系中z轴方向的初始距离;为剩余构件K 在相对坐标系下的x轴坐标;为剩余构件K在相对坐标系下的y轴坐标;为剩余构件K在相对坐标系下的z轴坐标;为目标构件M在相对坐标系下的 x轴坐标;为目标构件M在相对坐标系下的y轴坐标;为目标构件M在相对坐标系下的z轴坐标。
进一步的,预设的构件移动策略为:
选取每个剩余构件在相对坐标系中x轴、y轴和z轴方向的距离中绝对值最大的轴,作为移动方向进行移动;其计算模型为:
式中,为每个剩余构件K与目标构件M在相对坐标系中x轴方向的初始距离;为剩余构件K与目标构件M在相对坐标系中y轴方向的初始距离;为剩余构件K与目标构件M在相对坐标系中z轴方向的初始距离;p轴为剩余构件K在相对坐标系中x轴、y轴和z轴方向的距离中绝对值最大的轴;为为剩余构件K在相对坐标系中p轴方向的距离。
若剩余构件待移至的网格内已有其它构件,若剩余构件K是沿p轴正方向移动的,则除剩余构件K外,对所有p轴方向上编号大于的构件,都往向p轴正方向移动一个网格;若剩余构件K是沿p轴负方向移动的,对所有p轴方向上编号大于的构件,都往向p轴正方向移动一个网格,其计算模型为:
进一步的,根据相对坐标系和实际坐标系之间的对应关系,确定按照构件移动策略移动之后每个构件在实际坐标系中的实际坐标值之前还包括如下步骤,
计算相对坐标系中x轴方向上的最大网格数和网格的相对尺寸,其计算模型为
式中,为所述相对坐标系中x轴方向上第j层网格的相对长度,为所述相对坐标系中x轴方向上第j层网格中所有构件的长度的集合,如果该集合为空集,则说明该层网格中没有构件,于是该层网格的相对长度为0;如果该集合非空,则取该层所有构件中长度最大的构件,以其长度作为本层网格的相对长度。
进一步的,计算相对坐标系中x轴方向上的最大网格数和网格的相对尺寸之后还包括如下步骤:
根据相对坐标系中x轴方向上的最大网格数和网格的相对尺寸计算出各网格在相对坐标系中x轴方向上的相对坐标系中的相对坐标;
同理计算出各网格在相对坐标系中y轴和z轴方向上相对坐标系中的相对坐标;
根据构件的网格编号对应其在相对坐标系中的相对坐标。
进一步的,根据相对坐标系和实际坐标系之间的对应关系,确定按照构件移动策略移动之后每个构件在实际坐标系中的实际坐标值包括如下子步骤:
按照构件移动策略移动之后每个构件在相对坐标系中的相对坐标,按照相对坐标系和实际坐标系之间的对应关系,转换成构件移动策略移动之后每个构件的实际坐标值;其相对坐标系和实际坐标系之间的对应关系为
式中,为构件i在实际坐标系下的x轴坐标;为构件i在实际坐标系下的y轴坐标;为构件i在实际坐标系下的z轴坐标;为构件i在子相对坐标系中的x轴坐标;为构件i在相对坐标系中的y轴坐标,为构件i在相对坐标系中的z轴坐标。
由上述技术方案可知:本发明提供的使BIM模型分拆展示的方法通过建立与BIM系统中实际坐标系平行的相对坐标系,并在相对坐标系中划分网格;来把控拆分后的构件的相对距离,使所有构件分拆后与相邻构件保持充分距离,将待拆分展示模型的细节更好的展示;
再将包含至少两个构件的网格确定为目标网格,根据预设的曼哈顿距离计算策略计算目标网格中每个构件与目标网格中心点之间的曼哈顿距离;将曼哈顿距离最小的构件作为目标构件;将目标网格中除了目标构件其他的构件作为剩余构件,确定目标网格中每个剩余构件与目标构件之间的初始距离,以使每个目标构件通过预设的构件移动策略根据初始距离进行移动;重复执行从将包含至少两个构件的网格确定为目标网格至确定目标网格中每个剩余构件与目标构件之间的初始距离,以使每个目标构件通过预设的构件移动策略根据初始距离进行移动的步骤,直至所有网格中包含的构件数量均小于等于1为止;使构件拆分后不会太集中,并且根据相对坐标系和实际坐标系之间的对应关系,确定按照构件移动策略移动之后每个构件在实际坐标系中的实际坐标值,以完成待分拆模型的分拆和展示。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1为本发明提供的BIM模型分拆展示的方法的流程图。
图2为图1中步骤s101的子步骤的流程图。
图3为图1中步骤s104的子步骤的流程图。
图4为图1中步骤s106的子步骤的流程图。
具体实施方式
下面将结合本发明中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通的技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明的保护范围。
一种BIM模型分拆展示的方法,包括如下步骤:
参考图1,步骤S101以待拆分展示模型的外接长方体的最小角点为原点建立与BIM系统中实际坐标系平行的相对坐标系,根据预设的网格划分密度在相对坐标系中划分网格;
参考图2,步骤S1011使用ThreeJ S在网页中导入glTF模型,即待拆分展示模型,通过ThreeJ S获取待拆分展示模型每个部件的中心坐标和模型整体的包围盒。
步骤S1012获取待拆分展示模型的外接长方体的最小角点。
其计算机程序代码为:
this.box=this.getBoundingBox(this.models);//获取包围盒,获取模型外接长方体
const boxInfo=THREEUtil.getBondingBoxInfo(this.box);
this.origin=boxInfo.min;//获取模型外接长方体的最小角点(x0,y0,z0);
获取待拆分展示模型的外接长方体的长、宽和高,其计算机程序代码为:
this.Lx=boxInfo.lx;//外接长方体的长Lx
this.Ly=boxInfo.ly;//外接长方体的宽Ly
this.Lz=boxInfo.lz;//外接长方体的高Lz
获取待拆分展示模型的中构件总数,其计算机程序代码为:
this.modelCount=models.length;//获取构件总数N
步骤S1013以待拆分展示模型的外接长方体的最小角点为原点建立与BIM 系统中实际坐标系平行的相对坐标系,并且将待拆分展示模型中全部构件从实际坐标系转换成相对坐标系。
其计算模型为:
式中,为构件i在相对坐标系下的x轴坐标;为构件i在相对坐标系下的y轴坐标;为构件i在相对坐标系下的z轴坐标;x(i)为构件i在实际坐标系下的x轴坐标;y(i)为构件i在实际坐标系下的y轴坐标;z(i)为构件i在实际坐标系下的z轴坐标;X0为待拆分展示模型的外接长方体在实际坐标系下的最小角点的x轴坐标;Y0为待拆分展示模型的外接长方体在实际坐标系下的最小角点的y轴坐标;Z0为待拆分展示模型的外接长方体在实际坐标系下的最小角点的 z轴坐标;N为待拆分展示模型中构件的总数;
其中待拆分展示模型的外接长方体的长作为x轴,待拆分展示模型的外接长方体的宽作为y轴,待拆分展示模型的外接长方体的高作为z轴;
其计算机程序代码为:
步骤S1014根据预设的网格划分密度在相对坐标系中划分网格,得到相对坐标系中x轴、y轴和z轴方向的步长。
其中,其计算模型为:
式中,sx为相对坐标系下的x轴方向的步长;sy为相对坐标系下的y轴方向的步长;sz为相对坐标系下的z轴方向的步长;Lx为待拆分展示模型的外接长方体的长;Ly为待拆分展示模型的外接长方体的宽;Lz为待拆分展示模型的外接长方体的高;n为预设的网格划分密度。
在另外一些实施例中预设的网格划分密度为1000,根据1000在相对坐标系中划分网格的计算机程序代码为:
thisx=thiS.Lx/n;
this.sy=this.Ly/n;
this.sz=this.Lz/n;
步骤S1015计算每个待拆分展示模型中构件所属网格编号。
其计算模型:
式中,为待拆分展示模型中构件i在相对坐标系中x轴方向中的网格编号;为待拆分展示模型中构件i在相对坐标系中y轴方向中的网格编号;为待拆分展示模型中构件i在相对坐标系中z轴方向中的网格编号;为待拆分展示模型中构件i在相对坐标下的x轴坐标;为待拆分展示模型中构件i在相对坐标下的y轴坐标;为待拆分展示模型中构件i在相对坐标下的z轴坐标;sx为相对坐标下的x轴方向的步长;sy为相对坐标下的y轴方向的步长;sz为相对坐标下的z轴方向的步长。
其计算机程序代码为:
item.mx=Math.floor(item.center.x/this.sx);
item.my=Math.floor(item.center.y/this.sy);
item.mz=Math.floor(item.center.z/this.sz);
const grid=this.createGrid(item.mx,item.my,item.mz);
参考图1,步骤S102将包含至少两个构件的网格确定为目标网格,根据预设的曼哈顿距离计算策略计算目标网格中每个构件与目标网格中心点之间的曼哈顿距离。
其中将包含至少两个构件的网格确定为目标网格的计算机程序代码为:
预设的曼哈顿距离计算策略为:
式中d(i)为构件i距离目标网格中心点的曼哈顿距离,为构件i在相对坐标下的x轴坐标;为构件i在相对坐标下的y轴坐标;为构件i在相对坐标下的z轴坐标;为构件i在相对坐标系中x轴方向中的网格编号;为构件i在相对坐标系中y轴方向中的网格编号;为构件i在相对坐标系中z轴方向中的网格编号;sx为相对坐标下的x轴方向的步长;sy为相对坐标下的y轴方向的步长; sz为相对坐标下的z轴方向的步长。
其计算目标网格中每个构件与目标网格中心点之间的曼哈顿距离的计算机程序代码为:
items.forEach((item)=>{
const dx=Math.abs(item.center.x-item.mx-this.sx/2);
const dy=Math.abs(item.center.y-item.my-this.sy/2);
const dz=Math.abs(item.center.z-item.mz-this.sz/2);
item.d=dx+dy+dz;
参考图1,步骤S103将曼哈顿距离最小的构件作为目标构件,并安置在目标网格中。具体为曼哈顿距离最小的构件不进行移动。
其计算机程序代码为:
igrid.items=[minItem];
参考图1,步骤S104将目标网格中除了目标构件其他的构件作为剩余构件,确定目标网格中每个剩余构件与目标构件之间的初始距离,以使每个目标构件通过预设的构件移动策略根据初始距离进行移动。
参考图3,步骤S1041,识别目标网格中除了目标构件的其他的构件,其将其作为剩余构件。
步骤S1042计算目标网格中每个剩余构件与目标构件之间相对坐标系中x 轴、y轴和z轴方向的距离。其计算x轴方向的距离的计算模型为:
式中,为剩余构件K与目标构件M在相对坐标系中x轴方向的初始距离;为剩余构件K与目标构件M在相对坐标系中y轴方向的初始距离;为剩余构件K与目标构件M在相对坐标系中z轴方向的初始距离;为剩余构件K 在相对坐标系下的x轴坐标;为剩余构件K在相对坐标系下的y轴坐标;为剩余构件K在相对坐标系下的z轴坐标;为目标构件M在相对坐标系下的 x轴坐标;为目标构件M在相对坐标系下的y轴坐标;为目标构件M在相对坐标系下的z轴坐标。
计算y轴和z轴方向的距离的计算模型原理,
其计算目标网格中每个剩余构件与目标构件之间相对坐标系中x轴、y轴和z 轴方向的距离的计算机程序代码为:
item.dx=item.center.x-minItem.center.x;
item.dy=item.center.y-minItem.center.y;
item.dz=item.center.z-minItem.center.z;
步骤S1043选取每个剩余构件在相对坐标系中x轴、y轴和z轴方向的距离中绝对值最大的轴设为p轴,作为移动方向进行移动。其计算模型为:
式中,为每个剩余构件K与目标构件M在相对坐标系中x轴方向的初始距离;为剩余构件K与目标构件M在相对坐标系中y轴方向的初始距离;为剩余构件K与目标构件M在相对坐标系中z轴方向的初始距离;p轴为剩余构件K在相对坐标系中x轴、y轴和z轴方向的距离中绝对值最大的轴;为剩余构件K在相对坐标系中p轴方向的距离。
其计算机程序代码为:
步骤S1045若剩余构件待移至的网格内已有其它构件,若剩余构件K是沿p 轴正方向移动的,则除剩余构件K外,对所有p轴方向上编号大于的构件,都往向p轴正方向移动一个网格;若剩余构件K是沿p轴负方向移动的,对所有 p轴方向上编号大于的构件,都往向p轴正方向移动一个网格。其计算模型为:
其计算机程序代码为:
参考图1,步骤S105重复执行从将包含至少两个构件的网格确定为目标网格至确定目标网格中每个剩余构件与目标构件之间的初始距离,以使每个目标构件通过预设的构件移动策略根据初始距离进行移动的步骤,直至所有网格中包含的构件数量均小于等于1为止;。
识别目标网格中除了目标构件的其他的构件,其将其作为剩余构件,并计算目标网格中每个剩余构件与目标构件之间相对坐标系中x轴、y轴和z轴方向的距离,选取每个剩余构件在相对坐标系中x轴、y轴和z轴方向的距离中绝对值最大的轴设为p轴,作为移动方向进行移动,若大于零,则向p轴正方向移动一个网格,若小于零,则往p轴负方向移动一个网格,若剩余构件待移至的网格内已有其它构件,若剩余构件K是沿p轴正方向移动的,则除剩余构件 K外,对所有p轴方向上编号大于的构件,都往向p轴正方向移动一个网格;若剩余构件K是沿p轴负方向移动的,对所有p轴方向上编号大于的构件,都往向p轴正方向移动一个网格,重复上述步骤,直至所有网格中包含的构件数量均小于等于1为止。
参考图1,步骤S106根据相对坐标系和实际坐标系之间的对应关系,确定按照构件移动策略移动之后每个构件在实际坐标系中的实际坐标值,以完成待分拆模型的分拆和展示。
参考图4,步骤S1061,计算相对坐标系中x轴方向上的最大网格数和网格的相对尺寸。其计算模型为
式中,为所述相对坐标系中x轴方向上第j层网格的相对长度,为所述相对坐标系中x轴方向上第j层网格中所有构件的长度的集合,如果该集合为空集,则说明该层网格中没有构件,于是该层网格的相对长度为0;如果该集合非空,则取该层所有构件中长度最大的构件,以其长度作为本层网格的相对长度。
步骤S1062,计算相对坐标系中x轴方向上的最大网格数和网格的相对尺寸。其计算模型为
式中,为所述相对坐标系中x轴方向上第j层网格的相对长度,为所述相对坐标系中x轴方向上第j层网格中所有构件的长度的集合,如果该集合为空集,则说明该层网格中没有构件,于是该层网格的相对长度为0;如果该集合非空,则取该层所有构件中长度最大的构件,以其长度作为本层网格的相对长度。其计算机程序代码为:
步骤S1063,同理,计算相对坐标系中y轴和z轴方向上的最大网格数和网格的相对尺寸。
步骤S1064,根据构件的网格编号对应其在相对坐标系中的相对坐标。
其计算机程序代码为:
步骤S1065按照构件移动策略移动之后每个构件在相对坐标系中的相对坐标,按照相对坐标系和实际坐标系之间的对应关系,转换成构件移动策略移动之后每个构件的实际坐标值。其相对坐标系和实际坐标系之间的对应关系为
式中,为构件i在实际坐标系下的x轴坐标;为构件i在实际坐标系下的y轴坐标;为构件i在实际坐标系下的z轴坐标;为构件i在子相对坐标系中的x轴坐标;为构件i在相对坐标系中的y轴坐标,为构件i在相对坐标系中的z轴坐标。
本发明提供的使BIM模型分拆展示的方法通过建立与BIM系统中实际坐标系平行的相对坐标系,并在相对坐标系中划分网格;来把控拆分后的构件的相对距离,使所有构件分拆后与相邻构件保持充分距离,将待拆分展示模型的细节更好的展示;
再将包含至少两个构件的网格确定为目标网格,根据预设的曼哈顿距离计算策略计算目标网格中每个构件与目标网格中心点之间的曼哈顿距离;将曼哈顿距离最小的构件作为目标构件;将目标网格中除了目标构件其他的构件作为剩余构件,确定目标网格中每个剩余构件与目标构件之间的初始距离,以使每个目标构件通过预设的构件移动策略根据初始距离进行移动;重复执行从将包含至少两个构件的网格确定为目标网格至确定目标网格中每个剩余构件与目标构件之间的初始距离,以使每个目标构件通过预设的构件移动策略根据初始距离进行移动的步骤,直至所有网格中包含的构件数量均小于等于1为止;使构件拆分后不会太集中,并且根据相对坐标系和实际坐标系之间的对应关系,确定按照构件移动策略移动之后每个构件在实际坐标系中的实际坐标值,以完成待分拆模型的分拆和展示。
本申请实施例提供了一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行上述任一一项运行方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上借助具体实施例对本发明做了进一步描述,但是应该理解的是,这里具体的描述,不应理解为对本发明的实质和范围的限定,本领域内的普通技术人员在阅读本说明书后对上述实施例做出的各种修改,都属于本发明所保护的范围。
Claims (10)
1.一种BIM模型分拆展示的方法,其特征在于,包括如下步骤:
以待拆分展示模型的外接长方体的最小角点为原点建立与BIM系统中实际坐标系平行的相对坐标系,根据预设的网格划分密度在所述相对坐标系中划分网格;
将包含至少两个构件的网格确定为目标网格,根据预设的曼哈顿距离计算策略计算所述目标网格中每个所述构件与所述目标网格中心点之间的曼哈顿距离;
将曼哈顿距离最小的所述构件作为目标构件,并安置在所述目标网格中;
将所述目标网格中除了所述目标构件其他的所述构件作为剩余构件,确定所述目标网格中每个所述剩余构件与所述目标构件之间的初始距离,以使每个所述目标构件通过预设的构件移动策略根据所述初始距离进行移动;
重复执行从所述将包含至少两个所述构件的网格确定为所述目标网格至确定所述目标网格中每个所述剩余构件与所述目标构件之间的初始距离,以使每个所述目标构件通过预设的所述构件移动策略根据所述初始距离进行移动的步骤,直至所有网格中包含的所述构件数量均小于等于1为止;
根据所述相对坐标系和所述实际坐标系之间的对应关系,确定按照所述构件移动策略移动之后每个所述构件在所述实际坐标系中的实际坐标值,以完成所述待分拆模型的分拆和展示。
2.根据权利要求1所述的BIM模型分拆展示的方法,其特征在于,以所述待拆分展示模型的外接长方体的最小角点为原点建立与BIM系统中所述实际坐标系平行的所述相对坐标系的计算模型为:
式中,为所述构件i在所述相对坐标系下的x轴坐标;为所述构件i在所述相对坐标系下的y轴坐标;为所述构件i在所述相对坐标系下的z轴坐标;x(i)为所述构件i在所述实际坐标系下的x轴坐标;y(i)为所述构件i在所述实际坐标系下的y轴坐标;z(i)为所述构件i在所述实际坐标系下的z轴坐标;X0为所述待拆分展示模型的外接长方体在所述实际坐标系下的最小角点的x轴坐标;Y0为所述待拆分展示模型的外接长方体在所述实际坐标系下的最小角点的y轴坐标;Z0为所述待拆分展示模型的外接长方体在所述实际坐标系下的最小角点的z轴坐标;N为所述待拆分展示模型中构件的总数;
其中所述待拆分展示模型的外接长方体的长作为x轴,所述待拆分展示模型的外接长方体的宽作为y轴,所述待拆分展示模型的外接长方体的高作为z轴。
4.根据权利要求3所述的BIM模型分拆展示的方法,其特征在于,所述将包含至少两个所述构件的网格确定为所述目标网格,根据预设的所述曼哈顿距离计算策略计算所述目标网格中每个所述构件与所述目标网格中心点之间的曼哈顿距离之前还包括如下步骤:
根据所述相对坐标系中x轴、y轴和z轴方向的步长,计算每个所述构件所属网格编号,其计算模型为:
6.根据权利要求5所述的BIM模型分拆展示的方法,其特征在于,确定所述目标网格中每个所述剩余构件与所述目标构件之间的初始距离包括如下子步骤:计算所述目标网格中每个所述剩余构件与所述目标构件之间所述相对坐标系中x轴、y轴和z轴方向的距离,其计算模型为:
7.根据权利要求6所述的BIM模型分拆展示的方法,其特征在于,预设的所述构件移动策略为:
选取每个所述剩余构件在所述相对坐标系中x轴、y轴和z轴方向的距离中绝对值最大的轴,作为移动方向进行移动;其计算模型为:
式中,为每个所述剩余构件K与所述目标构件M在所述相对坐标系中x轴方向的初始距离;为所述剩余构件K与所述目标构件M在所述相对坐标系中y轴方向的初始距离;为所述剩余构件K与所述目标构件M在所述相对坐标系中z轴方向的初始距离;p轴为所述剩余构件K在所述相对坐标系中x轴、y轴和z轴方向的距离中绝对值最大的轴;为所述剩余构件K在所述相对坐标系中p轴方向的距离。
为所述剩余构件K在所述相对坐标系下p轴方向中的网格编号;为所述目标构件M在所述相对坐标系下p轴方向中的网格编号,为所述剩余构件K在所述相对坐标系中p轴方向的距离;sign为符号函数,当当>0时,则当时,则当时,则
若所述剩余构件待移至的网格内已有其它所述构件,若所述剩余构件K是沿p轴正方向移动的,则除所述剩余构件K外,对所有p轴方向上编号大于的所述构件,都往向p轴正方向移动一个网格;若所述剩余构件K是沿p轴负方向移动的,对所有p轴方向上编号大于的构件,都往向p轴正方向移动一个网格,其计算模型为:
8.根据权利要求7所述的BIM模型分拆展示的方法,其特征在于,根据所述相对坐标系和所述实际坐标系之间的对应关系,确定按照所述构件移动策略移动之后每个所述构件在所述实际坐标系中的实际坐标值之前还包括如下步骤,
计算所述相对坐标系中x轴方向上的最大网格数和网格的相对尺寸,其计算模型为
10.根据权利要求9所述的BIM模型分拆展示的方法,其特征在于,根据所述相对坐标系和所述实际坐标系之间的对应关系,确定按照所述构件移动策略移动之后每个所述构件在所述实际坐标系中的所述实际坐标值包括如下子步骤:
按照所述构件移动策略移动之后每个所述构件在所述相对坐标系中的相对坐标,按照所述相对坐标系和所述实际坐标系之间的对应关系,转换成所述构件移动策略移动之后每个所述构件的所述实际坐标值;其所述相对坐标系和所述实际坐标系之间的对应关系为
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210892192.6A CN115393546A (zh) | 2022-07-27 | 2022-07-27 | 一种bim模型分拆展示的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210892192.6A CN115393546A (zh) | 2022-07-27 | 2022-07-27 | 一种bim模型分拆展示的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115393546A true CN115393546A (zh) | 2022-11-25 |
Family
ID=84116980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210892192.6A Pending CN115393546A (zh) | 2022-07-27 | 2022-07-27 | 一种bim模型分拆展示的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115393546A (zh) |
-
2022
- 2022-07-27 CN CN202210892192.6A patent/CN115393546A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103440357B (zh) | 虚拟现实漫游场景生成方法及系统 | |
CN107229790B (zh) | 生成三维、二维图形的桥梁结构信息模型系统及使用方法 | |
CN110299042B (zh) | 一种沉浸式核电厂主设备工艺仿真推演方法及系统 | |
CN110765523A (zh) | 一种基于bim技术的深基坑围护结构快速构建方法 | |
CN105528489B (zh) | 一种在建模软件中二维三维混用的方法 | |
CA2211887C (en) | Method and apparatus for defining surfaces of three-dimensional object from three-dimensional wire-frame model | |
CN112926119A (zh) | 一种建筑模型压缩处理方法、装置、设备和介质 | |
CN111259474B (zh) | 大体量bim模型数据处理及加载方法和设备 | |
CN110349262B (zh) | 一种基于bim的隧道超前地质预报三维建模方法及系统 | |
Ye et al. | A digital twin-based human-robot collaborative system for the assembly of complex-shaped architectures | |
CN102646286B (zh) | 三维空间结构的数字图形介质模拟方法 | |
CN115393546A (zh) | 一种bim模型分拆展示的方法 | |
CN112270034A (zh) | 一种墙体拆分方法、装置及系统 | |
JP3762139B2 (ja) | 三次元設備管理システム | |
CN109859329B (zh) | 一种智能编辑三维模型的方法及系统 | |
JPS6272071A (ja) | 座標格子生成支援方法及び装置 | |
JP6576788B2 (ja) | プラント建設計画支援装置 | |
Teodosovich | Methods of creating parametric models of the geometric object in the modern CAD | |
CN104678898A (zh) | 一种基于cad球片切割机器人运动轨迹的自动编程系统 | |
CN116070334B (zh) | 一种面向数字孪生应用的多维模型构建方法 | |
CN116310193B (zh) | 一种基于bim的土方开挖施工控制系统 | |
CN117331549B (zh) | 一种三维可视化开发框架构建方法 | |
JPS60163162A (ja) | 3次元連接体の形状定義方法 | |
CN117708962B (zh) | 一种基于Rhinoceros二三维一体化设计的方法及系统 | |
JP2012128609A (ja) | 図面作成支援方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |