• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            eryar

            PipeCAD - Plant Piping Design Software.
            RvmTranslator - Translate AVEVA RVM to OBJ, glTF, etc.
            posts - 603, comments - 590, trackbacks - 0, articles - 0

            OpenCASCADE構(gòu)造一柱曲面

            Posted on 2017-12-27 20:43 eryar 閱讀(2732) 評論(0)  編輯 收藏 引用 所屬分類: 2.OpenCASCADE

            OpenCASCADE構(gòu)造一柱曲面

            eryar@163.com

            Abstract. 本文主要介紹常見的曲面如一般柱面(拉伸曲面)、旋轉(zhuǎn)面在OpenCASCADE中的構(gòu)造方法,由此思考一般放樣算法的實現(xiàn)。

            Key Words. Common Surface, Extrusion, Revolution

            1.Introduction

            實體Solid就是由面組成,面中包含幾何曲面,常見的幾何曲面有平面,柱面,旋轉(zhuǎn)面等。對幾何曲面有一些功能要求:如計算指定參數(shù)u,v處的點,切線等,即求指定參數(shù)u,v處的0階導(dǎo)數(shù)、1階導(dǎo)數(shù),N階導(dǎo)數(shù);獲取參數(shù)空間等。

            wps_clip_image-5601

            圖1. 放樣曲面

            由類圖可以看出,放樣曲面Swept Surface有兩種形式:Geom_SurfaceOfLinearExtrusion和Geom_SurfaceOfRevolution。一種是線性拉伸成形的曲面,一種是旋轉(zhuǎn)成形的曲面。

            wps_clip_image-11911

            圖2. 拉伸曲面

            如上圖1所示,可以將一條曲線沿一方向拉伸一定的距離來構(gòu)造曲面,被拉伸的曲線稱為準(zhǔn)線。

            wps_clip_image-28612

            圖3. 旋轉(zhuǎn)曲面

            如上圖2所示,將一條曲線繞指定的軸線旋轉(zhuǎn)一定的角度得到一個旋轉(zhuǎn)面。

            本文結(jié)合OpenCASCADE中源碼來說明拉伸曲面及旋轉(zhuǎn)曲面原理。

            2.The Surface of Extrusion

            OpenCASCADE中線性拉伸曲面的類名為:Geom_SurfaceOfLinearExtrusion,其參數(shù)方程如下:

            wps_clip_image-363

            其中參數(shù)u的定義域決定準(zhǔn)線C(u)的參數(shù)范圍;參數(shù)v的取值范圍是無窮的。即拉伸曲面是一個很長的柱面,如果在參數(shù)v上不加限制的話。其中一些計算功能代碼如下所示:

            //! Shift the point along direction to the given distance (theShift)
            void Shift(const Standard_Real theShift, gp_Pnt& thePoint) const
            {
            thePoint.ChangeCoord() += myDirection.XYZ() * theShift;
            }
            void GeomEvaluator_SurfaceOfExtrusion::D0(
            const Standard_Real theU, const Standard_Real theV,
            gp_Pnt& theValue) const
            {
            if (!myBaseAdaptor.IsNull())
            myBaseAdaptor->D0(theU, theValue);
            else
            myBaseCurve->D0(theU, theValue);
            Shift(theV, theValue);
            }

            從計算曲面上在指定參數(shù)u,v處的點的函數(shù)D0()可以看出,先根據(jù)參數(shù)u計算出準(zhǔn)線上的點,再將點沿拉伸方向移動拉伸向量模的距離。

            wps_clip_image-10127

            圖4. 拉伸多邊形

            如上圖4所示為將多邊形準(zhǔn)線沿著Z方向拉伸得到一個拉伸曲面。

            3.The Surface of Revolution

            OpenCASCADE中旋轉(zhuǎn)曲面的類名為:Geom_SurfaceOfRevolution,其參數(shù)方程如下:

            wps_clip_image-21064

            其中計算旋轉(zhuǎn)曲面上對應(yīng)參數(shù)u,v的點的代碼如下:

            void GeomEvaluator_SurfaceOfRevolution::D0(
            const Standard_Real theU, const Standard_Real theV,
            gp_Pnt& theValue) const
            {
            if (!myBaseAdaptor.IsNull())
            myBaseAdaptor->D0(theV, theValue);
            else
            myBaseCurve->D0(theV, theValue);
            gp_Trsf aRotation;
            aRotation.SetRotation(myRotAxis, theU);
            theValue.Transform(aRotation);
            }

            根據(jù)代碼可知,先根據(jù)參數(shù)v計算曲線上的點,再將點按指定的軸旋轉(zhuǎn)變換。

            wps_clip_image-12126

            圖5. 旋轉(zhuǎn)曲面

            如上圖5所示,將紅色母線繞Y軸旋轉(zhuǎn)90度得到的旋轉(zhuǎn)曲面。線性拉伸曲面和旋轉(zhuǎn)曲面都是特定條件下的放樣曲面。拉伸曲面為沿直線放樣得到的曲面,旋轉(zhuǎn)曲面是沿圓放樣得到的曲面。由此,可以思考一個問題,那就是如何將任意一個曲面沿任意路徑來放樣構(gòu)造曲面呢?

            wps_clip_image-8780

            圖6. 放樣曲面


            為了方便大家在移動端也能看到我的博文,現(xiàn)已注冊微信公眾號,歡迎大家掃描下方二維碼關(guān)注。
            Shing Liu(eryar@163.com)

             

            久久99精品九九九久久婷婷| 久久精品中文字幕第23页| 亚洲伊人久久综合中文成人网| 久久精品国产69国产精品亚洲| 国产成人综合久久久久久| 四虎久久影院| 久久AV高清无码| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 亚洲国产另类久久久精品黑人| 国产精品久久自在自线观看| 久久伊人影视| 久久r热这里有精品视频| 2021国产精品午夜久久| 99久久精品国产毛片| 亚洲色欲久久久综合网| 久久久久国产一区二区| 久久99精品国产| 亚洲国产精品无码久久一区二区 | 久久亚洲中文字幕精品一区四| 久久精品国产乱子伦| 亚洲国产香蕉人人爽成AV片久久| 2021久久精品国产99国产精品| 久久久久久精品免费看SSS| 精品久久久久久无码国产| 日韩一区二区久久久久久 | 久久国产香蕉一区精品| 亚洲国产精品一区二区久久| 久久精品国产亚洲AV嫖农村妇女| 亚洲中文字幕无码久久精品1| 亚洲欧美日韩久久精品| 亚洲美日韩Av中文字幕无码久久久妻妇| 亚洲国产精品久久久久婷婷软件| 久久午夜伦鲁片免费无码| 99精品国产99久久久久久97| 久久成人国产精品免费软件| 久久亚洲AV成人无码| 人妻无码中文久久久久专区| 九九精品99久久久香蕉| 狠狠色丁香久久综合五月| 亚洲午夜精品久久久久久人妖| 久久国产成人亚洲精品影院|