CN103268384B - 一种有序提取结构轮廓的方法 - Google Patents
一种有序提取结构轮廓的方法 Download PDFInfo
- Publication number
- CN103268384B CN103268384B CN201310212776.5A CN201310212776A CN103268384B CN 103268384 B CN103268384 B CN 103268384B CN 201310212776 A CN201310212776 A CN 201310212776A CN 103268384 B CN103268384 B CN 103268384B
- Authority
- CN
- China
- Prior art keywords
- node
- profile
- unit
- orderly
- duplicate
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种有序提取结构轮廓的方法。涉及一种结构轮廓的提取方法,可用于有限元分析的前处理和后处理中进行轮廓提取。本发明采用计算机编程语言Python实现对结构轮廓的有序提取。有序提取是指得到的轮廓节点列表是按轮廓上的节点连接的顺序排列的,由此方式得到的节点依次连接可以形成一个闭合的轮廓曲线。在此基础上,可将所提取到的轮廓几何信息输出到DXF文件,对轮廓进行进一步分析,实现对轮廓的参数化识别。采用本发明方法可以通过提取二维有限元信息,快速的把结构轮廓提取出来,便于进行结构整体的变形分析。在大幅节约操作时间基础上,减少其它结构信息的干扰,更形象具体地将结构件的变形情况表现出来。
Description
技术领域
本发明涉及一种结构轮廓的提取方法,可用于在有限元分析的前处理和后处理中进行有序轮廓节点编号的提取。
背景技术
在对物体进行有限元分析中,为了表征物体整体或其某一部分在受载过程中的变形情况,尽管我们能够通过输出体积的方式来对其形状变化进行一个大致的了解,但是我们更希望能够用一种更加直观的方式来显示该物体或其某一部分的变化。这时,通常采用的方法是忽略其内部变形的变化,而通过其轮廓变化来体现其变形过程。因而有必要从有限元分析的结果数据中提取有效的单元和节点的几何信息来表征其形状的变化过程,即需要提取其轮廓节点编号。
例如在轮胎行业中,在对轮胎进行有限元三维受载分析时,通常会将轮胎划分为n个断面。在商业有限元软件中想要调取其某个断面或某个断面下的某种(或多种)材料的变形情况,在其中的操作通常是较繁冗的,操作量是巨大的。但是由于轮胎的轮廓形状对轮胎的性能起着决定性的重要作用,又不得不调取其多个不同位置的不同截面的轮廓来进行对比分析。因此为了达到简化操作、画面简洁的、提高工作效率的目的,就需要采用一种新的方法,快速的从有限元分析信息中提取某个截面或某种(或多种)材料的轮廓来表示其变形。
发明内容
本发明提供了一种简单易行的有序提取结构轮廓的方法。本发明采用计算机编程语言Python实现对结构轮廓有序的提取。有序提取是指得到的轮廓节点列表是按轮廓上的节点连接的顺序排列的,并由此方式得到的节点依次连接可以形成一个闭合的轮廓曲线。在此基础上,可将所提取到的轮廓几何信息输出到DXF文件,对轮廓进行进一步分析,实现对轮廓的参数化识别。
一种有序提取结构轮廓的方法,步骤如下:
第一步,读取文件,获取单元及节点信息:通过读取有限元前处理或后处理单元划分数据文件,从中获取需要进行轮廓提取部位所有单元的编号及与其相对应的节点序列中各节点的编号和几何信息;若节点序列中存在重复节点,删除多余的重复节点,保证节点列表中各节点仅出现一次;新建一个节点集合NS和一个单元集合ES,将所有需要的单元编号放入单元集合ES中,将单元所对应的节点列表中的节点放入节点集合NS中,并建立单元与其节点列表之间的对应关系;由于节点分属于多个不同的单元,在节点集合NS中会出现大量重复节点;
第二步,节点过滤,建立起始节点集合:在有限元分析的过程中,除去轮廓上的极少数节点之外,节点均是由两个或两个以上单元共用;而在二维平面分析中,由于出现的单元为四边形或三角形单元,因而在部件内部区域,都是由四个或者三个单元共用一个节点;根据这个判断理论,通过对节点集合NS中各节点重复出现的次数进行判断,过滤掉一些内部节点,方便实现轮廓的生成;进行过滤判断的准则为节点的重复次数;建立节点集合S3和S1用于分别存储重复出现次数小于等于3次的节点和仅重复出现一次的节点编号;对NS中的节点进行过滤判断,将其中重复出现次数小于等于3次的节点编号放入集合S3中,将仅重复出现1次的节点放入节点集合S1中,集合S1中的节点必然位于轮廓上;
第三步,合理选取轮廓起始节点N0:为了得到完整而有序的轮廓节点顺序,需要在节点编号集合S3的基础上,对其进行有效的取舍,生成一条完整的轮廓曲线;首先将生成轮廓边界上的单元集合,将所指定区域的单元所对应的节点列表同集合S3作重复性对比,若某个单元的节点列表中重复的节点数量至少为2,将其单元编号放入一个有效单元集合ES1中;从S3中选取一个节点作为轮廓曲线起始节点N0,选择的规则为N0在集合S3中重复的次数为2次;同时令当前节点N1与起始节点N0相同,建立集合LS用于存储有序的轮廓节点,并将N1加入到有序轮廓节点集合LS中;
第四步,确定当前单元和下一轮廓节点,进行循环求解有序轮廓节点:通过与新形成的单元集合ES1进行比对,若N1从属于两个不同单元则随机选取一个单元作为当前单元,若仅属于一个单元则令此单元为当前单元,同时将此单元从单元集合ES1中删除;将当前单元所包含的节点集合与集合S3进行节点重复性比对,在排除当前轮廓节点之后,得到一个重复节点集合,并将此集合中所有的节点从集合S3中删除;若此时此重复节点集合中仅余一个节点,则令此节点为结束节点N2,将N2按顺序加入轮廓节点集合LS中;若还有两个节点,则表明此单元中有一个节点仅属于此单元且此节点属于集合S1,通过与其对比判断可得到此单元在轮廓上的中间过渡节点N3和结束节点N2,并将N3从集合S1中删除,将N3和N2依次加入有序轮廓节点集合LS中;
第五步:判断节点N2的位置:将此时得到的初始节点集合N2与原始节点N0比较;若N2与N0相同,则表明此时形成的轮廓曲线已经首尾相接,形成一条完整闭合的轮廓曲线,此时程序终止;若不同,则将N2作为下一个当前节点N1,继续执行第四步;进行反复循环,直到回到初始节点N0为止,得到有序轮廓节点集合LS。
采用本发明的方法可以通过提取二维有限元信息,快速的把结构轮廓提取出来,便于进行结构整体的变形分析。在大幅节约操作时间基础上,减少其它结构信息的干扰,更形象具体地将结构件的变形情况表现出来。
附图说明
图1是本发明的方法流程图;
图2是需要提取轮廓部位的网格划分图;
图3是已经提取出的轮廓连线图。
具体实施方式
下面将结合附图对本发明做进一步的详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式,但本发明的保护范围不限于下述实施例。
在有限元分析中,单元所对应的节点列表都是按顺时针或者逆时针方向进行排列的,在本实施例中假定按照逆时针排列。本实施例中,将从有限元分析的单元划分信息文件中读取需要进行轮廓提取部分的单元编号及其对应的节点编号信息和几何信息,如图2所示,其中位于交叉点的为节点编号,位于网格中间的为单元编号。删除各个单元所对应的节点列表多余的重复节点编号,得到如下表所示的单元及节点信息。
单元编号 | 节点编号 | 单元编号 | 节点编号 | 单元编号 | 节点编号 |
2 | 3,2,13,14 | 3 | 4,3,14,15 | 4 | 5,4,15,16 |
13 | 15,14,25,26 | 14 | 16,15,26,27 | 15 | 17,16,27,28 |
22 | 25,24,35,36 | 23 | 26,25,36,37 | 24 | 27,26,37,38 |
32 | 36,35,46,47 | 33 | 37,36,47,48 | 34 | 38,37,48 |
由此得到单元编号集合为ES为:(2,3,4,13,14,15,22,23,24,32,33,34),节点编号集合NS为(3,2,13,14,4,3,14,15,5,4,15,16,15,14,25,26,16,15,26,27,17,16,27,28,25,24,35,36,26,25,36,37,27,26,37,38,36,35,46,47,37,36,47,48,38,37,48)。从集合NS中可以清楚地看出,其中有大量重复出现的节点。
对节点编号集合中NS中各节点的重复次数进行计算,得到如下表所示的重复次数与节点编号的对应关系。
重复次数 | 节点编号 |
1 | 2,5,13,17,24,28,38,46 |
2 | 3,4,35,36,37, 38,47,48 |
3 | 14,16,25,27 |
4 | 15,26,36,37 |
分别建立空集合S1和S3用于存储在节点集合NS中仅仅出现一次节点编号和重复次数小于或等于3次的节点编号。在本实施例中此时所对应的节点集合S1为(2,5,13,17,24,28,35,38),S3为(2,5,13,17,24,28,38,46,3,4,35,36,37,38,47,48,14,16,25,27)。
通过将节点集合S1与单元及其对应的节点列表对应关系,提取出有效单元集合ES1为:(2,3,4,13,15,22,23,24)。从S1中任意选取一个节点作为假定的起始节点N0,在本实施例中首先选择N0=2,并对此节点的合理性进行判断。将轮廓单元集合ES1中的单元的节点与初始节点N0作比较,发现此时N0在节点集合NS中仅出现一次,不满足重复出现两次的起始节点选择条件。因此在本实施例中选取N0=14作为最终的起始节点,并令当前节点N1=N0=14,并将节点14放入有序轮廓节点集合LS中。
将当前节点N1与轮廓单元集合ES1中的单元所对应的节点列表作比较,发现N1从属于单元2和13,任意选择一个单元作为起始单元,在本实施例中选择单元13作为起始单元,并将13从ES1中删除。在单元13所对应的节点列表中与节点集合S3重复的节点为14和25,除去当前起始节点14,得到结束节点N2=25。
对N2的位置进行判断,判断N2与N0是否相同,在本实施例中此时不相同,将N2放入S2中,此时S2为(14,25),将N2作为下一个当前节点N1,执行上一步计算。此时以节点25作为当前节点N1所对应的单元,与ES1中的单元相比较,由于已经将单元13从其中删除,故能得到唯一的所属单元22,再将其从ES1中删除。将单元22中的节点同轮廓节点比较,发现除去初始节点25之后,还有两个节点24和35在S3中。此时需要判断24与35那个节点是这个单元所唯一具有的节点,将其与S1相比较,得到节点24是此单元所唯一具有的节点,即节点N3=24,此时得到终止节点N2=35。将N3、N2依次加入S2中,此时S2为(14,25,24,35)。
将N2=35作为下一个起始节点N1,此时与N0不同,故继续执行上一步计算。直到最后N2=N0=14时计算结束。此时得到有序的轮廓节点集合LS为:(14,25,24,35,46,47,48,38,27,28,17,16,5,4,3,2,13,14),如图3所示的加粗曲线即为其完整闭合的轮廓曲线。
以上所述,仅为本发明较佳的具体实施方式,这些具体实施方式都是基于本发明整体构思下的不同实现方式,而且本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (1)
1.一种有序提取结构轮廓的方法,其特征在于,
第一步,读取文件,获取单元及节点信息:通过读取有限元前处理或后处理单元划分数据文件,从中获取需要进行轮廓提取部位所有单元的编号及与其相对应的节点序列中各节点的编号和几何信息;若节点序列中存在重复节点,删除多余的重复节点,保证节点列表中各节点仅出现一次;新建一个节点集合NS和一个单元集合ES,将所有需要的单元编号放入单元集合ES中,将单元所对应的节点列表中的节点放入节点集合NS中,并建立单元与其节点列表之间的对应关系;由于节点分属于多个不同的单元,在节点集合NS中会出现大量重复节点;
第二步,节点过滤,建立起始节点集合:在有限元分析的过程中,除去轮廓上的极少数节点之外,节点均是由两个或两个以上单元共用;而在二维平面分析中,由于出现的单元为四边形或三角形单元,因而在部件内部区域,都是由四个或者三个单元共用一个节点;根据这个判断理论,通过对节点集合NS中各节点重复出现的次数进行判断,过滤掉一些内部节点,方便实现轮廓的生成;进行过滤判断的准则为节点的重复次数;建立节点集合S3和S1用于分别存储重复出现次数小于等于3次的节点和仅重复出现一次的节点编号;对NS中的节点进行过滤判断,将其中重复出现次数小于等于3次的节点编号放入集合S3中,将仅重复出现1次的节点放入节点集合S1中,集合S1中的节点必然位于轮廓上;
第三步,合理选取轮廓起始节点N0:为了得到完整而有序的轮廓节点顺序,需要在节点编号集合S3的基础上,对其进行有效的取舍,生成一条完整的轮廓曲线;首先将生成轮廓边界上的单元集合,将所指定区域的单元所对应的节点列表同集合S3作重复性对比,若某个单元的节点列表中重复的节点数量至少为2,将其单元编号放入一个有效单元集合ES1中;从S3中选取一个节点作为轮廓曲线起始节点N0,选择的规则为N0在集合S3中重复的次数为2次;同时令当前节点N1与起始节点N0相同,建立集合LS用于存储有序的轮廓节点,并将N1加入到有序轮廓节点集合LS中;
第四步,确定当前单元和下一轮廓节点,进行循环求解有序轮廓节点:通过与新形成的单元集合ES1进行比对,若N1从属于两个不同单元则随机选取一个单元作为当前单元,若仅属于一个单元则令此单元为当前单元,同时将此单元从单元集合ES1中删除;将当前单元所包含的节点集合与集合S3进行节点重复性比对,在排除当前轮廓节点之后,得到一个重复节点集合,并将此集合中所有的节点从集合S3中删除;若此时此重复节点集合中仅余一个节点,则令此节点为结束节点N2,将N2按顺序加入轮廓节点集合LS中;若还有两个节点,则表明此单元中有一个节点仅属于此单元且此节点属于集合S1,通过与其对比判断可得到此单元在轮廓上的中间过渡节点N3和结束节点N2,并将N3从集合S1中删除,将N3和N2依次加入有序轮廓节点集合LS中;
第五步:判断节点N2的位置:将此时得到的初始节点集合N2与原始节点N0比较;若N2与N0相同,则表明此时形成的轮廓曲线已经首尾相接,形成一条完整闭合的轮廓曲线,此时程序终止;若不同,则将N2作为下一个当前节点N1,继续执行第四步;进行反复循环,直到回到初始节点N0为止,得到有序轮廓节点集合LS。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310212776.5A CN103268384B (zh) | 2013-06-01 | 2013-06-01 | 一种有序提取结构轮廓的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310212776.5A CN103268384B (zh) | 2013-06-01 | 2013-06-01 | 一种有序提取结构轮廓的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103268384A CN103268384A (zh) | 2013-08-28 |
CN103268384B true CN103268384B (zh) | 2016-02-17 |
Family
ID=49012012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310212776.5A Active CN103268384B (zh) | 2013-06-01 | 2013-06-01 | 一种有序提取结构轮廓的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103268384B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530639B (zh) * | 2013-10-30 | 2017-10-31 | 湖南轻创科技有限公司 | 一种图像轮廓有序点集提取方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567023A (zh) * | 2009-06-04 | 2009-10-28 | 上海轮胎橡胶(集团)股份有限公司轮胎研究所 | 材料轮廓节点编号提取方法 |
CN102779278A (zh) * | 2012-07-04 | 2012-11-14 | Tcl集团股份有限公司 | 轮廓提取方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006011996A (ja) * | 2004-06-29 | 2006-01-12 | Matsushita Electric Ind Co Ltd | オブジェクト輪郭抽出方法およびオブジェクト輪郭抽出装置 |
-
2013
- 2013-06-01 CN CN201310212776.5A patent/CN103268384B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567023A (zh) * | 2009-06-04 | 2009-10-28 | 上海轮胎橡胶(集团)股份有限公司轮胎研究所 | 材料轮廓节点编号提取方法 |
CN102779278A (zh) * | 2012-07-04 | 2012-11-14 | Tcl集团股份有限公司 | 轮廓提取方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103268384A (zh) | 2013-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104574282A (zh) | 点云噪声点去除系统及方法 | |
CN104504154A (zh) | 一种数据聚合查询的方法及装置 | |
CN105589908A (zh) | 用于事务集合的关联规则计算方法 | |
CN104933528A (zh) | 一种基于稀疏矩阵技术快速形成电力系统潮流计算中雅可比矩阵的方法 | |
CN103268384B (zh) | 一种有序提取结构轮廓的方法 | |
CN104679934A (zh) | 三连杆式并联结构机器人正解确定方法 | |
CN107038260B (zh) | 一种可保持titan实时数据一致性的高效并行加载方法 | |
CN105183824A (zh) | 数据整合方法及装置 | |
CN106407233A (zh) | 一种数据处理方法和设备 | |
CN108549688B (zh) | 一种数据操作的优化方法、装置、设备和存储介质 | |
CN112527836B (zh) | 一种基于t-box平台的大数据查询方法 | |
CN105354422A (zh) | 一种基于对称稀疏矩阵技术快速求取极坐标牛顿-拉夫逊法潮流的方法 | |
CN109165217A (zh) | 一种时序数据的高效存储方法 | |
CN104731716A (zh) | 一种数据存储方法 | |
CN105045767A (zh) | 一种快速存贮及读取电力系统稀疏矩阵数据的方法 | |
CN105515818B (zh) | 一种网络拓扑布局中拆分环状结构的方法及系统 | |
CN104516995A (zh) | 网络流图缩减方法和装置 | |
US20150186550A1 (en) | Append-Only B-Tree Cursor | |
CN103684942B (zh) | 一种拓扑网络的两级分块方法 | |
CN112579835A (zh) | 一种子图匹配方法及系统、电子设备、存储介质 | |
CN106339413A (zh) | 一种基于高维数据过滤器的近似成员查询方法 | |
CN102306187A (zh) | 二维表hash排序方法 | |
KR100993297B1 (ko) | Catia를 이용한 패널 코드 전처리 방법 | |
CN104021169A (zh) | 一种基于SDD-1算法的Hive连接查询方法 | |
CN105354172B (zh) | 一种基于改进邻接矩阵的稀疏方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |