CN108121868B - 一种用于钣金件建模的基于KDtree的空间面域生成方法及系统 - Google Patents
一种用于钣金件建模的基于KDtree的空间面域生成方法及系统 Download PDFInfo
- Publication number
- CN108121868B CN108121868B CN201711385135.4A CN201711385135A CN108121868B CN 108121868 B CN108121868 B CN 108121868B CN 201711385135 A CN201711385135 A CN 201711385135A CN 108121868 B CN108121868 B CN 108121868B
- Authority
- CN
- China
- Prior art keywords
- curved section
- kdtree
- face domain
- sheet metal
- metal component
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
-
- 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/30—Polynomial surface description
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Mathematical Physics (AREA)
- Bending Of Plates, Rods, And Pipes (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明的用于钣金件建模的基于KDtree的空间面域生成方法及系统,采用KDtree数据结构,实现对曲线段的近邻搜寻,并以此构建面积最小面域,来生成由多个单元网格构成的钣金件整体的空间面域,通过近邻搜寻方法,大大减少了搜寻配对的运算时长,解决了传统的冗余迭代搜寻方法运算耗时长的问题,还能将生成的面域进行参数化输出,实现连续化和自动化,提供后续建模模块的参数化输入,有效节约人力资源,操作简单,使用可靠,耗时少从而减少工人工作强度,打破了生产时间的约束,有效提高生产速度。
Description
技术领域
本发明涉及钣金件生产领域,尤其涉及用于钣金件建模的空间面域生成方法及系统。
背景技术
在生产制造业中,工件建模是大批量钣金件生产必要的制造环节,建模的质量和速度往往决定了生产的效率和效益。传统的工件建模主要是利用计算机软件进行人工建模,先构造平面图,然后再进行拉伸和扫掠等工序。然而,进行大批量钣金件生产时人工建模的工作量非常大,常会出现重复构造平面的情况,效率较低,造成工作量冗余。现有的面域生产过程大多是通过人工逐个的画图,然后逐个地生产面域,从而得到建模的基本信息,根据这些信息再进行模型构造,在对单个或小批量的产品建模时可能还基本能满足需求,但在建材装修的钣金件大批量生产时,这一过程就显得十分繁琐,而且人工逐个构造过程中无法实现对所建大批量模型的管理和实现参数化,这样的方法实在是非常不方便,影响了生产效率。
在申请号为201710208326.7的中国发明申请中,公开了一种利用Rhino(犀牛软件)环境下运行的Grasshopper插件实现的大批量钣金件的面域生成方法,其利用软件触发的方法控制区域平面图自动生成大批量生产中每一钣金件的基础面域,并将混入的钣金件之间的缝的干扰面域进行过滤,并以输出端口将生成面域参数化输出,实现连续化和自动化。但该技术只能对二维平面结构的钣金件进行面域生成,其所使用的切割函数仅适用于二维平面的多直线段切割,并不能用于具有三维空间结构的钣金件的空间面域生成,例如用于体育馆天花板等具有空间曲面结构上的钣金件,就无法用该技术进行建模。
现有技术中对三维的钣金件结构的空间面域生成方法,在勾画了钣金件整体区域的空间曲线图形后,通常采用传统的冗余迭代搜寻方法,以某一曲线段为基础线段,在所有的空间曲线段中搜寻与其相交的曲线段,来构建封闭面域,其运算耗时极长,生产效率低。
发明内容
基于此,本发明的目的在于,提供一种耗时短、生产效率高的用于钣金件建模的基于KDtree的空间面域生成方法。
本发明所采用的技术方案是:
一种用于钣金件建模的基于KDtree的空间面域生成方法,包括以下步骤:
步骤1:勾画所需建模的钣金件整体区域的空间曲线图形,生成曲线段集合A;
步骤2:将曲线段集合A的全部曲线段进行两两相交,获得交点信息,根据交点信息对曲线段集合A的全部曲线段进行打断,获得打断后的曲线段集合B;对曲线段集合B中的每个元素曲线段b进行过滤,如果曲线段b未能与曲线段集合B中的其余一个或多个曲线段形成至少一个封闭面域,则将该曲线段b从曲线段集合B中剔除;
步骤3:基于KDtree方法构建一个KDtree数据结构C,其根节点或中间节点表示一个空间范围,对于步骤2中过滤后得到的曲线段集合B中的曲线段b,根据每一曲线段b的空间信息,将其存储到对应的KDtree数据结构C的每个叶子节点ci中,令i=1;
步骤4:选取KDtree数据结构C的叶子节点ci中存储的曲线段d0,根据该叶子节点ci存储的空间信息进行近邻搜寻,得到与该曲线段d0最近邻的n个近邻曲线段,在该曲线段d0及其n个近邻曲线段中构建一面积最小面域f,将其存储到面域集合F中;n的取值小于曲线段集合B中的曲线段总数;
步骤5:令i=i+1,重复步骤4,直至所有叶子节点ci遍历完毕;输出面域集合F,并根据面域集合F,获得钣金件整体的空间面域。
本发明的用于钣金件建模的基于KDtree的空间面域生成方法及系统,采用KDtree数据结构,实现对曲线段的近邻搜寻,并以此构建面积最小面域,来生成由多个单元网格构成的钣金件整体的空间面域,通过近邻搜寻方法,大大减少了搜寻配对的运算时长,解决了传统的冗余迭代搜寻方法运算耗时长的问题,还能将生成的面域进行参数化输出,实现连续化和自动化,提供后续建模模块的参数化输入,有效节约人力资源,操作简单,使用可靠,耗时少从而减少工人工作强度,打破了生产时间的约束,有效提高生产速度。
进一步地,步骤2中的过滤方法为:将曲线段集合B的全部曲线段进行两两相交,如果曲线段b与曲线段集合B中的其余全部曲线段仅存在最多一个共同交点,则将该曲线段b从曲线段集合B中剔除。
进一步地,步骤4具体包括以下步骤:
步骤41:选取KDtree数据结构C的叶子节点ci中存储的曲线段,记为d0,该d0作为初始的基础曲线段d,并将其存储到一数组Di中;根据每个叶子节点ci存储的空间信息进行近邻搜寻,得到与该基础曲线段d0最近邻的n个近邻曲线段,将该n个曲线段存储形成一个数组E,每个近邻曲线段标记为e;
步骤42:逐一判断数组E中的每个曲线段e是否与初始的基础曲线段d的起点相交,如果相交,则计算该初始的基础曲线段d的终点到该曲线段e的距离,获得使该距离具有最小值所对应的曲线段e,将该曲线段e从数组E中剔除,并将其替换为新的初始的基础曲线段d,并存储到数组Di中;
步骤43:重复步骤42直至迭代所得的初始的基础曲线段d与曲线段d0的终点相交,停止迭代;根据数组Di中的曲线段生成面域f,将其存储到面域集合F中。
进一步地,步骤4中,得到与该曲线段d0最近邻的n个近邻曲线段,n的取值范围为10≤n≤30。
进一步地,步骤4中,得到与初始的基础曲线段d0最近邻的n个曲线段,n的取值范围为20≤n≤30。
进一步地,利用CAD制图软件执行步骤1,以生成曲线段集合A,并将其信息保存到CAD文件中。
进一步地,利用Rhino软件打开步骤1中获得的CAD文件,以获取曲线段集合A的信息,并执行步骤2-5。
本发明还提供一种用于钣金件建模的基于KDtree的空间面域生成系统,包括存储设备,适于存储多条指令;以及处理器,适于实现各指令;所述指令适于由处理器加载并执行上述用于钣金件建模的基于KDtree的空间面域生成方法。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为本发明的流程图。
具体实施方式
本实施例的用于钣金件建模的基于KDtree的空间面域生成方法,利用CAD制图软件执行步骤1,并采用Rhino软件执行步骤2-5,但并不限于以上软件,在其他实施方式中,也可以采用CAD以外的其他制图软件执行本步骤1,或采用Rhino以外的其他三维建模软件执行步骤2-5。请参阅图1,本发明的方法包括以下步骤:
步骤1:利用CAD制图软件,勾画所需建模的钣金件整体区域的空间曲线图形,生成曲线段集合A,并将其信息保存到CAD文件中。钣金件整体包括同一批量共同使用的多个钣金件,例如共同构成天花板的多个钣金件。
步骤2:利用Rhino软件打开步骤1中获得的CAD文件,以获取曲线段集合A的信息。框选曲线段集合A的全部曲线,将曲线段集合A的全部曲线段进行两两相交,获得交点信息,根据交点信息对曲线段集合A的全部曲线段进行打断,获得打断后的曲线段集合B;对曲线段集合B中的每个元素曲线段b进行过滤,如果曲线段b未能与曲线段集合B中的其余一个或多个曲线段形成至少一个封闭面域,则将该曲线段b从曲线段集合B中剔除。
具体地,该过滤方法为:将曲线段集合B的全部曲线段进行两两相交,如果曲线段b与曲线段集合B中的其余全部曲线段仅存在最多一个共同交点,则将该曲线段b从曲线段集合B中剔除。该共同交点是指,假设在执行打断操作前,曲线段X与曲线段Y相交形成一交点O,执行打断操作后,曲线段X被打断为曲线段X1和X2,曲线段Y被打断为曲线段Y1和Y2,此时,曲线段X1分别与X2、Y1、Y2相交形成三个交点,但该三个交点重合,均为交点O,则该交点O仅计算为一个共同交点,即曲线段X与曲线段集合B中的其余全部曲线段需要至少形成两个不同的共同交点,才能形成至少一个封闭面域,从而不会被从曲线段集合B中剔除。在其他实施方式中,还可以采用其他过滤方法。
步骤3:基于KDtree方法构建一个KDtree数据结构C,其根节点或中间节点表示一个空间范围,对于步骤2中过滤后得到的曲线段集合B中的曲线段b,根据每一曲线段b的空间信息,将其存储到对应的KDtree数据结构C的每个叶子节点ci中,令i=1。
步骤4:选取KDtree数据结构C的叶子节点ci中存储的曲线段d0,根据该叶子节点ci存储的空间信息进行近邻搜寻,得到与该曲线段d0最近邻的n个近邻曲线段,在该曲线段d0及其n个近邻曲线段中构建一面积最小面域f,即形成一单元网格,将其存储到面域集合F中。
具体地,步骤4包括以下步骤:
步骤41:选取KDtree数据结构C的叶子节点ci中存储的曲线段,记为d0,该d0作为初始的基础曲线段d,并将其存储到一数组Di中;根据每个叶子节点ci存储的空间信息进行近邻搜寻,得到与曲线段d0最近邻的n个近邻曲线段,将该n个曲线段存储形成一个数组E,每个近邻曲线段标记为e。近邻曲线段的数量n的取值大大小于曲线段集合B中的曲线段总数,具体地,n的取值范围为10≤n≤30,优选20≤n≤30,在本实施例中取20。
步骤42:逐一判断数组E中的每个曲线段e是否与基础曲线段d的起点相交,如果相交,则计算该初始的基础曲线段d的终点到该曲线段e的距离,获得使该距离具有最小值所对应的曲线段e,将该曲线段e从数组E中剔除,并将其替换为新的初始的基础曲线段d,并存储到数组Di中。
步骤43:重复步骤42直至迭代所得的初始的基础曲线段d与曲线段d0的终点相交,停止迭代;根据数组Di中的曲线段生成面域f,将其存储到面域集合F中。
本步骤中,通过对基础曲线段进行数量较少的近邻搜寻,来构建面积最小面域,该面积最小面域的曲线段的数量由近邻曲线段的数目进行控制,因此可控制在合理数量之下,通过对近邻曲线段n的合理取值,能够大大降低搜寻配对的计算量和耗时。在其他实施方式中,也可以通过其他方式选取构成最小面域的曲线段。
步骤5:令i=i+1,重复步骤4,直至所有叶子节点ci遍历完毕;输出面域集合F。
本发明还提供一种用于钣金件建模的基于KDtree的空间面域生成系统,包括存储设备,适于存储多条指令;以及处理器,适于实现各指令;所述指令适于由处理器加载并执行上述用于钣金件建模的基于KDtree的空间面域生成方法。
本发明的用于钣金件建模的基于KDtree的空间面域生成方法及系统,采用KDtree数据结构,实现对曲线段的近邻搜寻,并以此构建面积最小面域,来生成由多个单元网格构成的钣金件整体的空间面域,通过近邻搜寻方法,大大减少了搜寻配对的运算时长,解决了传统的冗余迭代搜寻方法运算耗时长的问题,还能将生成的面域进行参数化输出,实现连续化和自动化,提供后续建模模块的参数化输入,有效节约人力资源,操作简单,使用可靠,耗时少从而减少工人工作强度,打破了生产时间的约束,有效提高生产速度。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (8)
1.一种用于钣金件建模的基于KDtree的空间面域生成方法,其特征在于:包括以下步骤:
步骤1:勾画所需建模的钣金件整体区域的空间曲线图形,生成曲线段集合A;
步骤2:将曲线段集合A的全部曲线段进行两两相交,获得交点信息,根据交点信息对曲线段集合A的全部曲线段进行打断,获得打断后的曲线段集合B;对曲线段集合B中的每个元素曲线段b进行过滤,如果曲线段b未能与曲线段集合B中的其余一个或多个曲线段形成至少一个封闭面域,则将该曲线段b从曲线段集合B中剔除;
步骤3:基于KDtree方法构建一个KDtree数据结构C,其根节点或中间节点表示一个空间范围,对于步骤2中过滤后得到的曲线段集合B中的曲线段b,根据每一曲线段b的空间信息,将其存储到对应的KDtree数据结构C的每个叶子节点ci中,令i=1;
步骤4:选取KDtree数据结构C的叶子节点ci中存储的曲线段d0,根据该叶子节点ci存储的空间信息进行近邻搜寻,得到与该曲线段d0最近邻的n个近邻曲线段,在该曲线段d0及其n个近邻曲线段中构建一面积最小面域f,将其存储到面域集合F中;n的取值小于曲线段集合B中的曲线段总数;
步骤5:令i=i+1,重复步骤4,直至所有叶子节点ci遍历完毕;输出面域集合F,并根据面域集合F,获得钣金件整体的空间面域。
2.根据权利要求1所述的用于钣金件建模的基于KDtree的空间面域生成方法,其特征在于:步骤2中的过滤方法为:将曲线段集合B的全部曲线段进行两两相交,如果曲线段b与曲线段集合B中的其余全部曲线段仅存在最多一个共同交点,则将该曲线段b从曲线段集合B中剔除。
3.根据权利要求1所述的用于钣金件建模的基于KDtree的空间面域生成方法,其特征在于:步骤4具体包括以下步骤:
步骤41:选取KDtree数据结构C的叶子节点ci中存储的曲线段,记为d0,该d0作为初始的基础曲线段d,并将其存储到一数组Di中;根据每个叶子节点ci存储的空间信息进行近邻搜寻,得到与该曲线段d0最近邻的n个近邻曲线段,将该n个曲线段存储形成一个数组E,每个近邻曲线段标记为e;
步骤42:逐一判断数组E中的每个曲线段e是否与初始的基础曲线段d的起点相交,如果相交,则计算该初始的基础曲线段d的终点到该曲线段e的距离,获得使该距离具有最小值所对应的曲线段e,将该曲线段e从数组E中剔除,并将其替换为新的初始的基础曲线段d,并存储到数组Di中;
步骤43:重复步骤42直至迭代所得的初始的基础曲线段d与曲线段d0的终点相交,停止迭代;根据数组Di中的曲线段生成面域f,将其存储到面域集合F中。
4.根据权利要求1所述的用于钣金件建模的基于KDtree的空间面域生成方法,其特征在于:步骤4中,得到与该曲线段d0最近邻的n个近邻曲线段,n的取值范围为10≤n≤30。
5.根据权利要求1所述的用于钣金件建模的基于KDtree的空间面域生成方法,其特征在于:步骤4中,得到与该曲线段d0最近邻的n个近邻曲线段,n的取值范围为20≤n≤30。
6.根据权利要求1所述的用于钣金件建模的基于KDtree的空间面域生成方法,其特征在于:利用CAD制图软件执行步骤1,以生成曲线段集合A,并将其信息保存到CAD文件中。
7.根据权利要求6所述的用于钣金件建模的基于KDtree的空间面域生成方法,其特征在于:利用Rhino软件打开步骤1中获得的CAD文件,以获取曲线段集合A的信息,并执行步骤2-5。
8.一种用于钣金件建模的基于KDtree的空间面域生成系统,其特征在于:包括存储设备,适于存储多条指令;以及处理器,适于实现各指令;所述指令适于由处理器加载并执行权利要求1-7中任一项所述的用于钣金件建模的基于KDtree的空间面域生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711385135.4A CN108121868B (zh) | 2017-12-20 | 2017-12-20 | 一种用于钣金件建模的基于KDtree的空间面域生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711385135.4A CN108121868B (zh) | 2017-12-20 | 2017-12-20 | 一种用于钣金件建模的基于KDtree的空间面域生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108121868A CN108121868A (zh) | 2018-06-05 |
CN108121868B true CN108121868B (zh) | 2019-03-08 |
Family
ID=62230530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711385135.4A Active CN108121868B (zh) | 2017-12-20 | 2017-12-20 | 一种用于钣金件建模的基于KDtree的空间面域生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108121868B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324921B (zh) * | 2020-01-09 | 2022-05-13 | 中南建筑设计院股份有限公司 | 一种基于Grasshopper的空间圆钢管相贯焊节点参数化建模方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107180121B (zh) * | 2017-03-31 | 2021-03-30 | 广东工业大学 | 基于大批量钣金件生产的面域生成方法 |
CN107492149B (zh) * | 2017-08-17 | 2018-03-27 | 广东工业大学 | 一种基于包围盒的面域生成方法 |
-
2017
- 2017-12-20 CN CN201711385135.4A patent/CN108121868B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108121868A (zh) | 2018-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105069226B (zh) | 一种基于模板的三维造型建模方法 | |
CN105069524B (zh) | 基于大数据分析的计划调度优化方法 | |
Yu et al. | A max–min ant colony system for assembly sequence planning | |
CN103235743B (zh) | 一种基于分解和最优解跟随策略的多目标测试任务调度方法 | |
CN106599230A (zh) | 一种分布式数据挖掘模型评估的方法与系统 | |
Peng et al. | Exploring quadrangulations | |
Wilson et al. | How to generate a thousand master plans: A framework for computational urban design | |
CN106600700B (zh) | 一种三维模型数据处理系统 | |
CN106611275A (zh) | 针对作业车间生产问题的排产算法 | |
CN104361185A (zh) | 电缆虚拟设计用布线空间自动生成方法 | |
CN103838907A (zh) | 基于stl模型的曲面切割轨迹获得方法 | |
CN108171793A (zh) | 一种探查层叠区域三角网格的方法 | |
CN101320487B (zh) | 一种用于火灾模拟的场景预处理方法 | |
CN103149840B (zh) | 一种基于动态规划的语义服务组合方法 | |
CN104574517A (zh) | 三维模型的边界面网格单元的处理方法和装置 | |
CN108121868B (zh) | 一种用于钣金件建模的基于KDtree的空间面域生成方法及系统 | |
CN106558104A (zh) | 一种对三维网格模型进行布尔运算的方法 | |
CN109726475A (zh) | 一种用于外包装建模的方法及装置 | |
CN106780747B (zh) | 一种快速分割cfd计算网格的方法 | |
CN107633555A (zh) | 基于空间扫描的曲面集相互切割方法及系统 | |
CN114676522B (zh) | 融合gan和迁移学习的气动形状优化设计方法及系统及设备 | |
Magnusson et al. | Planning transport sequences for flexible manufacturing systems | |
Essawy et al. | Elemental graph data model: a semantic and topological representation of building elements | |
Von Buelow et al. | Computational form exploration of branching columns using concepts of formex algebra and the ParaGen method | |
Tai et al. | Designing (for) decay: parametric material distribution for hierarchical dissociation of water-based biopolymer composites |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |