CN103853868B - 基于catia的等高线二维工程图出图方法 - Google Patents
基于catia的等高线二维工程图出图方法 Download PDFInfo
- Publication number
- CN103853868B CN103853868B CN201310288846.5A CN201310288846A CN103853868B CN 103853868 B CN103853868 B CN 103853868B CN 201310288846 A CN201310288846 A CN 201310288846A CN 103853868 B CN103853868 B CN 103853868B
- Authority
- CN
- China
- Prior art keywords
- polyline
- chain
- point
- node
- catia
- 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
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了基于CATIA的等高线二维工程图出图方法,包括以下步骤:S1.获取源数据;S2.创建多义线链集合;S3.优化多义线链集合;S4.使用优化后的多义线链集合输出等高线二维工程图等步骤。与现有技术相比,本发明所述基于CATIA的等高线二维工程图出图方法,采用线性链表对CATIA中的等高线数据进行重组和数据优化,实现了等高线二维工程出图的多义线链输出,解决了采用CATIA软件对地形等高线的设计中,等高线的二维工程出图得到的是一组离散的直线段,因此无法对整条等高线进行一次选中和编辑的问题。
Description
技术领域
本发明属于二维工程图出图模板设计领域,具体涉及基于CATIA的等高线二维工程图出图方法。
背景技术
CATIA作为一个全球领先的数字化设计软件平台,最早由加拿大魁北克水电公司将其引入水电工程的设计领域。随后,国内多家水电设计单位也陆续采用该软件平台来设计水电工程。经过多年应用实践,取得了水电工程三维可视化、快速建模、领域知识重用、协同设计等方面的成果,推进了行业的设计水平,提高了设计效率,但是,由于水电工程领域涉及专业众多,具有自身的复杂性,而且相对与CATIA软件而言,属于较新的应用领域,仍有些需要改进和提升的方面,其中,水电工程设计领域的一个重要数据――等高线的设计,目前一般是通过Z Level Map命令对地形Mesh数据进行操作获得,这种操作方便快捷,不足之处在于,得到的等高线数据为一组离散的直线段,设计人员无法对其中的某一条等高线进行一次选中和编辑,对后续的设计造成很大的不便。
发明内容
本发明的目的在于克服现有技术中的上述问题,提供一种可以生成连续等高线的基于CATIA的等高线二维工程图出图方法。
为解决上述技术问题,本发明采用以下技术方案:
基于CATIA的等高线二维工程图出图方法,包括以下步骤:
S1.获取源数据:遍历CATIA的三维等高线的后台数据(CATCldScan),从中获取模型对象的底层原始数据集,即有序点集;
S2.创建多义线链集合:具体包括以下步骤:
S21.读取一个有序点集;
S22.读取S21所述有序点集中的点,并将所读取的点的坐标作为节点数据保存于多义线节点对象中,如果节点是有序点集的第一个点则将所要创建的多义线链的头指针指向该点,并在该节点处设置NEXT指针,NEXT指针指向下一节点;如果节点是有序点集中的最后一个点,则不设置该点的NEXT指针;如果节点既不是有序点集中的第一个点也不是最后一个点,则在该节点处设置NEXT指针,NEXT指针指向下一节点;
S23.重复S22,直到遍历S21所述有序点集内的全部点数据,即得到对应S21所述有序点集的多义线链;
S24.重复S21至S23,直到遍历全部有序点集,得到对应全部有序点集的多义线链集合;
S3.优化多义线链集合:具体包括以下步骤:
S31.从多义线链集合中读取一条多义线链作为参考;
S32.从多义线链集合中读取另一条多义线链,判断两条多义线链是否有公共端点,有公共端点则连接两条多义线链,并以连接后的多义线链为参考继续进行判断,无公共端点则继续读取其他多义线链并进行判断;
S33.重复S32,直到对比完多义线链集合中所有多义线链,所得多义线链集合对应全部的等高线数据,且集合中的多义线链与等高线一一对应;
S4.输出多义线链集合:对优化后的多义线链集合中的每一条多义线链进行遍历读取,并进行绘制,得到全部等高线的二维工程图。
与现有技术相比,本发明所述基于CATIA的等高线二维工程图出图方法,采用线性链表对CATIA中的等高线数据进行重组和数据优化,实现了等高线二维工程出图的多义线链输出,解决了采用CATIA软件对地形等高线的设计中,等高线的二维工程出图得到的是一组离散的直线段,因此无法对整条等高线进行一次选中和编辑的问题。
附图说明
图1为本发明基于CATIA的等高线二维工程图出图方法实施例中CATCldScan与等高线的对应情况示意图;
图2为本发明基于CATIA的等高线二维工程图出图方法实施例中等高线的线性链表结构示意图;
图3为本发明基于CATIA的等高线二维工程图出图方法实施例中CATCldScan与多义线链的对应情况示意图;
图4为本发明基于CATIA的等高线二维工程图出图方法实施例中多义线链的连接示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本实施例中的基于CATIA的等高线二维工程图出图方法,具体包括以下步骤:
S1.获取源数据:
遍历CATIA的三维等高线的后台数据(CATCldScan),获取模型对象的底层原始数据集,即有序点集,具体操作如下:
S11.使用CATICLDGeom指针访问对象点云实体;
S12.从点云实体中获取CATCldBody;
S13.使用CATCldBody的GetAllCells方法获取全部Cell,并存入CATLISTP中;
CATCldScan中保存的数据为有序点云,即若干条相邻直线段端点的集合,集合中点的个数与顺序由于模型的不同,以及CATIA多重机制的影响并不统一,但集合中的点均为同一平面,即同一等高线上的点,如图1所示。
S2.创建多义线链集合:
S21.读取CATLISTP中的一个Cell,并获取其CATCldScan,从中获得的点的坐标集合作为一个有序点集;
S22.读取S21所述有序点集中的点,并将所读取的点的坐标作为节点数据保存于多义线节点对象中,如果节点是有序点集的第一个点则将所要创建多义线链的头指针指向该点,并在该节点处设置NEXT指针,NEXT指针指向下一节点,如图2所示;如果节点是有序点集中的最后一个点,则不设置该点的NEXT指针;如果节点既不是有序点集中的第一个点也不是最后一个点,则在该节点处设置NEXT指针,NEXT指针指向下一节点;
S23.重复S22,直到遍历S21所述有序点集中的全部点,得到一条对应S21所述有序点集的多义线链,如图3所示,将创建完成的多义线链保存到多义线链集合中;
S24.重复S21到S23,直到遍历全部CATLISTP中的所有Cell,最终得到多义线链集合。
本实施例使用线性链表结构对等高线数据进行重新封装,因为等高线数据为线性结构,使用线性链表实现简单高效;且线性链表在动态添加、删除、修改等方面灵活性,为后续多义线链的优化提高便利。
S3.优化多义线链集合:虽然从CATCldScan获取数据大大减少了对源数据的整理工作,同时保证了一条多义线链至少为一条等高线的子集,但因为CATCldScan结构中有数据冗余,而且建立的多义线链集合亦有数据冗余,因此需要优化多义线链集合,优化步骤如下:
S31.从多义线链集合中读取一条多义线链作为参考;
S32.从多义线链集合中读取另一条多义线链,并判断该多义线链与参考多义线链是否具有公共端点:若没有公共端点则继续读取下一条多义线链并判断;若有公共端点则连接两条多义线链,以图4所示的两条多义线链P和K为例说明两条多义线链的连接方式:
1)如果P1=K1,即两条多义线链的起点一致,则将多义线链K反转,并将P1和K1归为一点,多义线链K的终点成为连接后的多义线链P′的起点,其它节点依次后移;
2)如果P1=Km,即一条多义线链的起点与另一条多义线的终点一致,将P1和Km归为一点,多义线链K的起点为连接后的多义线链P′的起点,其它节点依次后移;
3)如果Pn=K1,即一条多义线链的终点与另一条多义线链的起点一致,将Pn和K1归为一点,多义线链P的起点为连接后的多义线链P′的起点,其它节点依次后移;
4)如果Pn=Km,即一条多义线链的终点与另一条多义线链的终点一致,将多义线链K反转,并将Pn和Km归为一点,多义线链P的起点为连接后的多义线链P′的起点,其它节点依次后移。
在多义线链连接中,约定首个多义线链为结果链,即如果与其进行端点对比的多义线链连接到首个多义线链上,连接的结果成为新的首个多义线链。
S33.重复S32,直到对比完多义线链集合中所有多义线链,所得的多义线链集合对应全部的等高线数据,且集合中的多义线链与等高线一一对应。
S4.输出多义线链集合:对优化后的多义线链集合中的每一条多义线链进行遍历读取,并进行绘制,得到全部等高线的二维工程图。
实践证明,通过本发明所述基于CATIA的等高线二维工程出图方法所得等高线可一次选中,进而进行相应的编辑,避免了通过CATIA本身所带出图模板所得等高线一次只能选中某一条等高线的一个小片段,难以进行后续编辑的问题。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (2)
1.基于CATIA的等高线二维工程图出图方法,其特征在于:包括以下步骤:
S1.获取源数据:遍历CATIA的三维等高线的后台数据:CATCldScan,从中获取模型对象的底层原始数据集,即有序点集;
S2.创建多义线链集合:具体包括以下步骤:
S21.读取一个有序点集;
S22.读取S21所述有序点集中的点,并将所读取的点的坐标作为节点数据保存于多义线节点对象中,如果节点是有序点集的第一个点则将所要创建的多义线链的头指针指向该点,并在该节点处设置NEXT指针,NEXT指针指向下一节点;如果节点是有序点集中的最后一个点,则不设置该点的NEXT指针;如果节点既不是有序点集中的第一个点也不是最后一个点,则在该节点处设置NEXT指针,NEXT指针指向下一节点;
S23.重复S22,直到遍历S21所述有序点集内的全部点数据,得到对应S21所述有序点集的多义线链;
S24.重复S21至S23,直到遍历全部有序点集,得到对应全部有序点集的多义线链集合;
S3.优化多义线链集合:具体包括以下步骤:
S31.从多义线链集合中读取一条多义线链作为参考;
S32.从多义线链集合中读取另一条多义线链,判断两条多义线链是否有公共端点,有公共端点则连接两条多义线链,并以连接后的多义线链为参考继续进行判断,无公共端点则继续读取其他多义线链并进行判断;
S33.重复S32,直到对比完多义线链集合中所有多义线链;
S4.输出多义线链集合:对优化后的多义线链集合中的每一条多义线链进行遍历读取,并进行绘制,得到全部等高线的二维工程图。
2.根据权利要求1所述的基于CATIA的等高线二维工程图出图方法,其特征在于:S32中两条多义线链的连接方式包括以下几种:
1)如果两条多义线链的起点一致,将其中的一条多义线链反转,并将两条多义线链的起点归为一点,被反转的多义线链的终点成为连接后的多义线链的起点,其它节点依次后移;
2)如果一条多义线链的起点与另一条多义线的终点一致,将该多义线链的起点与另一条多义线链的终点归为一点,所述另一条多义线链的起点为连接后的多义线链的起点,其它节点依次后移;
3)如果一条多义线链的终点与另一条多义线链的起点一致,将该多义线链的终点与另一条多义线链的起点归为一点,该多义线链的起点为连接后的多义线链的起点,其它节点依次后移;
4)如果一条多义线链的终点与另一条多义线链的终点一致,将其中的一条多义线链反转,并将两条多义线链的终点归为一点,未被反转的多义线链的起点为连接后多义线链的起点,其它节点依次后移。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310288846.5A CN103853868B (zh) | 2013-07-10 | 2013-07-10 | 基于catia的等高线二维工程图出图方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310288846.5A CN103853868B (zh) | 2013-07-10 | 2013-07-10 | 基于catia的等高线二维工程图出图方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103853868A CN103853868A (zh) | 2014-06-11 |
CN103853868B true CN103853868B (zh) | 2016-10-26 |
Family
ID=50861521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310288846.5A Active CN103853868B (zh) | 2013-07-10 | 2013-07-10 | 基于catia的等高线二维工程图出图方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103853868B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111652957B (zh) * | 2020-06-03 | 2023-04-11 | 中铁二院工程集团有限责任公司 | 一种线性工程设计图生成方法 |
CN114494520B (zh) * | 2022-04-06 | 2022-08-30 | 西安瀚博电子科技有限公司 | 基于旋转因子的自适应等高线提取方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364172A (zh) * | 2007-08-08 | 2009-02-11 | 马赢 | 一种在Catia V5软件中自动生成工程图框的实现方法 |
CN102073768A (zh) * | 2011-01-13 | 2011-05-25 | 中国水电顾问集团成都勘测设计研究院 | 拱坝浇筑块自动出图装置及出图方法 |
-
2013
- 2013-07-10 CN CN201310288846.5A patent/CN103853868B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364172A (zh) * | 2007-08-08 | 2009-02-11 | 马赢 | 一种在Catia V5软件中自动生成工程图框的实现方法 |
CN102073768A (zh) * | 2011-01-13 | 2011-05-25 | 中国水电顾问集团成都勘测设计研究院 | 拱坝浇筑块自动出图装置及出图方法 |
Non-Patent Citations (1)
Title |
---|
基于CATIA的岸边式水电站厂房三维设计;王小平等;《人民黄河》;20110531;第33卷(第8期);第145-146页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103853868A (zh) | 2014-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102609982B (zh) | 空间地质数据非结构化模式的拓扑发现方法 | |
Ibanez et al. | Multiobjective evolutionary algorithm for long-term planning of the national energy and transportation systems | |
CN104679954A (zh) | 将bim模型轻量化的方法和系统 | |
CN103178516A (zh) | 基于节点合并法网络动态拓扑分析方法 | |
CN111159808A (zh) | 基于Revit与Dynamo的矿山法隧道参数化建模方法及装置 | |
CN103106306B (zh) | 一种冷却塔配水系统建模方法 | |
CN102737114A (zh) | 基于MapReduce的大图上距离连接查询方法 | |
CN102903139B (zh) | 一种等值线加速渲染方法 | |
CN106503872A (zh) | 一种基于基础业务活动集的业务流程系统构建方法 | |
CN103853868B (zh) | 基于catia的等高线二维工程图出图方法 | |
CN103426126A (zh) | 一种区域电网馈线组分段联络拓扑关系的生成方法 | |
CN104102690A (zh) | 一种基于存储结构的遥测数据处理方法 | |
CN108629836A (zh) | 一种将CATIA BIM实体模型转换为SuperMap GIS标准化模型的方法 | |
CN104765910A (zh) | 一种多回分支的选线、排位交互、场景建模系统及方法 | |
CN104143214A (zh) | 一种电子地图多边形三角剖分方法与装置 | |
CN105373661A (zh) | 一种基于动态规划算法的电网专题图布局方法 | |
CN112463739A (zh) | 基于海洋模式roms的数据处理方法及系统 | |
CN201820263U (zh) | 一种基于拓扑关系的野外管线数据采集及更新系统 | |
CN103207936B (zh) | 一种基于空间缩减策略的序列采样算法 | |
CN109783965B (zh) | 一种结构网格自动分块加密方法 | |
CN104484512A (zh) | Pdms中基于autocad的图案的生成方法 | |
CN103021257A (zh) | 电子地图的生成方法及装置 | |
CN107644139B (zh) | 一种从cad模型到cae模型的属性映射方法 | |
CN102446164A (zh) | 一种报表公式的解析方法、装置及业务系统 | |
CN104268270A (zh) | 基于MapReduce挖掘海量社交网络数据中三角形的方法 |
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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Zhao Li Inventor after: Zhou Yinghua Inventor after: Zhang Yuan Inventor before: Zhao Li Inventor before: Zhang Yuan |
|
CB03 | Change of inventor or designer information |