OpenCascade HLR for Pipe Model

eryar@163.com

摘要Abstract:在工厂辅助设计(Plant Design)或船舶辅助设计(Ship Design)等CAD设计软件中建完模型后都会出安装图或制作图,这也是这类辅助设计软件的最终的一个输出,还有再就是输出材料数据用来对物资进行管理。OpenCascade提供的Hidden Line Removal算法可以对模型进行隐藏线消除,此功能可用来生成制作图和安装图。本文通过实例演示了HLR算法的效果。

关键字Key Words:OpenCascade, HLR, Hidden Line Removal,Pipe Model, Plant Design CAD, Ship Design CAD,

一、引言 Introduction

OpenCascade的造型算法中有HLR(Hidden Line Removal)可用来去除在某个方向上投影生成的隐藏的线。这个功能实现了工业设计CAD中生成安装图或制作图时需要去掉隐藏线的需求。对HLR算法感兴趣的读者可以结合OpenCascade的源程序来对其实现进行研究。

在工厂设计系统(PDMS)或造船生产设计系统(Marine Design)中都要生成安装图或零件制作图,这些图纸都是根据模型自动生成的。生成之后需要消隐和标注,其中标注的内容有管路号、管零件号、尺寸、标高等等。将三维模型沿一个方向投影后去除隐藏线的算法可用来生成二维的安装图或零件制作图纸。

下面通过具体实例来演示OpenCascade中的HLR算法。

二、程序演示 Program Demo

在工厂设计和船舶设计系统中都有对管路的建模和出图,下面将从ModelDataExchange中导出的管路模型在OpenCascade中进行HLR看看从三维投影到二维的效果。

Figure 2.1 HLR with Hidden Line in Blue

Figure 2.2 HLR for Valves

图2.2中的蓝色部分的线是被挡住的线,可以去除。

Figure 2.3 Top Projection HLR

Figure 2.4 Top Projection without Hidden Line

Figure 2.5 Top Projection in Single Line

Figure 2.6 Projection in arbitrary direction

Figure 2.7 Projection in arbitrary direction

上面的程序演示中左边的3D视口中显示的为管路的三维模型,2D视口以二维数据显示了投影后得到的图形。转换为二维图形后,数据可以转换到常见的二维图纸格式来保存,如保存为DXF、DWG等格式。

三、结论 Conclusion

OpenCascade的HLR算法可将三维模型转换为二维图形,这个功能可用来自动生成CAD软件的零件制作图和安装图。从上图所示的效果来看,消隐效果还不错,速度还比较快。就是单线消隐的不是很满意,如果要对管子对进单线显示,还需要再做处理。

可以看出OpenCascade的功能还是很强大,可以用OpenCascade来造型、建模、出图,基本可以用来开发一个CAD的软件。

PDF Version: HLR for Pipe Model

OpenCascade HLR for Pipe Model的更多相关文章

  1. OpenCASCADE Hidden Line Removal

    OpenCASCADE Hidden Line Removal eryar@163.com Abstract. To provide the precision required in industr ...

  2. OpenCASCADE AIS Manipulator

    OpenCASCADE AIS Manipulator eryar@163.com Abstract. OpenCASCADE7.1.0 introduces new built-in interac ...

  3. Tcl Tk Introduction

    Tcl Tk Introduction eryar@163.com 摘要Abstract:Tcl/Tck脚本可以很容易实现用户自定义的命令,方便的创建图形化的用户界面GUI,所以Tcl和Tk的应用领域 ...

  4. 使用Angular CLI从蓝本生成代码

    第一篇文章是: "使用angular cli生成angular5项目" : http://www.cnblogs.com/cgzl/p/8594571.html 这篇文章主要是讲生 ...

  5. TCP拥塞控制机制

     研究TCP的拥塞机制,不仅仅是想了解TCP如何的精巧,更多的是领悟其设计思想,即在一般情况下,我们该怎样处理问题.   一.拥塞的发生与其不可避免    拥塞发生的主要原因:在于网络能够提供的资源不 ...

  6. Spring Boot笔记一

    Spring Boot 入门 Spring Boot 简介 > 简化Spring应用开发的一个框架:> 整个Spring技术栈的一个大整合:> J2EE开发的一站式解决方案: 微服务 ...

  7. OpenCascade Ray Tracing Rendering

    OpenCascade Ray Tracing Rendering eryar@163.com 摘要Abstract:OpenCascade6.7.0中引入了光线跟踪算法的实现.使用光线跟踪算法可实现 ...

  8. OpenCASCADE Data Exchange - 3D PDF

    OpenCASCADE Data Exchange - 3D PDF eryar@163.com Abstract. Today most 3D engineering model data are ...

  9. OpenCASCADE Ring Type Spring Modeling

    OpenCASCADE Ring Type Spring Modeling eryar@163.com Abstract. The general method to directly create ...

