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. Integrate non-OSGi Dependencies

    Consider a scenario where you need to use a non-OSGi jar in your OSGi project. Most libraries are no ...

  2. java解析json

    1:下载另外一个Java的小包就可以了: http://www.JSON.org/java/json_simple.zip 里面有源码和文档例题和编程的lib包:编程只需要json_simple.ja ...

  3. 基于Linux的WebSphere性能调优与故障诊断

    一.关于was数据源等问题的配置 (1)关于was数据源连接池的最大.最小配置多大合适?怎样去计算? (2)关于JVM的配置,64位系统,64位WAS,最值小和最大配置多大最优?怎样去计算? (3)应 ...

  4. Runtime 动态加载方法

    动态加载 #import"ViewController.h" #import"Person.h" @interfaceViewController() @end ...

  5. pivotx的entry和page内容里的日期格式修改

    欢迎转载opendevkit文章, 文章原始地址: http://www.opendevkit.com/?e=63 1. 文章发布时间的确定 如果服务器空间在国内还好说, 如果在国外的话, 文章编辑时 ...

  6. cuda计算的分块

    gpu的架构分为streaming multiprocessors 每个streaming multiprocessors(SM)又能分步骤执行很多threads,单个SM内部能同时执行的thread ...

  7. nginx.conf各参数的意义

    搬运+翻译至 http://qiita.com/syou007/items/3e2d410bbe65a364b603 /etc/nginx/nginx.conf 记录各个参数的意义 user user ...

  8. highcharts 不显示X轴 Y轴 刻度

    xAxis: { tickWidth:0,        //设置刻度标签宽度 lineColor:'#ffffff',//设置坐标颜色 lineWidth:0,        //设置坐标宽度 la ...

  9. UIAlertController 使用

    iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸 ...

  10. [leetcode 27]Implement strStr()

    1 题目: Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if ...