zoukankan      html  css  js  c++  java
  • OpenCascade HLR for Pipe Model

    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看看从三维投影到二维的效果。 

    wps_clip_image-12466

    Figure 2.1 HLR with Hidden Line in Blue 

    wps_clip_image-22712

    Figure 2.2 HLR for Valves 

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

    wps_clip_image-26475

    Figure 2.3 Top Projection HLR  

    wps_clip_image-1394

    Figure 2.4 Top Projection without Hidden Line 

    wps_clip_image-29096

    Figure 2.5 Top Projection in Single Line 

    wps_clip_image-11283

    Figure 2.6 Projection in arbitrary direction 

    wps_clip_image-18907

    Figure 2.7 Projection in arbitrary direction 

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

    三、结论 Conclusion

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

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

    PDF Version: HLR for Pipe Model

  • 相关阅读:
    色彩空间RGB/CMYK/HSL/HSB/HSV/Lab/YUV基础理论及转换方法:RGB与YUV
    三色视者与四色视者身后的理论基础:色彩原理
    再谈设计原则—7种设计原则学习总结笔记
    sass安装:webpack sass编译失败,node-sass安装失败的终极解决方
    再谈Java数据结构—分析底层实现与应用注意事项
    再谈js对象数据结构底层实现原理-object array map set
    浮点数精度问题透析:小数计算不准确+浮点数精度丢失根源
    再谈编程范式—程序语言背后的思想
    再谈循环&迭代&回溯&递归&递推这些基本概念
    再谈MV*(MVVM MVP MVC)模式的设计原理—封装与解耦
  • 原文地址:https://www.cnblogs.com/opencascade/p/3531809.html
Copyright © 2011-2022 走看看