随机推荐

  1. Linux:-bash: ***: command not found,系统很多命令都用不了

    系统:64位RHEL6 突然之间linux很多命令都用不了,均提示没有此命令. 这应该是系统环境变量出现了问题导致的. 出现这种可能性的原因有很多,大多数是因为,安装了新的软件要配置环境变量,但是没有 ...

  2. 基于VC的ACM音频编程接口压缩Wave音频(二)

    (二)获取CODECs 的 信 息  ACM 的API 函 数 定 义 在 头 文 件msacm.h 中, 除 此 之 外, 对ACM 编 程 还 必 须 包 含 头 文 件mmsystem.h,mm ...

  3. 解决hadoop启动后datanode无法启动问题

    hadoop部署完成后datanode无法启动问题解决 1.检查是否有遗留的hadoop进程还在运行,如果有的话,先stop-all.sh或kill杀掉: 2.在master节点上,删除/tmp/ha ...

  4. go程序注册为windows服务

    cmd下运行:nssm install 服务名 go打包好的exe文件 nssm下载地址:http://nssm.cc/,将下载好nssm.exe放到/windows/system32文件夹下

  5. 微软Connect教程系列--自动生成增删改查页面工具介绍(二)

    本章课程描述了vs2015的三个特点,其中主要将描述在vs2015下面,使用命令自动生成增删改查界面,具体如下: 1.web.config文件不在存在,用config.json替代,以适应支撑vs的插 ...

  6. Web服务器常用设置

    1.Tomcat浏览目录 找到安装目录下的文件/conf/web.xml,  找到以下配置节,将parame-value设置为true即可 <init-param>             ...

  7. 不写1行代码,在Mac上体验ASP.NET 5的最简单方法

    昨天微软发布了ASP.NET 5 beta2(详见ASP.NET 5 Beta2 发布),对ASP.NET 5的好奇心又被激发了. 今天下午在Mac OS X上体验了一下ASP.NET 5,而且借助Y ...

  8. 可在广域网部署运行的QQ高仿版 -- GG叽叽V2.4,增加远程协助、桌面共享功能(源码)

    QQ的远程协助.或者说桌面共享是一个非常实用的功能,所以,2.4版本的GG复制了它,而且,GG增强了桌面共享的功能,它可以允许指定要共享桌面的区域,这样,对方就只能看到指定区域的桌面,这对节省流量会非 ...

  9. [.net 面向对象程序设计进阶] (8) 托管与非托管

    本节导读:虽然在.NET编程过程中,绝大多数内存垃圾回收由CLR(公共语言运行时)自动回收,但也有很多需要我们编码回收.掌握托管与非托管的基本知识,可以有效避免某些情况下导致的程序异常. 1.什么是托 ...

  10. 如何让Hadoop读取以gz结尾的文本格式的文件

    背景: 搜索引擎在build全量时,会产生数G的xml的中间文件,我需要去查询这些中间文件中,是否有某个特殊的字符.xml文件有很多,每个都有几百M,存储在hdfs上,而且是以gz结尾的文本格式的文件 ...